/*
* <<D Q>>
*
* Author xkfx<wyzxk_fx@163.com>
*
* 游戏规则:利用适当的决策,在13回合内击杀恶龙取得胜利。
*
* 2016 - *
*/ #include<stdio.h>
#include<stdlib.h>
#include<time.h> void show_State(int round, int dragon_HP, int warrior_HP, int warrior_MP)
{
//输出起始分割栏
printf("- ROUND-%2d ---------------\n", round);
//输出dragon状态
printf(" <Deathwing> \n");
printf(" HP = %-4d , MP = ???? \n", dragon_HP);
//输出worrior状态
printf(" <Worrior> \n");
printf(" HP = %-4d , MP = %-4d \n", warrior_HP, warrior_MP);
//输出结束分割栏
printf("--------------------------------\n");
} void show_Skill()
{
printf("Here is your actions:\n");
//show hero skill
printf("1 Holy Light -140mp\n");
//show basic skill
printf("2 Normal Attack -20mp\n");
printf("3 Force of Nature -0mp\n");
//show final skill
printf("4 Sword of Judgement \n");
printf(">Warrior, please choose your action:");
} int main()
{
/*创建游戏所需的数据*/
int dragon_HP = ;
int warrior_HP = ;
int warrior_MP = ;
int score = ;
int skill_tmp = ;
int skill_tmp_2 = ;
int round;
int choice; srand((int)time());
system("cls");
for(round = ; round <= ; round ++){
srand(rand());
/*显示人物状态*/
show_State(round, dragon_HP, warrior_HP, warrior_MP);
/**/
if(round == )
printf("Deathwing: ALL WILL BURN...\n");
/*显示决策信息*/
show_Skill();
/*选择决策*/
scanf("%d", &choice);
system("cls");
/*执行决策&优先判定敌方*/
/*warrior*/
switch(choice){ case :
if(warrior_MP < )
break;
skill_tmp = - warrior_HP; warrior_HP = ;
warrior_MP = warrior_MP - ; score = score - skill_tmp; printf("Warrior: I am theone horseman of the Apocalypse!\n");
printf("You has restored %d HP.\n", skill_tmp);
break; case :
if(warrior_MP < )
break;
skill_tmp = skill_tmp_2 + + rand()%; dragon_HP = dragon_HP - skill_tmp;
warrior_MP = warrior_MP - ; skill_tmp_2 = ; score = score + skill_tmp; printf("Your cause %d damage !\n", skill_tmp);
break; case :
skill_tmp_2 = skill_tmp_2 + + rand()%;
printf("Your Damage Pool: %d\n", skill_tmp_2);
break; case :
skill_tmp = warrior_HP + + rand()%; dragon_HP = dragon_HP - skill_tmp;
warrior_HP = ; score = score + skill_tmp; printf("warrior: Embrace the end!\n");
printf("Your cause %d damage !\n", skill_tmp);
break; default:
break;
}
if(dragon_HP <= ){
printf("Deathwing: It is impossible !?...\n");
printf("warrior: Embrace the end! So be it!\n");
printf(".....\n");
printf("..YOU WIN!\n");
break;
}
/*dragon*/
skill_tmp = + rand()%;
warrior_HP = warrior_HP - skill_tmp;
printf("You got a few injuries - %d HP\n", skill_tmp);
if(warrior_HP <= ){
printf("...\n");
printf("......\n");
printf("..GAME OVER.\n");
break;
}
/*显示决策结果*/
}
/*显示游戏结果*/
if(dragon_HP <= ){
score = score + ( - round) * ;
}else{
score = score + round * ;
}
if(warrior_HP >= && dragon_HP >= )
printf("The game ended in a draw.\n");
printf("\nYour final score: %d\n", score);
  system("pause");
return ;
}

最新文章

  1. 发布网站ASP.NET(ASPX)
  2. 如何设置unobtrusive的语言包
  3. Html 网页布局(一)
  4. [CareerCup] 5.3 Next Binary Representation 下一个二进制表达
  5. 设置图片自适应DIV大小
  6. excel设置单元格不可编辑
  7. [转]使用Composer管理PHP依赖关系
  8. 第07讲- Android项目的打包apk
  9. 让2个并列的div根据内容自动保持同等高度js
  10. 【m从翻译os文章】写日志禁令Sqlnet.log和Listener.log
  11. jQuery -&amp;gt; bind / live / delegate 终结者 - on
  12. [转载] Netty
  13. PHP 第3方评论系统
  14. WebSocketSharp 的使用
  15. 关于java类加载机制的一些理解
  16. 超级简单的Memcache入门
  17. Nintex Forms Drop-Down &quot;z-index&quot;
  18. POJ - 3279(枚举+暴力)
  19. hibernate文档头的不同版本
  20. Hadoop体系结构杂谈

热门文章

  1. paste DEMO合并文件
  2. Java中Synchronized的用法
  3. React.js入门小案例
  4. HttpConnection方式访问网络
  5. 一个通用的DAO模型实现增删改查
  6. JQuery知识快览之三—JQuery对象集
  7. Uva 10129 单词
  8. HDU(3790),最短路二级标准
  9. js判断手机连接网络类型
  10. shell 条件判断参数