【炉石传说】用c语言编写燃烧权杖模拟器

写在前面
本人是刚开学的大一新生,目前正在学习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;
}

总结

作为刚刚开始学习的大学生,我很高兴可以写出自己第一个测试欧非(?)的程序。
很欢迎各位大佬来帮忙斧正,改进,指导我,不胜感激。希望各位看到这篇文章的可以见证我的成长,共同进步。
编程人,编程魂,编程都是人上人。👻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值