用c语言写个游戏装备管理系统
时间: 2024-03-10 09:50:23 浏览: 30
好的,游戏装备管理系统可以分为三个模块:物品管理、装备管理和玩家管理。下面是一个简单的C语言实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_ITEMS 1000
#define MAX_EQUIPMENTS 100
#define MAX_PLAYERS 10
// 物品结构体
typedef struct Item {
int id; // 物品ID
char name[20]; // 物品名称
int price; // 物品价格
} Item;
// 装备结构体
typedef struct Equipment {
int id; // 装备ID
char name[20]; // 装备名称
int level; // 装备等级
int price; // 装备价格
int attack; // 装备攻击力
int defense; // 装备防御力
} Equipment;
// 玩家结构体
typedef struct Player {
int id; // 玩家ID
char name[20]; // 玩家名称
int gold; // 玩家金币
int item_num; // 玩家拥有的物品数量
Item items[MAX_ITEMS]; // 玩家拥有的物品列表
int equip_num; // 玩家装备的数量
Equipment equipments[MAX_EQUIPMENTS]; // 玩家装备的列表
} Player;
// 物品列表
Item item_list[MAX_ITEMS];
int item_num = 0;
// 装备列表
Equipment equipment_list[MAX_EQUIPMENTS];
int equipment_num = 0;
// 玩家列表
Player player_list[MAX_PLAYERS];
int player_num = 0;
// 添加物品
void add_item() {
if (item_num >= MAX_ITEMS) {
printf("物品数量已达上限,无法添加!\n");
return;
}
Item item;
printf("请输入物品ID:");
scanf("%d", &item.id);
printf("请输入物品名称:");
scanf("%s", item.name);
printf("请输入物品价格:");
scanf("%d", &item.price);
item_list[item_num++] = item;
printf("添加成功!\n");
}
// 删除物品
void del_item() {
int id;
printf("请输入要删除的物品ID:");
scanf("%d", &id);
int i;
for (i = 0; i < item_num; i++) {
if (item_list[i].id == id) {
// 删除物品
int j;
for (j = i; j < item_num - 1; j++) {
item_list[j] = item_list[j + 1];
}
item_num--;
printf("删除成功!\n");
return;
}
}
printf("找不到要删除的物品!\n");
}
// 添加装备
void add_equipment() {
if (equipment_num >= MAX_EQUIPMENTS) {
printf("装备数量已达上限,无法添加!\n");
return;
}
Equipment equipment;
printf("请输入装备ID:");
scanf("%d", &equipment.id);
printf("请输入装备名称:");
scanf("%s", equipment.name);
printf("请输入装备等级:");
scanf("%d", &equipment.level);
printf("请输入装备价格:");
scanf("%d", &equipment.price);
printf("请输入装备攻击力:");
scanf("%d", &equipment.attack);
printf("请输入装备防御力:");
scanf("%d", &equipment.defense);
equipment_list[equipment_num++] = equipment;
printf("添加成功!\n");
}
// 删除装备
void del_equipment() {
int id;
printf("请输入要删除的装备ID:");
scanf("%d", &id);
int i;
for (i = 0; i < equipment_num; i++) {
if (equipment_list[i].id == id) {
// 删除装备
int j;
for (j = i; j < equipment_num - 1; j++) {
equipment_list[j] = equipment_list[j + 1];
}
equipment_num--;
printf("删除成功!\n");
return;
}
}
printf("找不到要删除的装备!\n");
}
// 添加玩家
void add_player() {
if (player_num >= MAX_PLAYERS) {
printf("玩家数量已达上限,无法添加!\n");
return;
}
Player player;
printf("请输入玩家ID:");
scanf("%d", &player.id);
printf("请输入玩家名称:");
scanf("%s", player.name);
printf("请输入玩家金币:");
scanf("%d", &player.gold);
player.item_num = 0;
player.equip_num = 0;
player_list[player_num++] = player;
printf("添加成功!\n");
}
// 删除玩家
void del_player() {
int id;
printf("请输入要删除的玩家ID:");
scanf("%d", &id);
int i;
for (i = 0; i < player_num; i++) {
if (player_list[i].id == id) {
// 删除玩家
int j;
for (j = i; j < player_num - 1; j++) {
player_list[j] = player_list[j + 1];
}
player_num--;
printf("删除成功!\n");
return;
}
}
printf("找不到要删除的玩家!\n");
}
// 显示物品列表
void show_item_list() {
printf("物品ID\t物品名称\t物品价格\n");
int i;
for (i = 0; i < item_num; i++) {
printf("%d\t%s\t%d\n", item_list[i].id, item_list[i].name, item_list[i].price);
}
}
// 显示装备列表
void show_equipment_list() {
printf("装备ID\t装备名称\t装备等级\t装备价格\t装备攻击力\t装备防御力\n");
int i;
for (i = 0; i < equipment_num; i++) {
printf("%d\t%s\t%d\t%d\t%d\t%d\n", equipment_list[i].id, equipment_list[i].name, equipment_list[i].level, equipment_list[i].price, equipment_list[i].attack, equipment_list[i].defense);
}
}
// 显示玩家列表
void show_player_list() {
printf("玩家ID\t玩家名称\t玩家金币\t拥有物品数\t拥有装备数\n");
int i;
for (i = 0; i < player_num; i++) {
printf("%d\t%s\t%d\t%d\t%d\n", player_list[i].id, player_list[i].name, player_list[i].gold, player_list[i].item_num, player_list[i].equip_num);
}
}
int main() {
int choice;
do {
printf("\n==========游戏装备管理系统==========\n");
printf("1. 物品管理\n");
printf("2. 装备管理\n");
printf("3. 玩家管理\n");
printf("0. 退出系统\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1: // 物品管理
printf("\n==========物品管理==========\n");
printf("1. 添加物品\n");
printf("2. 删除物品\n");
printf("3. 显示物品列表\n");
printf("0. 返回上级菜单\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1: // 添加物品
add_item();
break;
case 2: // 删除物品
del_item();
break;
case 3: // 显示物品列表
show_item_list();
break;
case 0: // 返回上级菜单
break;
default:
printf("无效的操作!\n");
break;
}
break;
case 2: // 装备管理
printf("\n==========装备管理==========\n");
printf("1. 添加装备\n");
printf("2. 删除装备\n");
printf("3. 显示装备列表\n");
printf("0. 返回上级菜单\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1: // 添加装备
add_equipment();
break;
case 2: // 删除装备
del_equipment();
break;
case 3: // 显示装备列表
show_equipment_list();
break;
case 0: // 返回上级菜单
break;
default:
printf("无效的操作!\n");
break;
}
break;
case 3: // 玩家管理
printf("\n==========玩家管理==========\n");
printf("1. 添加玩家\n");
printf("2. 删除玩家\n");
printf("3. 显示玩家列表\n");
printf("0. 返回上级菜单\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1: // 添加玩家
add_player();
break;
case 2: // 删除玩家
del_player();
break;
case 3: // 显示玩家列表
show_player_list();
break;
case 0: // 返回上级菜单
break;
default:
printf("无效的操作!\n");
break;
}
break;
case 0: // 退出系统
printf("\n感谢使用游戏装备管理系统!\n");
break;
default:
printf("无效的操作!\n");
break;
}
} while (choice != 0);
return 0;
}
```
以上是一个简单的游戏装备管理系统的C语言实现,仅供参考。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)