首页 0852游戏合集 正文

手机上的回合制游戏哪个好?这几款让你停不下来!

今天心血来潮,想搞个小游戏demo,就那种最老套的回合制,你打我一下,我打你一下的那种。以前也做过一些,但没怎么好好记录,这回准备从头到尾好好理一理。

搞起!

先打开Unity,建个新项目,取个名字就叫"RoundFight"。然后捏两个方块,一个当玩家,一个当敌人,染个色,红的是玩家,蓝的是敌人,就位!

然后就开始写代码。回合制嘛最关键的就是个你来我往的过程。我琢磨着,得有个东西来管这个流程,就建个脚本叫“GameManager”。

先定义几个变量:

    小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

  • 玩家的血量,playerHP
  • 敌人的血量,enemyHP
  • 当前是谁的回合,用个布尔值isPlayerTurn,true就是玩家回合,false就是敌人回合

开始的时候,肯定是玩家先动手,所以isPlayerTurn上来就给个true。

然后写个函数叫ChangeTurn(),用来切换回合。每次切换,就把isPlayerTurn反过来。true变false,false变true。

再写个函数,叫PlayerAttack(),玩家攻击敌人。这里面,敌人血量enemyHP就得减掉点具体减多少,看你心情,我这里随便写个10。然后,调用ChangeTurn(),轮到敌人。

敌人攻击也一样,写个EnemyAttack(),玩家血量playerHP减掉点我也写个10。再调用ChangeTurn(),又轮到玩家。

逻辑写好,咋触发?

我这里就偷个懒,直接在Update()里面判断。如果现在是玩家回合(isPlayerTurn是true),按下空格键,就执行PlayerAttack()

如果现在是敌人回合(isPlayerTurn是false),就让它等一秒,然后执行EnemyAttack()。这里用Invoke()函数来延迟执行,简单粗暴。

把GameManager脚本挂到场景里的一个空物体上,就叫它"GameManager"。

运行!

按下空格,敌人掉血,然后过一秒,玩家掉血,再按空格,敌人再掉血……循环往复,回合制的感觉就出来!

这只是个最最最简单的架子,连个UI都没有,简陋的很。后面还可以加很多东西,比如:

  • 用个UI显示血条,看起来更直观。
  • 攻击力、防御力啥的,都可以加进去,让战斗更丰富。
  • 加点技能,比如玩家可以放个火球,敌人可以加个盾,更有意思。
  • 甚至可以加点随机性,比如暴击、闪避啥的。
  • 我找到一些回合制游戏,像什么《动物历险记》、《奥拉星》、《长安幻想》、《女神异闻录:夜幕魅影》等等,都可以参考参考。

今天就先到这儿,以后慢慢完善!