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互相攻击,则此次攻击产生的伤血全部使用该回合开始时双方的属性,本次攻击导致的属性变化要在下一回合才会生效。所以可能出现攻击双方同归于尽的情况。

场景类别:

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

胜负判定:

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500183.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android menuitem 字体颜色,安卓更改Menu的字体颜色(使用actionLayout,适用于多个fragment)...

与普通menu不一样的是,需要改变字体颜色的Item使用了app:actionLayou属性(使用android:actionLayout不起作用),个人测试当使用了这个属性,android:title将不会显示。上图为actionLayout的布局,使用padding是因为margin不起作用上图…

android 格式化分区,Android FAT分区格式化

如果要在机器内部的EMMC上创建SDCARD分区,就需要把它格式化成FAT文件系统,否则开机后,会提示你的sdcard需要格式化。我这里说一下怎么去用烧写image的方式去格式化sdcard分区。以下步骤都是在ubuntu系统上做的。1.首先要知道自己的sdcard分区…

pc版android sd卡,告别瓶颈:安卓闪存(SD卡)I/O优化

告别瓶颈:安卓闪存(SD卡)I/O优化闪存(SD卡)调度器现在电脑的瓶颈往往不是什么内存CPU,而且吱吱嘎嘎的硬盘。在安卓机上,情况十分类似——虽然安卓机和SSD一样使用闪存,但没有专门的主控,速度好不到哪里去。由于成本限制…

android 常用开发插件,Android Studio 开发利器【常用插件】

1.ADB IdeaADB操作快捷菜单,快速清除数据,重启应用,卸载应用等快捷键:Windows: CtrlAltShiftAMac OSX: CtrlShiftA当然,你可以在KeyMap处修改为自己喜欢的按键。2.postfix支持Log,Toast,Logd的快速书写3.AndroidCodeGe…

android mov转mp4格式转换,如何在线将MOV文件转换成MP4文件?

Renee Video Editor-功能强大的视频编辑软件免费 软件免费试用(仅限非商业用途)。视频剪辑 支持简易剪辑、批量剪辑、高级剪辑。操作简单 界面简洁,只需简单几步即可快速完成操作。功能强大软件还支持剪切、裁剪、旋转、转换、合并、特效、水印、字幕等多种功能。格…

android 弹窗 onpause,Android 下拉通知栏时Activity的生命周期——重新理解onPause()

下拉通知栏时发生了什么在某个APP中,发现下拉通知栏的时候,正在播放的视频会暂停,于是有点好奇这段操作是不是在生命周期中实现的。在网上众多关于Activity生命周期的讨论中,很多人认为onPause()和onStop()的区别就是“部分遮挡”…

html5文章页面,文章页面的设计《 HTML5 与 Bootstrap 应用实例 》

文章页面的设计跟主页差不多,页头,底部边栏,还有页脚都是一样的,不同是,页面的主内容区域分成两部分 ... 左边占用 8 个网格宽度,显示文章的内容,比如标题,正文,文章的评…

qwebkit 服务器调用本地html方法,用qt的QWebkit类调用谷歌地图

先说下,我这悲剧的一天,用qt5.0.2这个版本搞了一个上午都没有搞出来,无赖呀。。。突然想了下,还是换个版本吧!就用qt4.7.4版本了,哎哟喂,居然就调出来了呢!其实网上的文章大多是复制…

win7设置定时锁定计算机,Win7系统锁定计算机怎么设置?Win7系统锁定计算机的设置方法...

相信大家都知道,长时间不操作计算机,计算机就会自动进入锁定状态,不过,最近有Win7系统用户表示不想让计算机自动进入锁定状态。那么,Win7系统锁定计算机怎么设置呢?下面,我们就一起往下看看Win7…

计算机考试用英语怎么说,“全国大学生计算机等级考试一级”英语怎么说?

“全国大学生计算机等级考试一级”的英文:National College Computer Grade Examination Level 1examination 读法 英 [ɪg,zmɪneɪʃ(ə)n; eg-] 美 [ɪgzməneʃən]作名词的意思是: 考试;检查;查问短语:1、medica…

计算机专业在湖南录取分数,计算机科学与技术专业分数线各大学排名(湖南)

摘要:导读:计算机科学与技术专业分数线多少?招生考试网小编根据各个大学在湖南的录取分数线,整理了 计算机科学与技术专业分数线排名 供填报志愿的考生和家长参考: 计算机科学与技术专导读:计算机科学与技术…

rr计算机专业英语,《计算机专业英语》电子教本8.pdf

《计算机专业英语》电子教本8Chapter 1 The History and Future of ComputersChapter 1 The History and Future of ComputersCChhaapptteerr 11 TThhee HHiissttoorryy aanndd FFuuttuurree ooff CCoommppuutteerrssKey points:Key points:KKeeyy ppooiinnttss::Key points:Ke…

win8 必须重新启动计算机才能关闭用户账户控制,windows8中怎么关闭用户账户控制(UAC)仅针对单个用户...

1、登陆 Windows 8 Metro 界面,单击左下角桌面图标,如下图:2、登录桌面后,使用组合热键“Windows X键”调出快捷菜单(如果桌面已经调出控制面板图标,直接双击打开),左键单击控制面板,如下图&am…

计算机硬件在线修复,计算机硬件维修

计算机硬件维修没人能保证自己的电脑不出故障,电脑和其故障就像人和影子,你不知道它什么时候会出现在你的眼前:“昨天晚上还好好的,今天突然就开不了机了。”第一花费不少,第二耽误时间。如果你了解这些故障的原因&…

Objective-c格式化输出格式

Objective-c格式化输出格式:%Objective-C object, printed as the string returned by descriptionWithLocale: if available, or description otherwise. Also works with CFTypeRef objects, returning the result of the CFCopyDescription function.%%% character.%d, %DSi…

在计算机网络中发送电子邮件遵循的协议是,一、计算机网络刷题

connect函数返回错误ECONNREFUSED:如果对客户的SYN的响应是RST,则表明该服务器主机在我们指定的端口上没有进程在等待与之连接(例如服务器进程也许没有启动),这称为硬错(hard error),客户一接收到RST,马上就返回错误ECONNREFUSED.…

JSON特殊字符处理

1.json结构中使用的标示符:都为英文格式冒号 :双引号 ""大括号 {}方括号 []逗号 ,2.使用注意要确保在json的结构中,使用以上标准的标示符来构建结构。其中的键值串都由双引号引起来,键值串中不能包含双引号和转义字符。在键值…

常用Mac小命令

Lion显示资料库:chflags nohidden /Users/用户名/Library消除Dock隐藏延迟:defaults write com.apple.Dock autohide-delay -float 0 && killall Dock

iOS开发内存管理总结

一、retain、copy、assign的区别:1.retain:当对一个对象A调用retain,然后赋值给B时,对象的引用计数加1,A和B指向同一个内存地址。2.copy:当对一个对象A调用retain,然后赋值给B时,对象…

微型计算机的应用特点,微型计算机的特点及应用

微型计算机的特点及应用计算机基础知识,1.1 走进计算机世界 计算机的发展历史 微型计算机的特点及应用 1.2 计算机是如何工作的 计算机的硬件组成 计算机的软件系统 1.3 计算机外部设备 计算机的存储设备 输入输出设备 1.4 计算机安全规范,(2)按功能分类,按功能分类一般可分为专…