gpt4 book ai didi

C++ Bejeweld 链表与数组列表

转载 作者:行者123 更新时间:2023-11-30 15:57:48 27 4
gpt4 key购买 nike

我将用 Glut 和 Opengl 用 c 语言构建我自己的 gem game info(wiki) .

短游戏信息游戏由一个网格组成,比如说 8x8,其中有不同的 gem 。当您创建至少 3 个相同类型 gem 的行/列时,通过交换两个相邻的 gem , gem 将会消失。比赛 field 将从顶部开始填充。

两种设计理念链表与数组

有多种方法可以实现这一点,但我想要最容易维护和最有效的方法。我的想法是:

(二维数组代表比赛 field /网格)。

1)包含所有指向gem对象(实例)的指针的链表。以及一个二维数组,其中包含指向链表元素的所有指针,以便快速访问列表。链表可用于轻松打印游戏对象。每个链表对象都带有一个位置( gem 、记分板、时间等)

2)与上面的想法相同,但是每行列都有一个链接列表,以及其他游戏元素的链接列表

3) 只有一个带有指向对象/实例(gems)指针的二维数组。

所需操作

-通过交换指针来交换元素( gem )?

-“创建”新元素(在网格顶部)

-检查至少有 3 个彼此相邻的相同类型 gem 的行/列

我希望我已经说清楚了。您认为最好的解决方案是什么?

最佳答案

我认为使用链表太过分了。我能想到的唯一有用的就是从顶部掉落 gem ,但即使这样对于 2D 数组来说也是相当微不足道的。

int 的二维数组应该没问题。简单又快速。

关于C++ Bejeweld 链表与数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10237180/

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