「玩一玩」策略游戏《蜂窝大战 Hive Battle》抢旗模式复刻版

Conmajia 2012-07-05 04:51:18
加精
下午看到数独游戏都出来了,很是给力。本人大爱数独。
我也来发一个游戏。

(源代码在一楼楼底)

《蜂窝大战(Hive Battle)》,这是我命名的。准确地说,学名应该叫做「Hexomania」,可以翻译成「疯狂六边形」,个人认为蜂窝有意思些。
也许有人没有接触过这个游戏,下面介绍一下。本文最后是源代码,防止有「收藏家」不看正文直接下载。

我的这个版本基本复刻了挪威佬Bishoy Mamdouh的「Hexomania in C#」,原来的代码很蛋疼,优化了下代码,做成了「抢旗模式」。(其实现在的代码还是很蛋疼,一边听音乐一边做,压根没打算整理代码,设计架构之类)

参考下面的截图(来自我的《蜂窝大战复刻版HiveBattle》)



2个以上玩家参与游戏,按照回合制进行。每回合每个玩家可以移动一枚六边形棋子,但棋子移动后必须保证其周围6个格子内至少有一枚棋子。即不能出现新的「孤岛」(周围棋子被移走形成的孤岛不在限制之列)。

每次玩家移动棋子后,作为目标的「旗帜」会随机向周围逃跑1格距离。玩家的目标是利用地形优势或直接使用棋子将己方颜色旗帜(默认玩家1为蓝色)「限制」在1格中,使其不能移动,则抢旗成功。下面是抢旗成功的例子。



注意如果包围圈破裂,旗帜会逃出来。

这里有一张游戏时的动画演示,供参考(较大,加载较慢)



这个游戏代码较多,我不讲解代码了,只说明下绘制蜂巢的方法。

0.用一个二维数组保存蜂巢形态

1.设计一个DrawHex()方法,用于绘制单个蜂室

2.根据设计的蜂巢大小,按从上到下,从左到右的方式遍历绘制所有蜂室,跳过空洞

3.绘制棋子、旗帜

这个游戏的变种非常之多,而且变化能力非常之强,希望大家积极创造。

---------------
参考源代码:下载

© 2012 conmajia '野比' <conmajia@gmail.com>
...全文
3795 88 打赏 收藏 转发到动态 举报
写回复
用AI写文章
88 条回复
切换为时间正序
请发表友善的回复…
发表回复
b8820230 2012-07-23
  • 打赏
  • 举报
回复
。。。好高级
Conmajia 2012-07-18
  • 打赏
  • 举报
回复
[Quote=引用 110 楼 的回复:]
可否讲解下原理,以及其中的思路之类的
[/Quote]

数据存在二维数组中,简单的人工智能在Cost()里,在Paint里绘制棋盘棋子。。

建议分开来看代码。。重点在Board.cs和Player.cs里。。
Sam830131 2012-07-18
  • 打赏
  • 举报
回复
可否讲解下原理,以及其中的思路之类的
Conmajia 2012-07-17
  • 打赏
  • 举报
回复
[Quote=引用 107 楼 的回复:]

看看代码先。。 哇咔咔!!!
[/Quote]

[Quote=引用 108 楼 的回复:]

源代码 没看懂啊。。 华丽丽啊。。 要死了!!!
[/Quote]
你真可爱啊。。。
Louis-Lv 2012-07-17
  • 打赏
  • 举报
回复
源代码 没看懂啊。。 华丽丽啊。。 要死了!!!
Louis-Lv 2012-07-17
  • 打赏
  • 举报
回复
看看代码先。。 哇咔咔!!!
LAONINGA098 2012-07-17
  • 打赏
  • 举报
回复
感谢分享!
bjgary25 2012-07-15
  • 打赏
  • 举报
回复
good!!!!!!!!!!!!!!!!!!!!
suyuan1111 2012-07-15
  • 打赏
  • 举报
回复
很有意思
「已注销」 2012-07-14
  • 打赏
  • 举报
回复
看一下只是
lcy198989 2012-07-14
  • 打赏
  • 举报
回复
思路很好,可以考虑
Conmajia 2012-07-14
  • 打赏
  • 举报
回复
[Quote=引用 98 楼 的回复:]

用什么语言写的啊???
[/Quote]

C#2.0
a403713699 2012-07-14
  • 打赏
  • 举报
回复
用什么语言写的啊???
Dogfish 2012-07-14
  • 打赏
  • 举报
回复
good
nevedemony 2012-07-13
  • 打赏
  • 举报
回复
这。。。给智力人玩儿的。。。
goright12 2012-07-13
  • 打赏
  • 举报
回复
还没玩过,不过只是想知道那种逻辑、代码和算法
Conmajia 2012-07-13
  • 打赏
  • 举报
回复
[Quote=引用 90 楼 的回复:]

电脑智力还是差了点
[/Quote]

你可以修改Cost()方法,AI判断在里面,默认是比较弱智的。
android_Y 2012-07-13
  • 打赏
  • 举报
回复
电脑智力还是差了点
will_kings 2012-07-13
  • 打赏
  • 举报
回复
1024
lifeizs 2012-07-12
  • 打赏
  • 举报
回复
话说 楼主 你是用什么写的
加载更多回复(68)
代码转载自:https://pan.quark.cn/s/eefcd5647328 在信息技术行业中,BIOS(基本输入输出系统)扮演着计算机硬件与操作系统之间的重要桥梁角色,其主要职责包括对硬件进行初始化和检测,以及负责启动操作系统的加载流程。联想Y430P作为一款广受用户青睐的便携式计算设备,而“联想Y430P-刷BIOS V3.66”特指将这款设备的BIOS版本升级至V3.66的具体操作。此类操作有时是不可或缺的,因为BIOS的升级能够修正已知的系统缺陷,优化硬件的互操作性,或者提升整体运行效能。 我们必须明确为何需要进行BIOS的刷新操作。联想Y430P设备可能存在某些功能上的约束,比如网卡白名单机制,这种机制会限制用户更换非原装硬件设备,例如无线网络适配器。网卡白名单是BIOS内嵌的一种安全防护措施,它仅允许经过认证的特定型号网卡在系统中正常工作,以此来保障系统的兼容性与稳定性。然而,这种安全特性同时也对用户自主进行硬件升级造成了限制。通过安装新版本的BIOS,我们可以移除这类限制条件,使系统能够识别并兼容更多种类的网卡设备,具体而言,在更新至BIOS V3.66版本后,用户可以自由更换网卡和显卡,而不会触发设备未获授权的警示信息。 在执行BIOS刷新操作之前,必须保持高度的审慎态度,因为不恰当的BIOS更新可能导致设备无法正常启动。以下是进行BIOS刷新的标准流程: 1. **保存当前BIOS状态**:在执行更新之前,强烈建议对现有的BIOS进行备份,以便在更新后出现问题时能够迅速恢复至初始状态。 2. **获取精确版本的BIOS更新包**:需从官方渠道或可信赖的第三方资源中下载与联想Y430P设备相匹配的BIOS V3.66升级文件。 3. *...

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