C语言王者农药[2023-03-30]

发布时间 2023-03-30 14:00:31作者: programwriter

C语言王者农药[2023-03-30]

程序设计题: 王者农药

【问题描述】

腾讯公司的《王者荣耀》风靡全国,在国外都有不少玩家,带给人很多乐趣,让不少人沉迷其中。《王者荣耀》中有上百位英雄,每位英雄都有自己的特点和个性。现在让我们有C语言来编写一个游戏,名字为《王者农药》。

【游戏规则】
《王者农药》有15位英雄,每位英雄拥有数量不同的3种招数,招数使用数量耗尽之后就不能再使用。
三种招数分别为:剪刀、石头、布;
招数相克关系:剪刀克布,布克石头,石头克剪刀;
15位英雄属性表及所有招数数量:

英雄 剪刀 石头
赵云 2 2 2
宫本武藏 4 1 1
2 3 1
白起 5 0 1
韩信 1 2 3
诸葛亮 2 1 3
刘邦 2 0 4
后羿 0 3 3
王昭君 1 1 4
妲己 4 1 1
安琪拉 1 4 1
貂蝉 3 2 1
露娜 1 3 2
不知火舞 4 2 0
蔡文姬 0 5 1

游戏开始时,由玩家选取三位己方英雄,对阵电脑随机选取的三位英雄,采取以下模式进行游戏:
第一步:对方在三位英雄中随机选取一位,随机出招(招数可使用数量不为0),对应可用招数数量减一;
第二步:我方选取一位英雄,英雄随机出招,对应可用招数数量减一。
第三步:如我方胜,我方胜利次数加1,否则对方胜利次数加1。
第四步:如果总次数<9则跳到第一步,否则本场游戏结束,跳到第五步。
第五步:统计我方和对方胜利场数。
【开发要求】
1、 将每场游戏敌我双方英雄出招情况记录在文件中;
2、 游戏开始前需要登录玩家,如无账号需先注册;
3、 对玩家胜利场数进行排行,可以查看所有玩家的排名;
4、 统计每位英雄的生路并进行排名;
选做要求:
对每次出招的时间进行限制,如果超过时间,则会导致我方随机出招。
【其它要求】
1, 变量、函数命名符合规范;
2. 注释详细;
3. 程序层次清晰,可读性强;
4. 界面美观,交互方便

【结构体定义】
可以采用类似如下结构体定义:

/*英雄信息结构体*/
typedef struct _tHero {
    char id[STR_LEN];   /*编号*/
    char name[STR_LEN]; /*名字*/
    int skill_1;        /*剪刀*/
    int skill_2;        /*石头*/
    int skill_3;        /*布*/
    int residue_1;      /*剪刀*/
    int residue_2;      /*石头*/
    int residue_3;      /*布*/
    int win;            /*赢的次数*/
    int lose;           /*输的次数*/
    int select;         /*是否被选*/
}Hero, * pHero;

【程序演示】
演示

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111