发在这的目的:

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语言 回合制小游戏,一个回合制小游戏的设计笔记相关推荐

  1. C语言200行代码写一个贪吃蛇小游戏

    先看一眼主程序 一般小游戏的大致框架就是这个样子,这里主要分成画面的显示,与用户相关的更新,与用户无关的更新等三个部分.(完整代码附于文末) int main(int argc, char *argv ...

  2. c语言的有趣小程序,一个有趣的小程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 源码: #include #include #include #include #include HINSTANCE g_hInstance = 0; L ...

  3. 简单有趣的c语言小程序,一个有趣的小程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 源码: #include #include #include #include #include HINSTANCE g_hInstance = 0; L ...

  4. c语言趣味小程序,一个有趣的小程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 源码: #include #include #include #include #include HINSTANCE g_hInstance = 0; L ...

  5. c语言有趣的编程代码,一个有趣的小程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 源码: #include #include #include #include #include HINSTANCE g_hInstance = 0; L ...

  6. 设计一个回合制战斗系统Combat(C++)

    C++设计一个回合制战斗系统Combat 目录 C++设计一个回合制战斗系统Combat 题目 重要提醒 Soldier类 Wizard类 Master类 Warsystem类 题目 设计和实现回合制 ...

  7. c语言写一个简单的小游戏-推箱子

    在学习C语言之后,写了一个简单的小游戏来锻炼自己的代码以及C语言知识的掌握能力. 推箱子作为手机上最常见的简单游戏,其代码也相对简单,想法也比较简单,下面为其代码和运行图. /************ ...

  8. 一个简单的c 游戏编程语言,编程达人 c语言写一个简单的小游戏-推箱子

    在学习C语言之后,写了一个简单的小游戏来锻炼自己的代码以及C语言知识的掌握能力. 推箱子作为手机上最常见的简单游戏,其代码也相对简单,想法也比较简单,下面为其代码和运行图. /************ ...

  9. JAVA 面向对象编程练习(一个回合制的战斗游戏:战士,骑兵,法师,电脑互相攻击)

    文章目录 一. 小编有话说 二. 游戏的要求 三. 编程前的准备 四. 代码及详细注释 五. 结果 一. 小编有话说 前面一篇文章写了JAVA面向对象编程的思想,本文主要展示关于面向对象编程的实例(一 ...

最新文章

  1. [小算法] 找出单链表中的中间元素
  2. [AngularJS学习笔记] 基础学习01
  3. java中的快速生成代码
  4. CMD不能显示中文解决方案
  5. 数据库比特币勒索病毒攻击警示,云和恩墨技术通讯六月刊精选
  6. XMLHelper 辅助类
  7. 学java出来工作会很忙吗?
  8. CS和BS结构的优缺点
  9. “X“ In mathematics
  10. 如何开启深度学习之旅?这三大类125篇论文为你导航(附资源下载)
  11. 什么时候以及为什么基于树的模型可以超过神经网络模型?
  12. adb 操作命令简介(一)
  13. POJ - 2236 Wireless Network
  14. 实用主义学python 云盘_麻瓜编程实用主义学Python2018,资源教程下载
  15. latex各类符号(红心、方块、五角星等)集合
  16. element UI 之 el-cascader 下拉多级单选,每一级均可选中
  17. 【C语言作业7】猜数游戏:先由计算机“想”一个数请人猜,如果人猜对了,则计算机给出提示:“Right”,否则提示“Wrong”,并告诉人所猜的数是大还是小。
  18. surface pen未接触屏幕就有反应 解决办法
  19. 银湖网更改手机号那极致糟糕的体验
  20. NOIP-2011-J1-真题解析

热门文章

  1. hadoop碰到的 一个问题
  2. 页面某个模块的文字内容是动态的,可能是几个字,也可能是一句话。然 后,希望文字少的时候居中显示,文字超过一行的时候居左显示。该如何实现?...
  3. select默认下拉箭头改变、option样式清除
  4. launchMode
  5. transition过渡的趣玩
  6. Centos6的VSFTP服务器配置使用教程
  7. java 关键字 sizeof_Java 基本数据类型 sizeof 功能
  8. 客户机服务器文件更新,服务端数据更新,如何更新客户端缓存
  9. wcf获取MySQL中午乱码,如何启用WCF日志记录,以便它写入数据库?
  10. python3.6配置环境变量_python安裝及环境变量配置