12-12-2012, 08:13 PM
Ok je vois un peu mieux ce que tu veux.
Voici comment ta table combat doit être formée, au minimum.
Donc quand Joueur 1(id = 1) défie Joueur 2 (id = 2), cela crée un enregistrement avec simplement les identifiants de ces deux joueurs dans la table combats.
Ensuite, joueur 1 va jouer la partie de tetris. Admettons qu'il fasse 2000 points.
Tu vas donc ajouter cette valeur dans ton combat.
Ensuite, 2 heures après, joueur 2 se connecte et voit qu'il a encore un défi auquel il n'a pas joué, il joue et fait 1300 points.
Tu vas donc ajouter cette valeur dans ton combat.
Maintenant tu sais que les deux joueurs ont terminé le défis, car joueur_a_joue = 1 et adversaire_a_joue = 1 aussi. Tu peux donc déterminer le résultat et le stocker (ce n'est pas nécessaire de le stocker, mais disons que c'est plus simple par après).
Voici comment ta table combat doit être formée, au minimum.
Code :
id
id_joueur (id du joueur qui défie)
id_adversaire (id du joueur défié)
resultat (0 = joueur perd, 1 = joueur gagne, 2 = égalité)
joueur_score (score du joueur)
adversaire_score (score de l'adversaire)
joueur_a_joue (0 = joueur a pas encore joué, 1 = joueur a joué)
adversaire_a_joue (0 = adversaire a pas encore joué, 1 = adversaire a joué)
Donc quand Joueur 1(id = 1) défie Joueur 2 (id = 2), cela crée un enregistrement avec simplement les identifiants de ces deux joueurs dans la table combats.
Code :
id_joueur = 1
id_adversaire = 2
Ensuite, joueur 1 va jouer la partie de tetris. Admettons qu'il fasse 2000 points.
Tu vas donc ajouter cette valeur dans ton combat.
Code :
joueur_score = 2000
joueur_a_joue = 1
Ensuite, 2 heures après, joueur 2 se connecte et voit qu'il a encore un défi auquel il n'a pas joué, il joue et fait 1300 points.
Tu vas donc ajouter cette valeur dans ton combat.
Code :
adversaire_score = 1300
adversaire_a_joue = 1
Maintenant tu sais que les deux joueurs ont terminé le défis, car joueur_a_joue = 1 et adversaire_a_joue = 1 aussi. Tu peux donc déterminer le résultat et le stocker (ce n'est pas nécessaire de le stocker, mais disons que c'est plus simple par après).
Code :
Si joueur_score < adversaire_score
resultat = 0
Ajouter la récompense à joueur
Sinon si joueur_score > adversaire_score
resultat = 1
Ajouter la récompense à l'adversaire
Sinon
resultat = 2
Ajouter une demi récompense aux deux
Fin Si