gpt4 book ai didi

java - 创建 Java 翻转多米诺骨牌游戏

转载 作者:行者123 更新时间:2023-12-01 16:00:27 24 4
gpt4 key购买 nike

我正在创建一个 java 多米诺骨牌游戏。
这就是游戏板的外观:

SEEEEEEE
DDDDEEEE
EEEDEEEE
EEEDEEEE
EEEDEEEE
EEECEEEE

每个字母都是一个对象。S是一个开关,它是唯一可以触摸的值。D 是一个多米诺骨牌,它的状态要么是 down,要么是 up。C 是如果多米诺骨牌击中 C,则游戏获胜。

每个Object都有坐标,并且会用坐标进行初始化。例如)S 在 (0,0) 中, S 初始化为 Switch S = new Switch(0,0);

我的问题是:

1.) 当按下 S 时,我将如何检查每一侧,看看是否有 骨牌?如果有多个边(N,S,E,W)怎么办。

一旦在交换机旁边发现多米诺骨牌,它们的状态必须更改为“Down”,然后我们必须检查处于“Down”状态的多米诺骨牌旁边是否有更多多米诺骨牌,直到所有连接的多米诺骨牌都已关闭。

2.) 如何有效地创建包含不同订单的不同级别 这些物体。 我将使用双数组,因为关卡大小是静态的,8 x 6。

3.) 将来我想制作一个带有图像的游戏板,而不是文本。 我该怎么做呢? 我的事情是给某种类型的对象一个图片属性,然后在板上显示图片。每个对象的大小相同。

谢谢你,
费尔南多·迪亚兹

最佳答案

我会这样处理:

Hit Queue成为刚刚被击中的多米诺骨牌列表(想象它们正在下落,正要与其他多米诺骨牌相撞)。

如果 Switch 可以被视为多米诺骨牌,则将其添加到命中队列中,然后启动以下多米诺骨牌折叠算法。

如果Switch不能被视为Domino,则先在算法中间执行检查,然后再开始算法。

多米诺骨牌折叠算法

While (Domino C is not Down) AND (Hit Queue is not empty):
Let New Hits be an empty queue of dominoes
For each Domino in Hit Queue:
mark Domino as Down
Check each adjacent position (NSEW) for a domino:
If one is found, add a reference to it to New Hits
Replace Hit Queue with New Hits
Update GUI (make Down dominoes red or something)

Let Victory be a Boolean equal to whether Domino C is Down

这本质上是一波又一波地向外移动,每波之后都会更新 GUI。当 C 被击中或没有更多的多米诺骨牌可供任何现有多米诺骨牌击中时,它结束。

关于java - 创建 Java 翻转多米诺骨牌游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4077784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com