我的第一个游戏: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 条评论
登录 后参与评论

相关文章

来自专栏海说

Java应用中常见的JDBC连接字符串(SQLite、MySQL、Oracle、Sybase、SQLServer、DB2)

Java应用中常见的JDBC连接字符串 Java应用中连接数据库是不可或缺的,于是便整理一些可能用到的JDBC的jar包及其相匹配的URL,以备日后查阅。 1)...

2710
来自专栏码匠的流水账

聊聊spring cloud的AbstractLoadBalancingClient

本文主要研究一下spring cloud的AbstractLoadBalancingClient

832
来自专栏张善友的专栏

Using sqlite with .NET

The other day I found that there is a .NET wrapper for sqlite. sqlite is a very ...

2258
来自专栏菩提树下的杨过

SqlTransaction事务使用示例

using System; using System.Data; using System.Data.SqlClient; using System.Co...

1838
来自专栏c#开发者

C# : row-clickable GridView and get and set gridview rows using JavaScript

Complete C# code: ---------------- using System; using System.ComponentModel; ...

2986
来自专栏码匠的流水账

聊聊EurekaRibbonClientConfiguration

spring-cloud-netflix-eureka-client-2.0.0.RELEASE-sources.jar!/org/springframewor...

1161
来自专栏积累沉淀

Hive2.0.0操作HBase 1.2.1报错解决

首先看错  org.apache.hive.service.cli.HiveSQLException: Failed to open new session: ...

2329
来自专栏谈补锅

记录C#常用的代码片段

using Newtonsoft.Json; using Newtonsoft.Json.Linq;

912
来自专栏飞扬的花生

日志帮助类

 1.代码 using System; using System.Collections.Generic; using System.Linq; using S...

1909
来自专栏成长道路

JDBC动态SQL语句连接orcale数据库的工具类

import java.sql.Connection; import java.sql.DriverManager; import java.sql.P...

2450

扫码关注云+社区