学了半年C,感觉一直在完成别人的任务(以前见过别人做猜拳的游戏),我就想着自己做点什么来玩玩,于是花了几天时间自己做了个小游戏,以本文回顾我是如何写的🙂
我想做回合制,凭我目前这点实力也只能做出回合制的一点点皮毛_(:з」∠)_
应用商店随便找哒,搜C语言就行(第一次是用VS2022完成的)
首先写框架🙂
然后我需要人物的固有属性,那就是血和蓝🧐
以及他的技能,谢谢你结构体
好的,那么就该创建人物了ヾ(❀╹◡╹)ノ゙❀~
利用指针为血和蓝赋值,并检查有没有问题
似乎没有,那么接着是技能
不知道是不是我记错了,这样写出错让我有点意外
创建技能,以同样的方式创建牛头人这个人物,当然,不一定只有两个技能
那么最后是战斗过程了
声明定义 一个FIGHT函数并把四个数据传入作为回合制,它整体应该是一个循环,而第一个判断条件对应第一个出招的人,我写的是玩家先手,当然也可以随机先手,接下来让玩家选择技能,输入对应数字即可,而其他数字会引向default,不使用技能或进行不耗蓝的普攻
错误示范,第一次到这没发现,应该是case1和case2的
我造成伤害时,应该检查对方是否还有血量剩余,如果小于0,则结束游戏
利用随机数来创造一个并非只会用一个技能的“AI”
接下来为了防止玩家没蓝还可以放技能,我设置变量ba来划分情况
用while来确定choose最终值,sme(skill me)[1]是所有技能中蓝耗最低的那个,如果目前剩余蓝条比它还小,那么玩家只能普攻或什么也做不了了(这里我没写普攻),而choose-1才能得到对应技能的数据,最后既然引入ba,它必然要对玩家技能选择的switch语句产生影响
可以看到只要蓝量大于最低技能蓝耗且选择上符合技能对应数字范围这个循环没有问题
最后我加上一个字符数组来在某些地方布置缓冲,不让字一下子全出来
这样看上去比较舒服
后来我还尝试加入一些特性,比如防御,在释放某个技能后设置变量x在本回合内改变,对于敌方技能,我的血量减少为伤害*(1-x),还有暴击,设置随机数当它为0时造成暴击,或者是流血效果等等,可惜的是我目前只能让他以文字的形式出现,想要做出图像化的游戏只靠C还是不够的(*•̀ᴗ•́*)و ̑̑给我自己加油
随机出现的百豪状态
减伤效果