c语言 回合制小游戏,一个回合制小游戏的设计笔记

发在这的目的:

1.做个记录

2.与人交流讨论

场景:二维方格组成的场景,一个格子里只能有一个单位,每个单位都会占据自己的格子。

行为:每个回合里,每个单位都有一定的行为点数,单位的任何行为都需要消耗点数,行为点数仅在当前回合有效、不能累积。行为包括战斗、移动等。

玩家操作:每个回合开始前(回合准备阶段),每个玩家向自己的单位发出一系列命令,这些命令将在回合执行时生效。每个玩家都确认命令发布完毕或超时候,开始执行这一回合。

回合执行:执行回合准备阶段里所收到的所有命令。在逻辑上,所有行为会同时执行。

行为说明:

1.移动。每个单位每个回合内只能移动一格。回合执行时,所有单位的移动都是同时发生的。

假设单位A在位置a,单位B在位置b,位置a与b相邻。移动规则:

若单位A保持不动,单位B向位置a移动,则单位B移动失败、留在原位。

若单位A和单位B都向位置c移动,且位置c原来为空,则单位A和单位B进行竞争,胜者移动到位置c,败者留在原位,且该回合中无法再次进行移动。

若单位A向位置b移动,单位B向位置c移动且移动成功,则单位A的移动也成功。但若单位B的移动失败,则由于B留在原位,所以单位A的移动也会失败。

若单位A向位置b移动,单位B向位置a移动,且没有其他单位参与竞争,则单位A和单位B都移动成功。

2.近距物理攻击:

物理攻击的时间单位是回合。一个单位只能攻击自己相邻格子里的单位。同一回合内,移动和攻击可以各执行一次。攻击命令有两种方式指定目标:指定一个目标单位,或者指定一个目标格子(相对坐标)。

指定目标单位:当前回合内,当移动全部结束后,如果目标仍然还在自己的攻击范围内,则对其实施攻击,否则不攻击任何目标。

指定目标格子:指定一个相对于单位自身的格子,如单位左边的格子,当移动全部结束后,如果左边的格子里还有单位(不论敌我),则对其实施攻击,否则不攻击任何目标。

把自己与目标接近的速度称为相对速度:若两者在接近,则相对速度为正数;若相对位置不变,则相对速度为0;若相对位置在远离,则相对速度为负数。

攻击伤害与相对速度成正比;命中率则与相对速度的绝对值成反比。

3.远距离物理攻击:

与近距离物理攻击类似,不同点为:

攻击范围不是一格范围,而是多格范围,但范围不能覆盖整个场景。

远距离物理攻击在进行命中判定时,首先判定是否成功实施了发射,如果不成功则没有任何影响,如果成功,再判定攻击打中了哪个格子,击中位置以目标格子为圆心向外散布,目标格子被击中的概率最高,相邻的格子其次……距离目标格子的距离与其被击中的概率成正相关。击中范围是有限的,其直径与自己与目标的距离成正比。击中范围内最多只有一个格子会被本次攻击所击中。一次攻击最多只能击中一个格子。

命中的准确性仍然像近距离物理攻击那样,受到相对速度的影响。

击中判定也是在所有移动结束后进行的。

4.魔法:

待定。

攻击判定:

某个回合里,单位A和单位B互相攻击,则此次攻击产生的伤血全部使用该回合开始时双方的属性,本次攻击导致的属性变化要在下一回合才会生效。所以可能出现攻击双方同归于尽的情况。

场景类别:

一种是有限场景,即场景四周是有边界的;另一种是无限场景,当一个单位在边界向边界外走时,会移动到对面边界,比如在左边沿向左移动时,会出现在右边沿的同一行的位置(如果移动判定通过的话)。

胜负判定:

第一种:对方单位全部阵亡则为赢;

第二种:占领对方阵地则为赢;

第三种:开始时一方包围另一方,被包围者突围则被包围者赢,被包围者全部阵亡则围攻者赢。

玩家数量:场景中至少有两个玩家,但也可以有多个玩家。

你可能感兴趣的:(c语言,回合制小游戏)