【问题标题】:Real time browser game fight system [closed]实时浏览器游戏战斗系统[关闭]
【发布时间】:2014-10-15 06:51:48
【问题描述】:

最近我一直在阅读有关 JS、Ajax、jQuery 的文章,并决定使用这些语言编写一个系统。首先,我想这样做是为了教育和学习。因此,可以说有一个游戏,其中一件事是与敌人作战,而战斗系统不是基于“点击”的。它是这样的:

  1. 然后打开一个页面代码向MySql发送查询,获取玩家信息,比如他有什么样的技能,血量,伤害等。

  2. 代码根据玩家的技能创建按钮或图像

  3. 每个技能都有自己的冷却时间

  4. 代码检查剩余冷却时间是否为 0 秒,如果是,则激活按钮或图像,如果没有,则让用户按下它,然后在下方设置一个计时器,该计时器显示当计时器达到 0 时技能再次可用的剩余时间该按钮激活。

  5. 当使用某些技能时,会有额外的冷却时间,这会增加所有技能的所有技能和计时器

  6. 当一切正常并使用技能并在 mysql 中更新内容时

  7. 然后所有重复直到敌人或玩家死亡

  8. 这一切都是实时发生的

嗯,基本上它是类似丝绸之路、WOT、LOL 和几乎所有 MMORPG 游戏等 PC 游戏中的技能系统。

我一直在尝试用 Ajax、JS 来做这件事,但我想不出最好的方法,记住它既快速又安全。

我不是要求完整的代码,只是一些信息最适合执行此操作以及如何执行此操作。

谢谢。

【问题讨论】:

  • 哪个功能最好做什么?整场比赛?有很多功能
  • 这个项目对于学习练习来说听起来有点太大了。你为什么不尝试做一些不那么具有挑战性的事情,比如在线笔记应用程序。如果您掌握了基础知识,请尝试添加更多功能(例如登录/能够从任何地方查看您的笔记、富文本格式等)。我认为这比实时多人在线游戏更可行。
  • "can't figure out best way" - 如果你真的在寻找最好的方法(这不是“我不知道”的委婉说法),那就不要。以您知道的任何方式实施它。然后你就可以改进了。
  • 发货比完美好:)
  • 问:你怎么吃大象? A:一次一口。这太过分了!

标签: javascript php jquery mysql ajax


【解决方案1】:

您不能只使用 AJAX 来使用 Javascript 制作实时游戏。你需要把自己变成插座。

套接字基本上是一种双向持久连接:当您发出 http 请求时,您打开请求,服务器响应您,然后关闭请求。这使得构建实时应用程序变得困难,因为服务器无法在没有打开请求的情况下将数据推送给您。套接字在您和服务器之间保持现有连接,因此它就像您和服务器之间的永久通道。

您可以查看 Node.js,它非常适合这种套接字的使用。 对于其他问题,我建议您自己多搜索一点;)

【讨论】:

    【解决方案2】:

    我回答这个是为了建议。

    我曾经处于你的位置,想要在几乎没有经验的情况下创建“最酷”的游戏。这是一个很难进行的游戏,尤其是当您需要询问某人从哪里开始编写代码时。我的建议:掌握编程基础和最佳实践。观看教程并从小项目开始。否则我保证你最终会得到错误的、损坏的、意大利面条式的代码。

    1. 学习基本的 JavaScript。我更喜欢租一本实体书,但互联网上也有一百万个教程。创建有趣的小项目来展示理解。

    2. 学习服务器端语言(如 PHP)。从制作简单的应用程序开始。深入了解客户端-服务器模型。一旦你掌握了窍门,就开始改进你的数据库技能,在 MySQL 或类似的东西上。 (提示,这是一种存储游戏数据的方式)。

    3. 学习 jQuery 和 AJAX。不要重复,但要不断学习。承担具有挑战性但又不至于不堪重负的任务。了解如何操作 DOM 并使用 AJAX 在客户端和服务器之间进行通信。这一切都联系在一起。

    4. 学习 Node.js 和 Socket.io。这只是一个建议。这两个库都非常适合构建实时游戏。但是如果不掌握上面列出的基础知识,您将无法理解这些软件包。它们都在 JavaScript 中。 Socket.io 网站上有一个很棒的聊天教程。

    5. 在开始新游戏之前完成游戏。不要像我一样承担太大的项目。从小处着手,并非所有游戏都必须具有惊人的图形才能变得有趣。除非这是一场彻底的灾难,否则不要放弃所有代码来重新开始。有一个计划并坚持下去。

    总之,在做一些太难的事情之前要掌握核心概念。

    编辑:我刚刚阅读了您关于您具有 PHP 和 C++ 知识的评论。但我不会改变我的答案。无意冒犯,经验丰富的程序员不会问这样的“菜鸟”问题。阅读书籍/教程,在努力寻找解决方案后,在未来提出具体、高质量的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多