Je travaille sur un jeu minimal avec Java et MySQL. J'ai rencontré quelques difficultés avec la façon de concevoir mes tables correctement. J'ai besoin de quelques conseils: Permettez-moi d'être précis, j'ai 3 classes:Comment concevoir la base de données pour cette situation?
Noeud
public class Node {
private Integer id;
private Integer position;
private Integer foodTax;
private Boolean hasTreasureMap;
private Integer currentPlayer; // playerId
Trésor
public class Treasure {
Integer id;
private Integer position; // nodeId
private Integer goldValue;
Joueur
public class Player {
private Integer id;
private Integer wealth;
private Integer strength;
private Integer start;
private Integer goal;
private Integer currentPosition; // nodeId
private Integer currentGoal; // another nodeId
private Vector<Integer> path;
private Vector<Integer> treasureIds;
private int currentMoveIndex;
Graph<Integer> telescope;
Je suis un débutant à mysql , et base de données en général. Je pense que je dois utiliser une clé étrangère dans ce cas. Cependant, je suis encore vague sur la façon de l'implémenter. En outre, il existe plusieurs contraintes:
- La position du trésor est fixe.
- La position du nœud est fixe.
- Seule la position du lecteur peut être modifiée.
- Un nœud ne peut avoir qu'un joueur à la fois (j'essaie de le rendre aussi simple que possible, car s'il y a deux joueurs dans le même nœud, je ne sais pas comment le gérer)
Donc la seule clé étrangère ici est, à mon avis, l'identifiant 'currentPlayer' de la classe Node? Corrigez-moi si j'avais tort. Une idée?
Meilleures salutations, Chan Nguyen
Quel type de données voulez-vous stocker? Qu'est-ce que tu vas faire avec ça? Il est difficile d'aider à concevoir des tableaux quand on ne sait pas à quoi ils serviront. – FrustratedWithFormsDesigner
Ma carte est un tableau bidimensionnel d'entier.Donc, toutes les positions sont des entiers. Je vais mapper cet entier à une coordonnée (x, y) lors du dessin. Mais ce n'est pas du tout pertinent pour la base de données. Merci pour votre réponse. – Chan