【问题标题】:Making a Bejeweled Blitz clone [closed]制作 Bejeweled Blitz 克隆 [关闭]
【发布时间】:2025-11-28 23:40:01
【问题描述】:

所以我必须在 C# 中为我的 Programming I. 类制作一个 Bejeweled Blitz 克隆,但我有点坚持,因为它有点超出我目前的知识,所以我想从你们那里得到一些帮助。

任务如下:

制作一个 Bejeweled Blitz 克隆。在这个游戏中,场地最大为 79*24, 场上散落着不同颜色的球。这 游戏的目的,是通过切换来擦除尽可能多的球 两个相邻的球,这样就会有两个或更多的球 彼此相邻的相同颜色。这些球被从比赛中抹去, 并且它们上面的球占据了它们各自的位置和空虚 在场地的顶部将充满随机的新球 颜色。擦除球的价值取决于擦除的数量 球。所以 2 个被抹去的球价值 2 分,最高 5 分。在 游戏开始时玩家说出他们的名字和持续多长时间 他们想在几分钟内玩。游戏结束时玩家的 名称、比赛时间和得分进入 排行榜,按时长排列,然后得分。这 排行榜存储在 txt 文件中。

所以这就是我必须用 C# 编写的程序。我不太确定如何做到这一点,所以我非常感谢一些帮助。提前致谢!

【问题讨论】:

  • 除了为您完成任务外,我不确定您对我们的期望是什么?我敢肯定你的学校一定给了你别的东西?至少有一个库或引擎可以进入?
  • 我认为您应该将排行榜存储在文本文件中。
  • 想想您需要的类、它们的行为以及程序的设计。如果到目前为止您还没有在课堂上学到这一点,那么这里可以做的事情并不多。
  • 写一堆代表问题中名词的类。编写表示动词的方法。使用从控制台读取输入并写入控制台进行输出。当您有文本版本工作时,请继续添加更多功能。遇到编程问题时再回到 SO。
  • 你说的太宽泛了?我在第一段中说过它在我之上,所以是的,我期待一个带有说明的解决方案,以帮助我理解它是如何完成的,但那没关系。

标签: c# clone


【解决方案1】:

我理解您的问题,因为当我在学校时,我的游戏开发项目也遇到了同样的问题。我的答案将成为一个起点,因此它可能会引起您的一些仇恨。

首先你要清楚

  1. 游戏的实体对象。例如 GEM 将如何存储在内存中,或者鼠标悬停时的行为等。您需要将它们写下来并基于它们定义各种类。 [仅限伪类]
  2. 那么,如果需要,您需要搜索游戏引擎,我宁愿使用默认的 WPF 或 Windows 窗体,因为当我开始学习 C# 时,它们就在我的技能范围内 [哦,我建立了一个国际象棋游戏]。
  3. 了解如何在不包含按钮或文本字段但可能包含图片框的屏幕网格上处理鼠标单击。并通过鼠标位置找到底层宝石等。
  4. 然后附上它们:)。

是的,这是最简单但也是最艰难的开始。但是,如果您完成了#1,一切都会变得清晰。我把我的国际象棋游戏源放在http://vschessmania.codeplex.com/ 它只使用上面的开始,不同的游戏,但拥有你需要用游戏引擎构建的所有东西。

【讨论】: