该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include

#include

#include

/*

设定:

玩家:

攻击力,生命值,技能效果,CD;

敌人:

攻击力,生命值,CD;

//跳跃怎么做?如果我想要子弹打在敌人身上才算攻击成功,怎么做?结构体:玩家,敌人。

子函数:画布初始化。

玩家初始化。

敌人初始化。//需要么?

绘制玩家。

绘制敌人。

绘制玩家技能。

绘制敌人技能。

绘制玩家跳跃动画(5帧)

玩家行为函数。

敌人行为函数。

//尝试敌人攻击频率随机。*/

void fun(int ch); //用于控制英雄的行为模式

void fun2(); //用于控制敌人的行为模式

void hero_init(); //初始化英雄 √

int random(); //产生随机数 √

void paper_print(); //画纸打印到命令行界面上 √

void paint_dragon(int x,int y); //把大龙画到画纸上 √

void paint_hero(int x,int y); //把英雄画到画纸上 √

void paint_dragon_health(); //把大龙生命条画到画纸上 //能不能做到攻击敌人敌人生命条递减? √(理论上递减)

void paint_hero_skill_e(); //绘制技能动画 √

void paint_hero_skill_w(); //跳跃动画

void paint_dragon_skill(); //把大龙技能画到画纸上 √

void paper_init(); //清空画纸 √

char paper[25][110];int mode1=0;

int mode2=0;

int protect=0;

struct hero

{

char name[100];

int health;

int attack;

int delay;

};struct dragon

{

char name[100];

int health;

int attack;

int delay;

};struct hero player;struct dragon enemy;void dragon_init()

{

// enemy.name = "dragon";

enemy.health = 50;

enemy.attack = 20;

enemy.delay = 10;

}int main(int argc, char *argv[]) //主函数

{

int ch,i,j;

srand((unsigned int)time(NULL));

hero_init();

dragon_init();

paper_init();

for(;;)

{

if(enemy.health<0||player.health<0)

// {break;}

// system("cls");

if(_kbhit)

{

ch = _getch();

}

paper_init();

paint_dragon_health();

fun(ch);

fun2();

ch = 0;

paint_dragon(106,23);

paper_print();

printf("\n");

printf("玩家: 姓名:%s 生命值:%d 攻击力:%d 技能CD:%d s\n",player.name,player.health,player.attack,player.delay);

printf("%d",ch); sleep(50);

printf("%d",1);

}

system("cls");

if(player.health < 0)

{

printf("DEAD\n");

}

if(enemy.health < 0)

{

printf("WIN\n");

}

return 0;

}

void paper_init() //画纸初始化

{

int i,j;

for(i=0;i<25;i++){

for(j=0;j<110;j++){

paper[i][j] = ' ';

}

}

}void paper_print() //绘制函数

{

int i,j;

for(i=0;i<25;i++)

{

for(j=0;j<110;j++){printf("%c",paper[i][j]);}

printf("\n");

}

}void paint_dragon_skill() //绘制敌人技能动画

{

int i,j;

for(i = 99;i >5; i--){

for(j=23;j>22;j--){

paper[j][i] = '-';

}

}

}void paint_hero_skill_e(int x) //绘制玩家技能动画

{

int i,j;

for(i = 24;i > 22; i--){

for(j=x;j

paper[i][j] = '|';

}

}

}void paint_hero_skill_w() //绘制玩家跳跃动画

{

switch(player.delay)

{

case 3:

paint_hero(2,22);

protect=1;

break;

case 2:

paint_hero(2,21);

protect=1;

break;

case 1:

paint_hero(2,22);

protect=1;

break;

case 0:

paint_hero(2,23);

protect=0;

break;

}

}

void paint_hero(int x,int y) //绘制玩家

{

paper[y-1][x] = '@';

paper[y][x-1] = '/';

paper[y][x] = '|';

paper[y][x+1] = '-';

paper[y+1][x-1] = '/';

paper[y+1][x] = ' ';

paper[y+1][x+1] = '|';

}void paint_dragon(int x,int y) //绘制敌人

