c语言运行模拟器在线,C语言战争模拟器.doc

253b171540df25e1b84436cbe50dfc72.gifC语言战争模拟器.doc

include include include define N 40 void print_bing;显示数据 void printlist;显示输出战场信息 void print;显示步,弓,骑 void chushihua;对战场进行初始化 void chushihua1;对进攻士兵进行初始化 void chushihua2;对防守士兵进行初始化 void search;寻找最 近敌方士兵 void search1;寻找最近敌方士兵 void move;士兵移动一个单位 void move1;士兵移动一个单位 void tiaozheng;调整所有士兵的位置 void chakan;查看自己的坐标和最近的敌军坐标 void qingchubushu;重置所有步数 void qingqibingchubushu;重置骑兵步数 void attack;计算伤害 int panduan;判断是否有队伍胜利 typedef struct bingzhong int hp;血量 int gongjili;攻击力 int bz;兵种 int fw;攻击范围 int x;最近敌军的纵向坐标 int y;最近敌军的横向坐标 int xingdongli;一次能移动的次数 int bushu;是否被移动过的标志 Bing;定义士兵 /* void printlist printf“-n“; printf“|兵种 |符号 |造价 |攻击力 |暴击率 |防御力 |血量 |攻击范围 |移动矩离 n“; printf“-n“; printf“|弓箭手 |A|100-|18|5|1|100|13-|1-n“; printf“-n“; printf“|步兵 | F |75 |15 |8 |3 |150 |1 |1 n“; printf“-n“; printf“|骑士 | K |150 |20 |10 |5 |200 |1 |3 n“; printf“-n“; printf“兵种相克关系 步兵克骑士 ,骑士克弓箭手 ,弓箭手克步兵 n“; printf“-n“; 显示数据 */ void tiaozhengBing headN,int hang searchhead0,hang; movehead0,hang; searchhead0,hang; qingqibingchubushuhead0,hang; movehead0,hang; searchhead0,hang; qingqibingchubushuhead0,hang; movehead0,hang; qingchubushuhead0,hang; attackhead0,hang; 调整所有士兵的位置 void attackBing headN,int hang int i0,j0,x10,y10; fori0;i0 ifheadij.fwabsheadij.x-iabsheadij.y-j x1headij.x; y1headij.y; headx1y1.hpheadx1y1.hp-headij.gongjili; ifheadx1y1.hp0 move1 void move1Bing* s ,Bing head40,int x,int y int juli0; juliabsx-s-xabsy-s-y; ifs-fwbushuxingdongli ifs-x-x0 headx1y.fws-fw; headx1y.hps-hp; headx1y.gongjilis-gongjili; headx1y.hps-hp; headx1y.xs-x; headx1y.ys-y; headx1y.xingdonglis-xingdongli; headx1y.bushus-bushu; s-bz0; return; ifs-y-ybz; headxy-1.fws-fw; headxy-1.hps-hp; headxy-1.xs-x; headxy-1.ys-y; headxy-1.gongjilis-gongjili; headxy-1.hps-hp; headxy-1.xingdonglis-xingdongli; headxy-1.bushus-bushu; s-bz0; return; ifs-x-xbz; headx-1y.fws-fw; headx-1y.hps-hp; headx-1y.xs-x; headx-1y.ys-y; headx-1y.gongjilis-gongjili; headx-1y.hps-hp; headx-1y.xingdonglis-xingdongli; headx-1y.bushus-bushu; s-bz0; return; ifs-y-y0 headxy1.fws-fw; headxy1.hps-hp; headxy1.xs-x; headxy1.ys-y; headxy1.gongjilis-gongjili; headxy1.hps-hp; headxy1.xingdonglis-xingdongli; headxy1.bushus-bushu; s-bz0; return; 士兵移动一个单位 void searchBing headN,int hang int i0,j0; fori0;i0 search1head0,hang, void search1Bing headN,int hang,Bing* s,int x,int y int x10,y10,juli0,i0,j0,biaoshi10000; ifs-bz0 i forj39;j0;j ifheadij.bz3 s-yj; ifs-bz3 s-yj; 寻找最近敌方士兵 void qingchubushuBing headN,int hang int i0,j0; fori0;i0 headij.bushu0; void chushihuaBing* s,int hang int i0; fori0;ibz0; 对战场进行初始化 void chushihua1Bing s140,int bing11,int bing12,int bing13 int i0; Bing* sBing*s1; fori0;ibz1;s-fw3;s-bushu0;s-xingdongli1;s-hp100;s-gongjili18; fori0;ibz2;s-fw1;s-bushu0;s-xingdongli1;s-hp150;s-gongjili15; fori0;ibz3;s-fw1;s-bushu0;s-xingdongli1;s-hp200;s-gongjili20; 对士兵进行定位 void chushihua2Bing s140,int bing21,int bing22,int bing23,int hang int i0,j0; Bing* sBing*s1; sshang-1*40; for;jbz4;s-fw3;s-bushu0;s-xingdongli1;s-hp100;s-gongjili18; i; ifi39 ss-80;i0; forj0;jbz5;s-fw1;s-bushu0;s-xingdongli1;s-hp150;s-gongjili15; i; ifi39 ss-80;i0; forj0;jbz6;s-fw1;s-bushu0;s-xingdongli1;s-hp200;s-gongjili20; i; ifi39 ss-80;i0; 对防守士兵进行初始化 void printint bz switch bz case 1printf“弓 “;break; case 2printf“兵 “;break; case 3printf“车 “;break; case 4printf“弩 “;break; case 5printf“卒 “;break; case 6printf“車 “;break; defaultprintf“ “;break; 显示步,弓,骑 void print_bingBing sN,int i1 printf“-n“; int i0,j0; forii1-1;i0;i forj0;j0 printf“ 兵种 d 的 i,jd,d | i1,j1d,dn“,bij.bz,i,j,bij.x,bij.y; int panduanBing headN,int hang int i0,j0,zifang0,difang0; fori0;i0 ifzifang1 ifzifang0 else return 0; int mainint argc, char argv static int lie10,lie20;lie1是进攻方的士兵行数, lie2是防守方的士兵行数 int i0,j0,moshi0,bing110,bing120,bing130,bing100,bing210,bing220,bing230,bing200,shengli0; /* printf“请选择游戏模式 1是金钱模式, 2是士兵个数模式 n“; scanf“d“, ifmoshi2 */ printf“请输入进攻方各 兵种的数量分别是弓,兵,车 n“; scanf“d d d“, bing10bing11bing12bing13; lie1bing10/N; printf“请输入防守方各兵种的数量分别是弩,卒,車 n“; scanf“d d d“, bing20bing21bing22bing23; lie2bing20/N; Bing b8lie1lie2N; chushihua chushihua1b,bing11,bing12,bing13; chushihua2b,bing21,bing22,bing23,8lie1lie2;对各方的兵种初始化 printlist; print_bingb,8lie1lie2;打印战场 while1 tiaozhengb,8lie1lie2;移动一次 print_bingb,8lie1lie2;打印战场 chakanb,8lie1lie2; getchar; shenglipanduanb,8lie1lie2; ifshengli1 printf“进攻方胜利 n“; break; ifshengli2 printf“防守方胜利 n“; break; return EXIT_SUCCESS;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值