【问题标题】:How to program multiplayer elements into a visual basic 2010 Game如何将多人元素编程到 Visual Basic 2010 游戏中
【发布时间】:2013-04-24 15:34:49
【问题描述】:

我刚刚完成了我正在设计的 Visual Basic 游戏的回合和卡片逻辑编程。

最初,用户在启动时可以选择游戏大小,无论是 2 人、3 人、4 人还是 5 人游戏。

所以我选择了 5 人游戏。当我从我的甲板阵列中选择 5 张球员卡时,将加载到每个球员卡阵列中。当他们打出他们的牌时,他们的牌会从他们的阵列中减去到弃牌阵列中。当deckarray 已满时,discard 数组成为新的deck,将其值加载到deck 数组中并将其值变为0。

目前每个玩家的回合都是由我称之为“T”的变量的值决定的。当玩家完成他的回合时,应用程序屏幕将所有代表卡片的复选框更改为代表下一个玩家卡片的值。所以本质上目前所有玩家共享同一个表单,并且只访问一台计算机。

回到我要问的问题,我如何在程序中实现网络代码以允许网络上的多台计算机连接和共享游戏会话,当 T 改变其值时,下一个玩家获得控制权“他们的”计算机上的屏幕。现在我不会担心所有玩家共享相同的表格并在轮到各自玩家时看到其他玩家的牌,我只想开始网络部分。

目前我正在使用visual basic 2010。我已经搜索了没有运气的教程。

希望我的问题不要太宽泛...很难缩小与多人游戏有关的网络问题。

【问题讨论】:

  • 一些代码通常会使整个过程变得更快。另外,为什么不尝试阅读一些教程,例如this one。如果您不明白,请向我们提出具体问题。
  • 我认为这个问题需要更具体一些,但它会得到更好的处理,即使重写,这里:gamedev.stackexchange.com
  • 我会考虑使用 WCF 创建一个可以向客户端引发事件的服务。
  • 您必须首先习惯于从客户端/服务器的角度来考虑它。服务器可能知道所有信息,而客户端仅具有特定于该客户端的该信息的子集视图。根据这些不同观点可能交换的信息来考虑您的游戏/程序(例如,“现在轮到玩家 3 了”)。
  • how do I implement network code into the program to allow for multiple computers on a network 我的第一个想法 - 买一本关于 VB.NET 网络的书,然后仔细阅读。看看你是否想出了下一步。

标签: vb.net


【解决方案1】:

我认为您以错误的顺序构建了应用程序(单用户移动到多用户)。不过不用担心,Microsoft 使用 DOS 和 Windows 做到了这一点,所以你的公司很好。

我建议从头开始,从头开始设计您的软件,使其成为多用户。

最简单的方法可能是使用非常小的数据库并使用查询来获取和设置游戏状态。

每台计算机都是“客户端”,其中一台也可以是“服务器”并保存数据库。

【讨论】:

  • 我一直在争论这样做。当我完成基本机制时,我不断回顾我本可以做得更好的事情。我开始编写这个游戏是为了真正帮助我理解 Visual Basic,所以一切对我来说都是新的,我学到了很多关于设计这个游戏的语言。我游戏的许多部分确实代表了我在编写游戏时所掌握的许多不同阶段的知识。我将从写下我的 persudo 代码开始,并思考如何将所有内容实现到数据库中。然后看看数据库将如何交流和更新用户屏幕。
  • 我重新开始,而不是数组,我将我所有的卡名、卡号、数量、伤害量和卡类型都加载到 SQL 表中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-24
  • 2019-05-28
  • 2019-06-02
相关资源
最近更新 更多