{

switch(mode2)

{

case 0://正常

paper[y][x] = ')';

paper[y][x-1] = ' ';

paper[y][x-2] = ' ';

paper[y][x-3] = '0';

paper[y][x-4] = 'w';

paper[y][x-5] = '0';

paper[y][x-6] = '(';

break;

case 1://被击中

paper[y][x] = ')';

paper[y][x-1] = ' ';

paper[y][x-2] = ' ';

paper[y][x-3] = '

paper[y][x-4] = 'a';

paper[y][x-5] = '>';

paper[y][x-6] = '(';

break;

case 2://攻击

paper[y][x] = ')';

paper[y][x-1] = ' ';

paper[y][x-2] = ' ';

paper[y][x-3] = '=';

paper[y][x-4] = 'W';

paper[y][x-5] = '=';

paper[y][x-6] = '(';

break;

case 3:

paper[y][x] = ')';

paper[y][x-1] = ' ';

paper[y][x-2] = ' ';

paper[y][x-3] = '>';

paper[y][x-4] = 'w';

paper[y][x-5] = '

paper[y][x-6] = '(';

break;

}

}void paint_dragon_health() //绘制大龙血条

{

int i,j;

for(i=110;i>(110-enemy.health);i--)

for(j=2;j<3;j++)

{

paper[j][i] = '*';

}

}int random()

{

return rand();

}void hero_init() //英雄初始化

{

int ch;

int time = 0;

printf("请输入您的名字:\n");

scanf("%s",&player.name);

player.delay = 0;

do

{

if(time!=0)

if(_kbhit)

{

ch = _getch();

if(ch==13) {break;}

else if(ch!=32) {continue;}

}

else {continue;}

system("cls");

printf("自动生成数据如下:\n");

printf("玩家姓名:%s\n生命值:%d\n攻击力:%d\n攻击CD:%d s\n",player.name,player.health = random()%20+90,player.attack = random()%5+15,1);

printf("按 回车 键继续,按 空格 键重新生成数据。");

time = 1;

}while(1);

}

void fun(int ch) //玩家行动函数

{

if(player.delay == 0)

{

switch(ch)

{

case 119:

player.delay = 3;

mode1 = 1;

break;

case 101:

player.delay = 5;

mode1 = 2;

if(paper[24][99] == '|')

{

mode2 = 1;

paint_dragon(106,23);

enemy.health = enemy.health - player.attack;

}

break;

}

}

switch(mode1)

{

case 0:

paint_hero(2,23);

break;

case 1:

paint_hero_skill_w();

break;

case 2:

paint_hero(2,23);

paint_hero_skill_e(3 + 20*(5 - player.delay));

break;

}

if(player.delay > 0)

{

player.delay--;

}

else {player.delay = 0;}

}void fun2() //敌人行动函数

{

if(enemy.delay == 0)

{

mode2 = 2;

paint_dragon(106,23);

paint_dragon_skill();

if(protect == 0) {player.health = player.health - enemy.attack;}

}

else if(enemy.delay == 3)

{

mode2 = 3;

paint_dragon(106,23);

}

else {paint_dragon(106,23);}

if(enemy.delay > 0)

{

enemy.delay--;

}

else {enemy.delay = 0;}

}

