写在前面
本人是刚开学的大一新生,目前正在学习C语言,文章仅具有纪念成长的意义,若要参考请谨慎。
(这并不是老师的作业)
创作契机
迫切地想要将所学应用于实践,更主要的原因是中午被自己的傻龙翻盘了= =
本文想要写的就是5%最具有戏剧性的燃烧权杖
算法设计
输入双方的血量,进行随机的炎爆(-10血)打击,直到一方血量小于等于0,输出结果。
首先是“随机”,这是超出我目前学习范围的问题。经过我在各大论坛的搜罗,有了通过stdlib.h和time.h头文件生成随机数的办法。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int ran;
time_t t=time(NULL);
srand(t);
ran = rand();
return 0;
}
由于随机数过大 有以下办法
ran = rand()%10;
这样可以使生成随机数在0-9之间。自然想到了用0-4和5-9来分别判断对哪一方造成伤害。
其余的循环、输入输出等都已在课上学过。通过循环判断可以实现程序。
此外,还需要借助windows.h头文件下的Sleep来实现暂停一秒,括号内单位为毫秒。
Sleep(1000);
再加一点皮的东西,完整程序如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
int main() {
int a,b,ran,x,y;
printf("傻龙燃烧权杖模拟器\n请输入我方血量和敌方血量:");
time_t t=time(NULL);
srand(t);
scanf("%d",&x);
scanf("%d",&y);
if(x>y)
printf("不会吧不会吧 不会有人血比别人多还打不死对面吧\n");
Sleep(1000);
while(x>0&&y>0)
{
ran = rand()%10;
if(ran<5)
{x-=10;printf("%d %d\n",x,y);}
if(ran>=5)
{y-=10;printf("%d %d\n",x,y);}
Sleep(1000);
}
if (x<=0)
printf("你没了,对面还剩%d血\n真的是个大笨蛋\n",y);
if (y<=0)
printf("对面没了,你还剩%d血",x);
return 0;
}
总结
作为刚刚开始学习的大学生,我很高兴可以写出自己第一个测试欧非(?)的程序。
很欢迎各位大佬来帮忙斧正,改进,指导我,不胜感激。希望各位看到这篇文章的可以见证我的成长,共同进步。
编程人,编程魂,编程都是人上人。👻