我想用.NET创建棋盘游戏。
你们为这样一个项目建议了哪些框架?我知道this主题,但这不是我想要的。
答案 0 :(得分:5)
如果您说GUI现在不重要那么您不需要任何游戏框架,这只会让您在制作游戏时变慢。 Windows窗体对您来说绰绰有余。
您应该专注于实施游戏引擎程序集。这个程序集应该有一个开放的通信协议,不应该知道任何GUI。换句话说,您应该将引擎与GUI分离。
稍后,您和其他人可以用他们选择的语言创建一个GUI,它将使用您的协议进行通信并显示您游戏的位置。
祝你好运!答案 1 :(得分:4)
如果你想在.NET中做一些与游戏开发相关的事情,你最好的方法就是使用.NET XNA Framework。
就制作游戏板而言,您需要学习如何编写视频游戏;实际上没有'内置'拖放式创建板游戏框架。
看起来有人在XNA 4.0中有how to create a 'board based' game的教程。
答案 2 :(得分:1)
如果您正在制作象棋这样的棋盘游戏,并且您并不真正关心将其用作游戏编程组合中的一块,那么我建议您只使用Windows UI框架,例如WPF。在这样的系统上插入事件非常容易,您将可以在Visual Studio中使用集成的UI布局设计器。只需制作一个按钮网格(使用图像作为其内容)/其他控件。这样您就可以花费更少的时间来查看它的外观,以及与图形/ UI相关的编程任务,并快速让您对游戏逻辑进行编程。
如果您将此项目用于游戏编程组合,我同意George - 使用XNA。如果你这样做,请让艺术家朋友为你处理UI设计和图形内容(当然不是图形编程)。
你也可以拥有两全其美。您可以使您的游戏逻辑与UI无关,并在以后编写更好的UI。邮政国际象棋证明了这一点。
答案 3 :(得分:1)
这里的关键是以逻辑和UI分离的方式设计应用程序。如果您正确地执行此操作,那么您可以自由地使用一系列不同的UI,可能从控制台开始,使用“调试”风格的WinForms应用程序,使用专为您的消费而设计的粗略界面,然后最终使用更精美的界面供别人玩。
答案 4 :(得分:0)
上次我需要一块电路板时,我只是创建了一个二维的用户控件数组,为每个用户控件提供了一个边框,并让他们的paint方法在电路板内部绘制了任何东西。您可以让您的电路板用户控制和您的游戏块用户控制是单独的对象或相同的对象,具体取决于您正在做什么。这个策略只需要几个小时的时间,并为您提供强大的动力。例如,可以轻松添加功能来识别拖放,点击等内容。
创建游戏板的另一种方法是使用DataGridView。这真的不是该类的预期用途,而且代码会变得有点难看,但是如果你在它周围写一个包装器,它可能不会太糟糕。
答案 5 :(得分:0)
就个人而言,我创建了一个具有一点AI的Connect4应用程序,并使用数据库支持从其错误中“学习”作为我的高级项目。一些建议提示:
此外,如果您决定选择Connect4的路线,请按以下方式设置我的课程:
C4Board.cs
C4Board Insert(int col)
将返回新的GameBoard或抛出自定义异常。GamePlayer.cs 的 - 枚举(NULL,P1,P2) - 允许您从GamePlayer更改的扩展方法 - >游戏币
GamePiece.cs 的 - 枚举(EMPTY,BLACK,RED) - 允许您从GamePiece更改的扩展方法 - >的游戏玩家
GameWinner.cs 的 - 枚举(无,P1,P2,领带)
这是一款简单的游戏,具有简单的规则,易于分离你的逻辑和添加AI等。它比尝试下棋或Go游戏等要好得多。