c语言while运行出现错误,【图片】为什么我的while(1)不执行啊?【c语言吧】_百度贴吧...相关推荐

  1. c语言为什么运行慢,【图片】今天写几个性能测试,为什么C语言跑得这么慢呢??【c语言吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 易言版本--跑100000万成绩不如PHP.... .版本 2 .程序集 程序集1 .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行 ...

  2. 下面关于java语言说法不正确的是_数据库应用技术复习 求解1下面关于JAVA语言的说法,错误的是(  )。A.JAVA语言是一种面向对象的程序设计语言。B...

    数据库应用技术复习 求解1下面关于JAVA语言的说法,错误的是( ).A.JAVA语言是一种面向对象的程序设计语言.B 数据库应用技术复习 求解 1下面关于JAVA语言的说法,错误的是( ). A.J ...

  3. 2017c语言自学贴吧,【图片】17年1.9开启我的C语言学习之路—小白篇【c语言吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 什么是程序呐? 我们说这个程序与你的生活有关,通常是达到某个目标或解决某个问题中所需要的步骤或过程,这一系列的步骤就是程序. 生活中的程序与计算机中的程序 ...

  4. c语言除法效率问题,【图片】今天写几个性能测试,为什么C语言跑得这么慢呢??【c语言吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 易言版本--跑100000万成绩不如PHP.... .版本 2 .程序集 程序集1 .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行 ...

  5. matlab石头剪刀布小游戏,【图片】石头剪刀布小游戏(教程)【vb吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Public Class Form1 Dim a, b, c, d As Double Private Sub RadioButton3_CheckedC ...

  6. layui分页limit不显示_【图片】新手 分页显示不了呀【layui吧】_百度贴吧

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 $(function () { layui.use(['table', 'layer'], function () { layer = layui.lay ...

  7. nuc8i7beh安装linux随机重启,【图片】来分享一下我的NUC8I7BEH【intelnuc吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 测试来了,Linux 脚本,2G测试,操完这次以后休息俩礼拜. ssd随机读4k fio -filename=./ran4K.log -direct=1 ...

  8. can帧格式 dlc_【图片】CAN扩展帧结构【汽车can总线吧】_百度贴吧

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1. 帧起始(Start of Frame) 标志数据帧(包含远程帧),它由一个显性位(0)构成,只有在总县处于空闲状态时,才允许开始发送.所有节点必须同 ...

  9. 商品分类列表功能实现php,【图片】B2B2C系统如何实现商品分类功能【thinkphp吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 B2B2C系统如何实现商品分类功能 需要完成一个独立的B2B2C系统,系统分类和店铺商品分类是必不可少的.让我们看看商品分类是什么:商品分类是概括一定范围 ...

最新文章

  1. 一个用WPF做的简单计算器源代码
  2. docker history 27f1068ca9da --no-trunc查看镜像dockerfile内容
  3. python 发布啦!!
  4. 深圳内推 | 华为诺亚方舟实验室招聘机器学习/深度学习算法实习生
  5. JVM之堆Heap参数调优入门
  6. 选择超融合基础设施?这五件事你考虑了吗?
  7. jz2440开发板移植U-boot之修改代码支持DM9000网卡
  8. 在ubuntu 12.04上安装tomcat 7.40
  9. Springboot 拦截器无法注入对象的解决
  10. 老李说事:性能测试服务日记
  11. 如何打开浏览器的TLS 1.1 TLS 1.2支持
  12. UNIX文件系统概述
  13. windows10华硕安装杜比音效
  14. 云路php解密网站源码_云路PHP解密-免费PHP文件解密工具
  15. web前端二维码打印模板编辑
  16. word2016从某一页开始插入新的起始页码
  17. Android11 图片裁剪问题
  18. Mac OS X 背后的故事(三)Mach之父Avie Tevanian 1
  19. 通过python添加ad域账号_基于python LDAP3的AD域账号注册系统
  20. 文艺APP合集丨小众但只有眼光独特的人才会发现的一些手机软件

热门文章

  1. 开发语言大爆炸的时代,究竟谁主沉浮?
  2. 前瞻科技,引领未来!Microsoft Connect(); 2018即将重磅来袭!
  3. ASP.NET Core 中的中间件
  4. IdentityServer4(10)- 添加对外部认证的支持之QQ登录
  5. TypeScript 2.5 发布,增加语言级重构
  6. ASP.NET Core MVC I\/O编程模型
  7. 拥抱.NET Core,学习.NET Core的基础知识补遗
  8. AutoMapper 使用实践
  9. php5.3教程,Php 5.3发布
  10. CityEngine 2012与ArcGIS 10.2破解心得