- #include <stdio.h>
- #include<stdlib.h>
- #define RED "\033[0;32;31m"
- #define GREEN "\033[0;32;32m"
- #define BLUE "\033[0;32;34m"
- #define BROWN "\033[0;33m"
- #define CYAN "\033[0;36m"
- #define PURPLE "\033[0;35m"
- #define NONE "\033[m"
- typedef struct type
- {
- char symbol;
- int money;
- int attact;
- double rate;
- int defense;
- int blood;
- int area;
- int distance;
- }Type;
- void move();
- int main(void)
- {
- int val;
- printf("---------------------------------------------------------------|");
- printf("\n");
- printf(" 兵种 |符号|造价|攻击力|暴击率 |防御力|血量|攻击范围|移动距离");
- printf("\n");
- printf("---------------------------------------------------------------|");
- printf("\n");
- printf(" 弓箭手 | G |100 | 18 | 0.05 | 1 | 100| 1~3 | 1 ");
- printf("\n");
- printf("---------------------------------------------------------------|");
- printf("\n");
- printf(" 步兵 | B |75 | 15 | 0.08 | 3 | 150| 1 | 1 ");
- printf("\n");
- printf("---------------------------------------------------------------|");
- printf("\n");
- printf(" 骑士 | Q |150 | 20 | 0.1 | 5 | 200| 1 | 3 ");
- printf("\n");
- printf("---------------------------------------------------------------|");
- printf("\n");
- printf("提示:兵种之间可以有相克的,比如弓箭克骑兵,骑兵克步兵,步兵克弓箭 \n");
- printf("\n");
- printf("请输入战争模式:1--1000vs1000 2--金钱模式\n");
- scanf("%d",&val);
- switch(val)
- {
- case 1:
- {
- int m,n;
- printf("双方可以配置的最大人数为1000人\n");
- printf("现在是防守方兵力部署:\n");
- printf("请选择要配置的兵种:1--步兵 2--骑兵 3--弓箭手\n");
- scanf("%d",&m);
- switch(m)
- {
- case 1:
- {
- printf(RED"请输入步兵的人数:\n"NONE);
- scanf("%d",&m);
- }
- case 2:
- {
- printf(GREEN"请输入骑兵的人数:\n"NONE);
- scanf("%d",&m);
- }
- case 3:
- {
- printf(BLUE"请输入弓箭手的人数:\n"NONE);
- scanf("%d",&m);
- }
- }
- printf("\n");
- printf("现在是进攻方兵力部署:\n");
- printf("请选择要配置的兵种:1--步兵 2--骑兵 3--弓箭手\n");
- scanf("%d",&n);
- switch(n)
- {
- case 1:
- {
- printf(BROWN"请输入步兵的人数:\n"NONE);
- scanf("%d",&n);
- }
- case 2:
- {
- printf(CYAN"请输入骑兵的人数:\n"NONE);
- scanf("%d",&n);
- }
- case 3:
- {
- printf(PURPLE"请输入弓箭手的人数:\n"NONE);
- scanf("%d",&n);
- }
- }
- printf("游戏开始:\n");
- break;
- }
- case 2:
- {
- int money,m,n;
- printf("请输入双方拥有的金钱数:\n");
- scanf("%d",&money);
- printf("现在是防守方兵力部署:\n");
- printf("请选择需要购买的兵种:1--步兵 2--骑兵 3--弓箭手\n");
- scanf("%d",&m);
- switch(m)
- {
- int bu,qi,gj;
- case 1:
- {
- printf(RED"请输入购买步兵的人数:\n"NONE);
- scanf("%d",&bu);
- if(bu*75<money)
- printf("还剩余的金钱数%d:\n",money-(bu*75));
- }
- case 2:
- {
- printf(GREEN"请输入购买骑兵的人数:\n"NONE);
- scanf("%d",&qi);
- if(qi*150<(money-(bu*75)))
- printf("还剩余的金钱数%d:\n",money-(qi*150+bu*75));
- }
- case 3:
- {
- printf(BLUE"请输入购买弓箭手的人数:\n"NONE);
- scanf("%d",&gj);
- if(gj*100<(money-(qi*150+bu*75)))
- printf("还剩余的金钱数%d:\n",money-(gj*100+qi*150+bu*75));
- }
- }
- printf("现在是进攻方兵力部署:\n");
- printf("请选择需要购买的兵种:1--步兵 2--骑兵 3--弓箭手\n");
- scanf("%d",&n);
- switch(n)
- {
- int bu,qi,gj;
- case 1:
- {
- printf(RED"请输入购买步兵的人数:\n"NONE);
- scanf("%d",&bu);
- if(bu*75<money)
- printf("还剩余的金钱数%d:\n",money-(bu*75));
- }
- case 2:
- {
- printf(GREEN"请输入购买骑兵的人数:\n"NONE);
- scanf("%d",&qi);
- if(qi*150<(money-(bu*75)))
- printf("还剩余的金钱数%d:\n",money-(qi*150+bu*75));
- }
- case 3:
- {
- printf(BLUE"请输入购买弓箭手的人数:\n"NONE);
- scanf("%d",&gj);
- if(gj*100<(money-(qi*150+bu*75)))
- printf("还剩余的金钱数%d:\n",money-(gj*100+qi*150+bu*75));
- }
- }
- printf("游戏开始:\n");
- break;
- }
- }
- return 0;
- }
复制代码 |