我对编程很陌生,所以请多多包涵。
对于我的大学项目,我正在开发一个Java桌面应用程序,该应用程序使用MySQL来实现数据库。对于GUI,我正在使用JavaFx和Scene Builder。 我正在制作的应用程序的灵感来自Google Play商店中某些基于Android的应用程序,即“ Life is a RPG”和“ Habitica”。它们有点像“生产力”应用程序,可帮助您将想要执行的任务添加到应用程序,然后在完成所述任务时在应用程序的“经验值”和“金牌”中奖励您。它需要老式的rpg问题,并尝试以“类似任务”的方式组织必须执行的任务。
那是我最初的想法。我的老师要我添加一些功能。即,他希望我的应用程序的用户能够彼此形成“小组”或“聚会”,并参与某种小组活动,他们都在进行相同的活动,因此,要为所述活动获得奖励。
在通过教程进行搜索时,我设法找到并实现了该应用程序的基本功能,例如登录用户或添加任务等。但是,我无法弄清楚的是我该如何做此用户之间的互动是在应用内进行的。很抱歉,我的问题听起来不太宽泛,但我一直在查找它,却无法理解或提出有关如何告诉我的程序用户A与用户B互动的想法,并且他们正在共同完成某项任务。
我再次为相当愚蠢的问题和冗长的文字表示歉意。在这方面的一些帮助或澄清将是高度赞赏的。就我需要研究和学习的内容而言,即使在正确方向上有一点也对您有很大帮助。
谢谢。
答案 0 :(得分:1)
由于这是非常广泛的内容,因此我将为您提供高级答案。各个桌面客户端都共享同一数据库(MySQL)。
因此,您可以在数据库中解决此问题。
一种选择是拥有某种“小组任务”。您的应用程序的每个用户都可以注册该任务,当它“完成”时,每个人都会获得一些积分。
要管理此问题,您可能必须在数据库中建立表:
每个任务都需要一个唯一的ID,然后您可以在合作者表中引用该ID。
Task table:
-------------------------
| ID | Task |
=========================
| 1 | Slay dragon |
-------------------------
Collaborators table:
-------------------------
| Task | User |
=========================
| 1 | Moe |
-------------------------
| 1 | Homer |
-------------------------
在此示例中,Moe
和Homer
的任务是杀死一条龙。一旦龙死了,双方都可以得到一些积分。这是一个非常非常简单的示例。通常,您将有更多的表。至少一个给用户等。
但是除此之外,这将是一个高级想法。显然,您将需要构建一些UI来允许用户参与任务等。但是我相信您可以弄清楚这一点。