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

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

#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;}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

研究生和本科生

一个月拼死拼活&#xff0c;一分钱不花才能买到连半个单人床都不到的屁大点地方。结婚得10年&#xff0c;买房得25年……这样生活还不如花5块钱买把犏刀抢银行&#xff01;&#xff01;&#xff01;于是我做梦手持菜刀&#xff0c;凶神恶刹一样冲到银行门口。突然&#xff0c;一…

微软面向初学者的机器学习课程:3.1-构建使用ML模型的Web应用程序

写在前面&#xff1a;最近在参与microsoft/ML-For-Beginners的翻译活动&#xff0c;欢迎有兴趣的朋友加入&#xff08;https://github.com/microsoft/ML-For-Beginners/issues/71&#xff09;构建使用ML模型的Web应用程序在本课中&#xff0c;你将在一个数据集上训练一个ML模型…

我们单位里新来的应届毕业生(转贴)

我在一个BBS上看到的贴,觉得很好玩,就转过来了....大家一起分享吧....1.公司新配给我一个助理.今天,我,助理以及我们老总,去局里开会.会毕,领导要写个注意事项给我们.我和老总当时拿笔都不太方便.我随口问助理..你带笔了吗?他马上回答:带了然后,几双眼睛看着他..接下来的十秒钟…

boost pool内存池库使用简要介绍

2019独角兽企业重金招聘Python工程师标准>>> 我厂内存次神马的一般都自己实现。我曾经也自己写过一个demo(mempool)。后来发现boost库里面有一个内存池库boost pool&#xff0c;貌似很好用&#xff0c;使用挺好&#xff0c;例子可以贴出来。 boost一共有4种内存池&…

嫁给我好吗?| 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅

c语言得到txt文件的长度,我利用C语言实现SHA-256算法,需要从一个txt文件中读出数据并把...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼并把得到的密文写入另一个txt文件张该怎么改代码啊&#xff1f;#include #include extern char* StrSHA256(const char* str, long long length, char* sha256);int main(void){char text[] "123";char sha256[65];StrS…

惠普前总裁孙振耀指点职业规划

HP大中华区总裁孙振耀退休感言&#xff1a;如果这篇文章没有分享给你&#xff0c;那是我的错。 如果这篇文章分享给你了&#xff0c;你却没有读&#xff0c;继续走弯路的你不要怪我。 如果你看了这篇文章&#xff0c;只读了一半你就说没时间了&#xff0c;说明你已经是个“茫”…

.NET Core etcd 配置源

etcd 是一个高可用的 Key/Value 存储系统&#xff0c;主要用于共享配置和服务发现&#xff0c;和目前比较主流的配置中心&#xff08;如&#xff1a;Spring Cloud Config、Apollo、Consul、Nacos&#xff09;、注册中心&#xff08;如&#xff1a;Zookeeper、Eureka、Consul、N…

继相对论、量子论之后,它的出现,给牛顿又来了致命一刀

全世界只有3.14 % 的人关注了青少年数学之旅前两天&#xff0c;有模友留言。今天&#xff0c;它来了。“微小的变化能带动整个系统的长期的巨大的连锁反应。”——节选自其实“混沌”一词&#xff0c;最早指的是宇宙未形成之前的混乱状态。/此混沌非彼馄饨/在希腊神话中&#x…

django基础1--django安装与helloworld测试

第一步测试服务器是否安装python直接输入python命令即可&#xff0c;ctrld退出第二步上传django安装包&#xff0c;解压进入后python setup.py install 安装第三步Python导入django看看是否生效先python进入python环境&#xff0c;然后import django命令查看是否正常执行第四步…

C#打造自己的文件浏览器

C#的功能十分强大&#xff0c;用它可以轻松地做出属于自己的文件浏览器。下面简单地介绍一下文件浏览器的大致实现过程。其中涉及的有关这些控件的具体用法可参见C#的联机帮助。你需要用到几个控件&#xff1a;TreeView(用于显示显示目录树)&#xff1b;ListView(用于显示文件和…

c语言函数调用二次方程求根,[编程入门]自定义函数求一元二次方程 (C语言代码)...

解题思路:别慌&#xff0c;慢慢看。注意事项:参考代码:#include #include double dt(double a, double b, double c);int main (void){double x1,x2,a,b,c,p,q;//p,q先别管待会说scanf("%lf %lf %lf",&a,&b,&c);//double类型lfif(dt(a,b,c)>0){x1(-bs…

Silverlight 里如何实现隐式样式,ImplicitStyleManager 的实现思想

在 WPF 中&#xff0c;我们可以方便的在全局范围定义一个样式&#xff0c;就可以应用到所有这种类型的对象&#xff0c;这就是所谓的隐式样式&#xff08;implicit Style)&#xff0c;比如&#xff1a; <Window x:Class"WpfImplicitStyle.Window1"xmlns"http…

如何排查 .NET 内存泄漏

内存泄漏通常表示&#xff1a;一个应用程序的某些对象在完成它的的生命周期后&#xff0c;由于它被其他对象意外引用&#xff0c;导致后续gc无法对它进行回收&#xff0c;长此以往就会导致程序性能的下降以及潜在的 OutOfMemoryException。这篇我们通过一个内存泄漏工具对 .NET…

这就是你在妈妈肚子里尿尿的样子 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅其实“站着说话不腰疼”是有科学依据的不同姿势下腰椎承受的压力是这样的三思逍遥这是你在妈妈肚子里尿尿的样子不少人觉得葡萄上白色的这一层粉是“脏”的表现其实它是葡萄的“果粉”不仅对人体无害还可以代表这个葡萄很新鲜现实告诉…

C#:装箱和拆箱相关知识整理

1、装箱和拆箱是一个抽象的概念 2、 装箱是将值类型转换为引用类型 &#xff1b; 拆箱是将引用类型转换为值类型 利用装箱和拆箱功能&#xff0c;可通过允许值类型的任何值与Object 类型的值相互转换&#xff0c;将值类型与引用类型链接起来 例如&#xff1a; int val 100;…

Android 封装handler,android封装工作线程跟Handler工具类

直接上代码&#xff0c;不解说 - -基于MVP封装P的基类AbsHandlerThreadHelper.javaimport java.lang.ref.WeakReference;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import android.content.Context;import android.os.Handler;impor…

c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法

usingSystem;usingSystem.IO;usingSystem.Data;usingSystem.Text;usingSystem.Diagnostics;usingSystem.Security;usingSystem.Security.Cryptography;/**//* * .Net框架由于拥有CLR提供的丰富库支持&#xff0c;只需很少的代码即可实现先前使用C等旧式语言很难实现的加密算法…

WPF中TreeView.BringIntoView方法的替代方案

WPF中TreeView.BringIntoView方法的替代方案 周银辉 WPF中TreeView.BringIntoView&#xff08;&#xff09;方法并不是那么地好用&#xff0c;不少时候会没有效果&#xff0c;这里有一个替代方案&#xff0c;调用SelectItem&#xff08;&#xff09;方法可以展开并呈现TreeView…

C# WPF MVVM项目实战(进阶①)

这篇文章还是在之前用Caliburn.Micro搭建好的框架上继续做的开发&#xff0c;今天主要是增加了一个用户窗体TestFormView&#xff0c;然后通过TabControl&#xff0c;将新增的窗体加载到主界面上进行分页显示&#xff0c;新增的页面引用了WPF UI&#xff1a;WPF Datagrid合并表…