学了半年C制作的小游戏

学了半年C,感觉一直在完成别人的任务(以前见过别人做猜拳的游戏),我就想着自己做点什么来玩玩,于是花了几天时间自己做了个小游戏,以本文回顾我是如何写的🙂

我想做回合制,凭我目前这点实力也只能做出回合制的一点点皮毛_(:з」∠)_

应用商店随便找哒,搜C语言就行(第一次是用VS2022完成的)

1fd95ee3b73d4634b253229772bc2352.jpg

 

首先写框架🙂

然后我需要人物的固有属性,那就是血和蓝🧐

以及他的技能,谢谢你结构体

6d45b30780994631be2f4daab1b6a92d.jpg

好的,那么就该创建人物了ヾ(❀╹◡╹)ノ゙❀~

28136637236e4d09b173948712c9a76b.jpg f31ee2e833484ef5819673f879478a56.jpg

利用指针为血和蓝赋值,并检查有没有问题

似乎没有,那么接着是技能 

 不知道是不是我记错了,这样写出错让我有点意外3913c326401b4cf592fa44d44803f12d.jpg

 创建技能,以同样的方式创建牛头人这个人物,当然,不一定只有两个技能02dd5bc12b8f4867b64d77b67af4ccb5.jpg

 e3dd359a0c4746f991321a2b1707cfeb.jpg

那么最后是战斗过程了

声明定义 一个FIGHT函数并把四个数据传入f3f9c5da76a24f1f87b11ebddc2459e2.jpg作为回合制,它整体应该是一个循环,而第一个判断条件对应第一个出招的人,我写的是玩家先手,当然也可以随机先手,接下来让玩家选择技能,输入对应数字即可,而其他数字会引向default,不使用技能或进行不耗蓝的普攻

fe7de55d177e459683d089f239f89888.jpg 0282428a49014bff8bff1e13f571ddbc.jpg

 错误示范,第一次到这没发现,应该是case1和case2的c73dff7ca23d405396c44722bbacf8b1.jpg

 我造成伤害时,应该检查对方是否还有血量剩余,如果小于0,则结束游戏

利用随机数来创造一个并非只会用一个技能的“AI”cd4491ae5027451c900f4b41423c308a.jpg

 接下来为了防止玩家没蓝还可以放技能,我设置变量ba来划分情况972370b04bef48e4ad78fff8ed0f6478.jpg

用while来确定choose最终值,sme(skill me)[1]是所有技能中蓝耗最低的那个,如果目前剩余蓝条比它还小,那么玩家只能普攻或什么也做不了了(这里我没写普攻),而choose-1才能得到对应技能的数据,最后既然引入ba,它必然要对玩家技能选择的switch语句产生影响

564caa8108a741e891315f1feca3a858.jpg

 可以看到只要蓝量大于最低技能蓝耗且选择上符合技能对应数字范围这个循环没有问题733eb2d0199c4e1b9a1bb02e14540f70.jpg

最后我加上一个字符数组来在某些地方布置缓冲,不让字一下子全出来

8a1ffbcc7ccf485b96ac738ee42bd403.jpg

972365dc923b4541b6910185ce34808d.jpg 7addf44c53d04d34b450fa82caa98b73.jpg

c34151d041fb419a919fef474f30c3f1.jpg 这样看上去比较舒服

后来我还尝试加入一些特性,比如防御,在释放某个技能后设置变量x在本回合内改变,对于敌方技能,我的血量减少为伤害*(1-x),还有暴击,设置随机数当它为0时造成暴击,或者是流血效果等等,可惜的是我目前只能让他以文字的形式出现,想要做出图像化的游戏只靠C还是不够的(*•̀ᴗ•́*)و ̑̑给我自己加油

随机出现的百豪状态

e231328dda344e03b02c9ccc50a855d1.png 

b470355fb9b64fedad3d01c3fda50d50.png

 减伤效果7c7246cae26a4f109a11071b6015b0b5.png

 

 

 

 

 

 

 

 

### PyCharm 打开文件显示全的解决方案 当遇到PyCharm打开文件显示全的情况时,可以尝试以下几种方法来解决问题。 #### 方法一:清理缓存并重启IDE 有时IDE内部缓存可能导致文件加载异常。通过清除缓存再启动程序能够有效改善此状况。具体操作路径为`File -> Invalidate Caches / Restart...`,之后按照提示完成相应动作即可[^1]。 #### 方法二:调整编辑器字体设置 如果是因为字体原因造成的内容显示问题,则可以通过修改编辑区内的文字样式来进行修复。进入`Settings/Preferences | Editor | Font`选项卡内更改合适的字号大小以及启用抗锯齿功能等参数配置[^2]。 #### 方法三:检查项目结构配置 对于某些特定场景下的源码视图缺失现象,可能是由于当前工作空间未能正确识别全部模块所引起。此时应该核查Project Structure的Content Roots设定项是否涵盖了整个工程根目录;必要时可手动添加遗漏部分,并保存变更生效[^3]。 ```python # 示例代码用于展示如何获取当前项目的根路径,在实际应用中可根据需求调用该函数辅助排查问题 import os def get_project_root(): current_file = os.path.abspath(__file__) project_dir = os.path.dirname(current_file) while not os.path.exists(os.path.join(project_dir, '.idea')): parent_dir = os.path.dirname(project_dir) if parent_dir == project_dir: break project_dir = parent_dir return project_dir print(f"Current Project Root Directory is {get_project_root()}") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值