源码下载地址: http://download.csdn.net/detail/monkey_uan/5115921
刚学C的作品,略带稚气,仅供参考学习,版权所有。
#include<stdio.h>
#include<windows.h>
char j;//技能序号
int HP1,HP2;
int speed=30;//速度,越小越快!
int sh;//伤害
int bika[2];//比卡丘坐标
int feiyu[2];//飞羽(职业)坐标
int feiyu_before[2];//移动前坐标
int x_min=1;x_max=77; y_min=5; y_max=22;//范围
int level=1,jingyan=0;//初始化等级、经验
char name[10];//名字
int i,num1,num2,tem,win,stu_level=2; //小学生练习系统 第520行开始void gotoxy(int x, int y)//x为列坐标,y为行坐标
{COORD pos = {x,y};SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
void hidden()//隐藏光标
{HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_CURSOR_INFO cci;GetConsoleCursorInfo(hOut,&cci);cci.bVisible=0;//赋1为显示,赋0为隐藏SetConsoleCursorInfo(hOut,&cci);
}
void loading()//装载
{int i;printf("为了得到更好的体验请最大化窗口!\n\n请相信我!\n正在很努力地为您加载。\n 请稍候...\n Loading: ");for(i = 0; i <= 100; i++){printf("%3d%%\b\b\b\b", i);Sleep(20);}
}
void logo()
{int i;for(i=0;i<18;i++){gotoxy(i,0);puts("               .======.             ");  gotoxy(i,1);puts("               | INRI |             ");  gotoxy(i,2);puts("               |      |             ");  gotoxy(i,3);puts("               |      |             ");  gotoxy(i,4);puts("      .========'      '========.    ");  gotoxy(i,5);puts("      |   _      xxxx      _   |    ");  gotoxy(i,6);puts("      |  /_;-.__ / _\\  _.-;_\\  |    ");  gotoxy(i,7);puts("      |     `-._`'`_/'`.-'     |    ");  gotoxy(i,8);puts("      '========.`\   /`========'    ");  gotoxy(i,9);puts("               | |  / |             ");  gotoxy(i,10);puts("               |/-.(  |             ");  gotoxy(i,11);puts("               |\\_._\\ |             ");  gotoxy(i,12);puts("               | \\ \\`;|             ");  gotoxy(i,13);puts("               |  > |/|             ");  gotoxy(i,14);puts("               | / // |             ");  gotoxy(i,15); puts("               | |//  |             ");  gotoxy(i,16);  puts("               | \\(\\  |             ");  gotoxy(i,17); puts("               |  ``  |             ");  gotoxy(i,18); puts("               |      |             ");  gotoxy(i,19);//puts("               |      |             ");  gotoxy(i,20); //puts("               |      |             ");  gotoxy(i,21);puts("               |      |             ");  gotoxy(i,20);puts("   \\\    _  _\\\| \\//  |//_   _ \\// _ ");  gotoxy(i,21);puts("  ^ `^`^ ^`` `^ ^` ``^^`  `^^` `^ `^ ");    gotoxy(i,22);puts("         流浪诗人 Studio 作品");  Sleep(10);if(i==0)Sleep(300);}getch();
}
void piantou() //片头
{int i;for(i=0;i<18;i++){gotoxy(0,0);puts("从前、从前...."); gotoxy(i,0);printf("                                ");Sleep(100);}for(i=0;i<30;i++){gotoxy(0,0);puts("这故事有点长,作者有点懒"); gotoxy(i,0);printf("                                ");Sleep(100);}Sleep(100);for(i=0;i<18;i++){gotoxy(0,0);puts("预知后事如何..."); gotoxy(i,0);printf("                                ");Sleep(100);}for(i=0;i<22;i++){gotoxy(0,0);puts("尽请期待、正式版。"); gotoxy(i,0);printf("                                ");Sleep(100);}getch();
}void HP()
{if(HP1<=0)HP1=0;if(HP2<=0)HP2=0;gotoxy(0,0);printf("                    HP:%d                     HP:%d  \n",HP1,HP2);printf("                    %-10s                 比卡丘\n",name);
}void gong()
{printf("                    4$$-.       \n");printf("                    4   '.     \n");printf("                    4    ^.             `;-.          ____, \n");  printf("                    4     $               `.`\\_...._/`.-'` \n");printf("                    4     'b               \\          /      ,\n");printf("                    4      'b.             /()   ()  |    .' `-._ \n");printf("                    4        $            |)  .    () \\  /   _.'  \n");printf("                    4        $r            \\  -'-     ,; '. <  \n");printf("                    4        $F             ;.__     ,;|   > \\ \n");printf("                    4        $b            / ,    / ,  |.-'.-' \n");printf("                    4       *$$F          (_/    (_/ ,;|.<` \n"); printf("                    4        $$'           \\    ,     ;-` \n");printf("                    4       .$F             >   \\    / \n");printf("                    4       dP             (_,-'`> .' \n");printf("                    4      F                    (_,' \n");printf("                    4     @    \n");printf("                    4    .   \n");printf("                    J. ^     \n");printf("                   '$$^    \n");
}void jian()
{int x=0,y=10,i;if(j=='1'){for(i=0;i<15;i++){gotoxy(i,y);printf("         -$b========================*P=-  \n");Sleep(speed);}}if(j=='2')//苦逼的C绘图!{for(y=0;y<18;y++){gotoxy(47,y);printf(" ");gotoxy(47,y+1);printf("∨");gotoxy(47,y+2);printf("‖");gotoxy(47,y+3);printf("‖");gotoxy(47,y+4);printf("‖");gotoxy(47,y+5);printf("‖");gotoxy(47,y+6);printf("‖");gotoxy(47,y+7);printf("‖");gotoxy(47,y+8);printf("‖");gotoxy(47,y+9);printf("㏕");gotoxy(47,y+10);printf("‖");gotoxy(47,y+11);printf("‖");gotoxy(47,y+12);printf("∨");Sleep(speed);}}if(j=='3'){for(i=0;i<15;i++){gotoxy(i,y-2);printf("        -$b========================*P=-");gotoxy(i,y);printf("           -$b========================*P=-");gotoxy(i,y+2);printf("        -$b========================*P=-");Sleep(22);}}
}void about()
{printf("       C语言模拟回合制游戏(小学生数学练习系统移植版)\n            意见反馈\n            QQ:137987751\n                 BY 流浪诗人 Studio\n\n\n");puts(" 更新日志:");puts(" 2012.9.26 完成初版本");puts("  堕落时期,罪过罪过");puts(" 2012.11.1 加入伪随机函数");puts(" 2012.11.22 加入字符画");puts("    一直在努力,从未间断过");getch();
}void shan()
{int refresh;
Sleep(500);
for(refresh=0;refresh<5;refresh++)
{printf("比卡丘使用十万伏特\n%s HP-%d\n",name,sh);system("CLS");Sleep(70);HP();gong();
}
}void fight()//战斗系统
{   int i;HP1=500;HP2=1000;system("CLS");for(i=1;i>0;){  HP();gong();gotoxy(0,10);printf("         -$b========================*P=-  \n");gotoxy(0,22);printf("            1.百步穿杨\n            2.龙剑波\n            3.多重射击\n");j=getch();if(j=='1'){ sh=rand()%(135-88+1)+88;HP2=HP2-sh;HP();jian();gotoxy(0,26);printf("凝心静心,百步穿杨。\n比卡丘 HP-%d\n",sh);Sleep(1000);if(HP2<=0)break;sh=rand()%(135-88+1)+88;HP1=HP1-sh;shan();}elseif(j=='2'){sh=rand()%(245-155+1)+155;HP2=HP2-sh;HP();jian();gotoxy(0,26);printf("以龙剑施展御箭术。\n比卡丘 HP-%d\n",sh);Sleep(1000);if(HP2<=0)break;sh=rand()%(135-88+1)+88;HP1=HP1-sh;shan();}elseif(j=='3'){sh=rand()%(305-215+1)+215;HP2=HP2-sh;HP();jian();gotoxy(0,27);printf("满天箭雨,无路可逃!\n比卡丘HP-%d\n",sh);Sleep(1000);if(HP2<=0)break;sh=rand()%(135-88+1)+88;HP1=HP1-sh;shan();}else printf("请输入正确的数字!");printf("\n");Sleep(1000);system("CLS");if(HP1<=0){printf("\n\n  OH!好可惜哦!\n");getch();return;}}printf("\n\n  获得80 经验!\n");jingyan+=80;getch();system("CLS");
}void update()
{gotoxy(58,0);printf("%s",name);gotoxy(58,1);if(jingyan>=80*level*1.2)level++;printf("等级:%d",level);gotoxy(58,2);printf("经验:%d",jingyan);
}void game()
{ int i;
char direction;//方向
bika[0]=5;
bika[1]=10;
feiyu[1]=4;
for(;;i++)
{gotoxy(0,0);
puts(" '''╭⌒╮⌒╮.',''',,',.'',,','',. '',,',.',''',,',.'' ");
puts("╱◥██◣''o',''',,',.''.'',,',.  '',,',.',''',,',.''  ");
puts("|田|田田│ '',,',.',''',,',.''  '',,',.',''',,',.''  ");
puts("╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬");
update();
gotoxy(0,23);
puts(" \\\|//  _\\| \//  \|//_ _\// __\\| \//  |//_  \// _\\| \//  \|//_ _\// _\\| \///_ _\// _\\| \//");
puts(" ^ `^`^ ^`` `^ ^` ``^^``^^` `^ `^`^ ^` ``^^`  `^^` `^ `^`^`^ ^` ``^^`  `^^` `");
// for(;;i++) 测试备用
gotoxy(bika[0],bika[1]);
printf("□");
gotoxy(feiyu[0],feiyu[1]);
printf("■");
direction=getch();
switch(direction)
{
case 27: {return;}
case 75: {feiyu_before[0]=feiyu[0];feiyu_before[1]=feiyu[1];  if(feiyu[0]<x_min)break;  feiyu[0]--; break;}
case 77: {feiyu_before[0]=feiyu[0];feiyu_before[1]=feiyu[1];   if(feiyu[0]>=x_max) break; feiyu[0]++;  break;}
case 72: {feiyu_before[0]=feiyu[0];feiyu_before[1]=feiyu[1]; if(feiyu[1]<y_min) break; feiyu[1]--;   break;}
case 80:{feiyu_before[0]=feiyu[0];feiyu_before[1]=feiyu[1];     if(feiyu[1]>=y_max) break; feiyu[1]++;   break;}
}
gotoxy(feiyu_before[0],feiyu_before[1]);
printf("  ");
/*if(feiyu[0]-bika[0]<3 && feiyu[0]-bika[0]>0)
bika[0]++;
if(bika[0]-feiyu[0]<3 && bika[0]-feiyu[0]>0)
bika[0]--;
if(feiyu[1]-bika[1]<3 && feiyu[1]-bika[1]>0)
bika[1]++;
if(bika[1]-feiyu[1]<3 && bika[1]-feiyu[1]>0)
bika[1]++;*/ //失败的怪物AI系统
if((bika[0]-1==feiyu[0] ||bika[0]+1==feiyu[0]||bika[0]==feiyu[0]) && bika[1]==feiyu[1]) //同理可做住宿满血系统
{fight();bika[0]=rand()%(77-1+1)+1;bika[1]=rand()%(22-5+1)+5;
}
if(level>=10)
{printf("恭喜你通过游戏基本操作测试\n正式进入游戏...\n");loading();system("CLS");printf("很抱歉,文件已损坏...\n请返回进行数学练习");Sleep(1000);getch();return;
}
}
}void set()//设置
{int i;for(i=1;i<2;i++){puts("    设置\n温馨提示:ctrl键+空格键选择输入法。\n输入主角的名字:");scanf("%s",name);if(strlen(name)>10){puts("请正确输入十个字符(一个中文两个字符)以内的名字:");i--;Sleep(2000);system("CLS");}}
}
void help()
{puts("    帮助\n运动场景:\n方向键控制 上下左右;Esc键返回菜单\n\n战斗场景:\n数字键选择施放技能,详情请看技能菜单\n\n仅供娱乐测试");getch();
}menu()  //游戏菜单
{int t,a,x;char m;srand((unsigned)time(NULL));hidden();//隐藏光标loading();logo();system("CLS");set();system("CLS");for(x=1;;){system("cls");printf("╔═══════════════╗\n║           1.开始游戏  ║\n║           2.设置  ║\n║           3.关于  ║\n║           4.帮助  ║\n║           5.退出  ║\n╚═══════════════╝"); m=getch();if(m=='1'){ system("CLS");piantou();system("CLS");game();}if(m=='2'){ system("CLS");set();}if(m=='3'){ system("CLS");about();}if(m=='4'){ system("CLS");help();}if(m=='5'){ return 0;}elsex=1;}
}
void hidden1()//显示光标
{HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_CURSOR_INFO cci;GetConsoleCursorInfo(hOut,&cci);cci.bVisible=1;//赋1为显示,赋0为隐藏SetConsoleCursorInfo(hOut,&cci);
}
/*---------------------------------------------完美分割线------------------------------------------------------*/
randnum()
{if(stu_level==1){num1=rand()%10;num2=rand()%10;}if(stu_level==2){num1=rand()%100;num2=rand()%100;}}
stu_set()
{char slevel;puts("选择练习难度:\n1.个位运算,除法只进行整除运算\n2.十位运算(包括个位),除法结果精确到2位数");slevel=getch();switch(slevel){case 27: {return;} case '1': {stu_level=1;break;} case '2': {stu_level=2;break;} }
}
stu_help()
{puts("    帮助\n练习难度:\n1.个位运算,除法只进行整除运算\n2.十位运算(包括个位),除法结果精确到2位数\n\n每次练习10道题,如果全部答对,返回菜单出现隐藏功能。\n数字键选择菜单,详情请看菜单选择序号\n\n意见反馈:\n  QQ:137987751");getch();
}
jia()
{FILE*fp;fp=fopen("c:\\错题本.txt","a");//追加打开printf("本次练习共有10道题,输入答案以回车键结束\n");for(i=1;i<11;i++){randnum();printf(" %d+%d=",num1,num2);scanf("%d",&tem);if(tem==num1+num2){win++;printf("  恭喜答对了!  再答对%d道题就可以开启隐藏功能哦!\n",10-win);}else{fprintf(fp,"%d+%d=%d\n",num1,num2,num1+num2);printf("  好可惜哦! %d+%d=%d\a\n",num1,num2,num1+num2);//警报声}}
fclose(fp);
}
jianfa()
{FILE*fp;fp=fopen("c:\\错题本.txt","a");printf("本次练习共有10道题,输入答案以回车键结束\n");for(i=1;i<11;i++){randnum();if(num2>num1){i--;continue; }printf(" %d-%d=",num1,num2);scanf("%d",&tem);if(tem==num1-num2){win++;printf("  恭喜答对了!  再答对%d道题就可以开启隐藏功能哦!\n",10-win);}else{fprintf(fp,"%d-%d=%d\n",num1,num2,num1-num2);printf("  好可惜哦! %d-%d=%d\a\n",num1,num2,num1-num2); //警报声}}fclose(fp);
}
cheng()
{FILE*fp;fp=fopen("c:\\错题本.txt","a");printf("本次练习共有10道题,输入答案以回车键结束\n");for(i=1;i<11;i++){randnum();printf(" %d*%d=",num1,num2);scanf("%d",&tem);if(tem==num1*num2){win++;printf("  恭喜答对了!  再答对%d道题就可以开启隐藏功能哦!\n",10-win);}else{fprintf(fp,"%d*%d=%d\n",num1,num2,num1*num2);printf("  好可惜哦! %d*%d=%d\a\n",num1,num2,num1*num2);//警报声}}fclose(fp);
}
chu()
{float shang,temshang,fnum1,fnum2;FILE*fp;fp=fopen("c:\\错题本.txt","a");if(stu_level==1)printf("本次练习共有10道题,输入答案以回车键结束\n");if(stu_level==2)printf("本次练习共有10道题,输入答案(精确到两位小数),以回车键结束\n");for(i=1;i<11;i++){randnum();if(stu_level==1 && (num2==0 || num2>num1 ||num1%num2!=0)){i--;continue; }if(stu_level==2 && num2==0 ){i--;continue; }printf(" %d/%d=",num1,num2);scanf("%f",&shang);if(stu_level==1){if(shang==num1/num2){win++;printf("  恭喜答对了!  再答对%d道题就可以开启隐藏功能哦!\n",10-win);}else{fprintf(fp,"%d/%d=%d\n",num1,num2,num1/num2);printf("  好可惜哦! %d/%d=%d\a\n",num1,num2,num1/num2);//警报声}}if(stu_level==2){fnum1=(float)num1;fnum2=(float)num2;temshang=((int)((fnum1/fnum2)*100.0+0.5))/100.0;if(shang==temshang){win++;printf("  恭喜答对了!  再答对%d道题就可以开启隐藏功能哦!\n",10-win);}else{fprintf(fp,"%d/%d=%.2f\n",num1,num2,temshang);printf("  好可惜哦! %d/%d=%.2f\a\n",num1,num2,temshang);//警报声}}}fclose(fp);
}
main()
{int x,m;srand( (unsigned)time( NULL ) );//以系统时间为随机种子,没此种子,每次运行程序随机数有规律。hidden();//隐藏光标logo();for(x=1;;){system("cls");hidden();//隐藏光标printf("╔═══════════════╗\n"); printf("║     小学生算术练习小软件     ║\n"); printf("╠═══════════════╣\n");printf("║        1.加法运算练习 ║\n");printf("║        2.减法运算练习 ║\n");printf("║        3.乘法运算练习 ║\n");printf("║        4.除法运算练习 ║\n");printf("║        5.难度设置  ║\n");printf("║        6.帮助  ║\n");printf("║        7.退出  ║\n");if(win==10) //隐藏奖励功能,仅供娱乐。printf("║        8.小游戏  ║\n");printf("╚═══════════════╝"); m=getch();hidden1();//显示光标if(m=='1'){win=0; system("CLS");jia();}if(m=='2'){ win=0;system("CLS");jianfa();}if(m=='3'){ win=0;system("CLS");cheng();}if(m=='4'){win=0;system("CLS");chu();}if(m=='5'){system("CLS");stu_set();}if(m=='6'){system("CLS");stu_help();}if(m=='7'){ system("start c:\\错题本.txt");//正常退出打开错题本return 0;}if(win==10 && m=='8'){system("CLS");menu();}}
}

C语言模拟回合制游戏 源码相关推荐

  1. java模拟回合制游戏大小姐_[源码和文档分享]基于java的RPG回合制游戏

    一.工作积累总结 1.1 简介 该项目是一个回合制RPG游戏,讲述了动物主角对抗人类,自逃出动物园开始,一路与人类对抗,提升能力,并寻找新队友组成团体,逼得人类不得不与之谈判,最终与人类达成了和平协议 ...

  2. Unity3D 回合制 网上源码 目前还在研究构思

    我们已将回合制的战斗模式讲解得很清楚了.那么,如果在Unity3D游戏中实现一个回合制游戏呢?我们从最简单的一对一模式来设计回合制游戏的原型.我们可以游戏的状态划分为下面三种状态:         1 ...

  3. java模拟回合制游戏大小姐_java – 回合制游戏设计:事件驱动与游戏...

    我用Java创建了我的第一个游戏.这场比赛是垄断.我正在努力设计游戏以模拟其回合制结构(管理玩家转弯).我想允许单个人控和一个或多个AI控制的玩家玩游戏. 我的具体问题是我不知道是否实现游戏循环,这意 ...

  4. c语言黑白棋ai游戏源码

    #include <graphics.h> // EasyX_2011惊蛰版 #include <strstream> #include <ctime> #prag ...

  5. C语言之贪吃蛇游戏源码

    贪吃蛇游戏是我编程以来做的第一个游戏,很兴奋,我记得当时我一直最求代码数量的最小化,即以最少的代码实现功能,有的时候,对换行.括号之类的都下手,呵呵,现在想想都想笑,那些年让我纠结的代码门,你们现在还 ...

  6. 生命游戏c语言代码,c++生命游戏源码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 glViewport( 0, 0, width, height ); glMatrixMode( GL_PROJECTION ); glLoadIdent ...

  7. C语言写的小游戏源码,c语言小游戏源码(华容道)

    [实例简介] [实例截图]见截图 [核心代码] #include #include #include #include int c=0,a[8][8]= {0},n=0,x,y,b[8][8]= {0 ...

  8. C#实现回合制游戏模拟

    文章开始把我喜欢的这句话送个大家:这个世界上还有什么比自己写的代码运行在一亿人的电脑上更酷的事情吗,如果有那就是让这个数字再扩大十倍!!! 底部有下载链接:附带代码.答辩PPT.数据.音乐等素材. 规 ...

  9. C#大作业——回合制游戏模拟

    1>创建一个Hero类特征name(英雄名字),hp(血量),mp(魔法值), physicsAttack(物理攻击力),magicAttack(魔法攻击力) 2>创建一个BattleCo ...

最新文章

  1. SAE上安装第三方模块
  2. 多维数组和C#中的数组数组有什么区别?
  3. boost::planar_face_traversal用法的测试程序
  4. 将Windows下的文件同步到Linux下
  5. 微软即将修复Windows 2000漏洞
  6. 技术MBA高科技企业的“宠儿”
  7. VMWare虚拟机NAT模式下static IP
  8. 【Flink】Flink 写入 kafka 报错 The server disconnected before a response was received
  9. 用集合return多个值_Laravel + Nestedset 扩展:嵌套集合模型实现无限级分类
  10. Affinity 1.10 版本更新,性能提升
  11. mybatis中的mapper代理模式的数据传参的应用
  12. 【软考软件评测师】历年真题大汇总
  13. 如何禁止计算机自动安装驱动,安全第一 阻止Win7自动安装驱动程序
  14. android客户端同php服务端进行XML/JSON通信
  15. 将VSCode设置成中文
  16. InfoQ在ETE大会上对Android工程师Jake Wharton的采访
  17. Kattis Doors
  18. 红米3 android 版本升级失败,疑似官方推送错误固件 红米Note3全网通升级后变砖...
  19. 同时开发两款H5的ARPG游戏的设计和实践
  20. Excel 调用百度翻译API进行翻译

热门文章

  1. 不是水文 ,没有人这样教过 Spring Security 和 OAuth 2.0
  2. 山东春考计算机组装与维修,山东春考计算机组装与维修模拟试题(11页)-原创力文档...
  3. 一个批处理:IPC$ Password Crack---BAT
  4. 列出所有的电影ID,名字和销售总额(以百万美元为单位计算)
  5. # 20155327 2016-2017-4 《Java程序设计》第七周学习总结
  6. 时代变了,互联网与房产开发商能否找到真爱
  7. 增值税专用发票 计算机 分类,增值税计算机稽核系统发票比对操作规程(试行)...
  8. xcopy 跳过已经存在的_虚拟网红卖真衣服,真实人类已经开始买“假”衣服了!...
  9. html5 设计 form,为HTML5表单设计表单模板
  10. springboot注解方式实现aop及常规方式