我的第一个游戏:GetMessage

这是一个合作类迷宫游戏

Github 项目地址

Day 1. 原型设计 (2014.11.06)

  • 类型:合作
  • 人数:2-3
  • 设定:房间,迷宫
  • 游戏原型

141109GameProto.png

  • 玩法:
    1. A 和 B 为合作玩家,在迷宫中互相交换信息(Ma,Mb)
    • G 为守门员,截留信息
    • A 起始点为左上角,用骰子决定移动点数,在移动完之后可以选择捡起 B 留下的 M,或者丢下自己的 M,或者什么也不做。
    • 格子之间的移动需要有门(=)才可以移动。
    • A 和 B 在 G 拿到4个信息前完成交换,即 B 拥有剩余的所有 A 的信息,A 拥有所有 B 剩余的信息,即赢,反之则输
    • 如果只有两个玩家,则需要设定 G 为 AI,或者一个移动策略,比如在有 M 的时候优先靠近最近的 M,在没有的时候,优先靠近最近的玩家。

Day 2. 实现迷宫&移动 (2014.11.07)

  1. 生成一个5*5的地图(大小可以很方便地改),用 Randomized Kruskal's 算法 算法生成联通所有房间的随机最少 path 图。
  2. 剩下的房间之间用门联通,拥有相应钥匙则可以通过。
  3. 增加锁钥机制,每个玩家只有4个包裹空间,可以放 message,也可以放钥匙。
  4. 玩家已经可以在地图中移动,但还未实现捡东西和掉东西。
  5. 双击 esc 或 ctrl+c 退出。

部分截图:

  • 游戏开始

141109GameStart.png

  • Player_A 拿到了6点移动点数,移动了4点后状态

141109PlayerMoving.png

Day 3. 主程序完成 (2014.11.08)

  1. 地图大小和 gatekeeper 是否 AI 可以在程序开头的常量里修改。
  2. 完成物品拾取,丢弃
  3. 完成自动 gatekeeper 的算法,简单来说就是如果有 message,追 message,如果没有,追 player_B。
  4. 胜利条件判断

部分截图:

  • 游戏开始

141109GameStart2.png

  • 游戏结束(player_A 和 player_B 虽然没有完成交换,但是 gatekeeper 已经没有胜利希望了。)

141109GameFinish2.png

都看到这了,留个言,点亮那个 ♡ 让我开心一下吧~~_

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是攻城师

如何合理的控制solr查询的命中的数量和质量?

3425
来自专栏熊彪的专栏

精准测分:基于函数调用关系链的用例消振算法 ( 上帝视角 )

地球文明不是孤岛,函数呢?从静态的视角观察函数,她只是一个一个在文件中孤立存在的代码片段。但从动态的视角观察,函数与函数之间就天然的发生了关联。这个关联是怎么产...

1280
来自专栏racaljk

当我们谈论计算机科学

下午偶有所悟,特作此文防止青年痴呆。 这学期的学习算是走了一半计算机科学概论。广度的学习通常会被指责为广而不精,但对我而言这是毫无意义的,因为 ...

804
来自专栏程序人生

打造属于你自己的乐高积木

夫鹄不日浴而白,乌不日黔而黑 -- 庄周 上面的这句话某种程度来说是不妥的,人性(这也是全体生物进化出的本能)趋利避害,如果不施加外力,很容易走向消极的一面。...

4058
来自专栏一个会写诗的程序员的博客

《Spring Boot极简教程》附录3 编程简史附录3 编程简史名词纪要参考资料

1801,Joseph Marie Jacquard用打孔卡为一台织布机编写指令,在提花织布机(或称甲卡提花织布机,Jacquard loom)上,运用打孔卡上...

592
来自专栏PPV课数据科学社区

数据挖掘系列(2)--关联规则FpGrowth算法

上一篇数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法介绍了关联规则挖掘的一些基本概念和经典的Apriori算法,Aprori算法利用频繁集的两个特性,...

3469
来自专栏数据结构与算法

P2782 友好城市

题目背景 无 题目描述 有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城...

2815
来自专栏纯洁的微笑

设计模式是什么鬼?

651
来自专栏一个会写诗的程序员的博客

附录B 编程的本质附录B 编程的本质编程的本质N小结编程简史名词纪要参考资料

尼古拉斯·沃斯(Niklaus Wirth,1934年2月15日—),生於于瑞士温特图尔,是瑞士计算机科学家。Pascal语言之父。

673
来自专栏编程

假如让你写一个年会抽奖程序……

刷微博的时候看到一家互联网公司组织年会,在抽奖的环节中,一群程序员觉得这个抽奖程序有猫腻,纷纷提出质疑,于是 CTO 就带头把程序代码显示出来,一个年会变成了一...

2206

扫码关注云+社区