首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建Java翻转Dominoes游戏

创建Java翻转Dominoes游戏
EN

Stack Overflow用户
提问于 2010-11-02 20:50:25
回答 1查看 2.1K关注 0票数 0

我正在创建一个java的多米诺骨牌游戏。

这是游戏板的外观:

代码语言:javascript
复制
SEEEEEEE
DDDDEEEE
EEEDEEEE
EEEDEEEE
EEEDEEEE
EEECEEEE

每个字母都是一个对象。S是一个开关,它是唯一可以触摸的值。D是一个Domino,它的状态要么是down,要么是up。如果Domino命中C,则C是游戏获胜的地方。

每个对象都有坐标,并将使用坐标进行初始化。例如)S在(0,0)中,S被初始化为Switch S= new Switch(0,0);

我的问题是:

1.)当按下S时,我该如何检查每一边,看看是否有Domino型?如果有多个边(N、S、E、W),该怎么办?

一旦在开关旁边发现了多米诺骨牌,他们的状态就必须变为Down,然后我们必须检查在down状态的Dominoes旁边有没有更多的多米诺骨牌,直到所有连接的多米诺骨牌都倒下。

2.)如何有效地创建包含这些对象的不同顺序的不同级别。我将使用双数组,因为级别大小是静态的,8 x 6。

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

谢谢,

费尔南多·迪亚兹

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-02 21:08:36

我会这样做:

假设Hit Queue是刚刚被击中的多米诺骨牌的列表(想象它们正在倒下,即将与其他骨牌相撞)。

如果Switch可以被视为Domino,则将其添加到命中队列中,然后启动下面的domino倒下算法。

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

Domino倾倒算法

代码语言:javascript
复制
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被击中时,或者当任何现有的domino不再有骨牌可击中时,它就结束了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4077784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档