「玩一玩」策略游戏《蜂窝大战 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>
...全文
3551 88 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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)

111,092

社区成员

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

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

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