begin process at 2010 02 10 06:43:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

Gérer des scores


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Gérer des scores

vendredi 14 avril 2006 à 12:28:37 | Gérer des scores

Ishizaki


Salut !

Voilà, je vais expliquer mon dilemne.

Je fais actuellement un Puissance 4 en Delphi. Donc pour l'instant, les scores ne sont pas gérés, et c'est ce que je voudrais faire.
En fait, j'ai déjà créé une table sous Interbase, une Table JOUEUR(d'ailleurs c'est la seule table de la base) qui contient les champs codejoueur, pseudo,score. Voilà, donc pas grand chose.

Donc, dans un menu, je choisis, dans les combobox, les 2 joueurs qui vont participer à la partie, et c'est là que je me demande comment faire.
En fait , j'ai déjà gérer le puissance 4 en lui-même, tout marche impec en ce qui concerne la victoire des points rouges ou des points jaunes.
En gros, j'affecterais la couleur rouge dans la 1ere combobox qui correspond au joueur n°1, et la jaune pour la 2ème.

Je me demandais si créer une classe Joueur ne serait pas utile mais je ne vois pas comment faire pour gérer le truc en association avec une base de données dans laquelle je mettrais à jour les scores de chaque joueur...

Alors voilà, je voudrais avoir votre avis sur la façon de gérer le truc, merci ^^.

Capture de la saisie des joueurs:




je quote tu quotes...

vendredi 14 avril 2006 à 12:41:37 | Re : Gérer des scores

guigui265

Je ne comprend pas trop ton probleme... tu veux rajouter le dernier score du joueur a celui cumulé pour ce meme joueur?
dans ce cas, lorsque tu selectionne ton joueur, tu récupere le cumul et a la fin de la partie, tu update le cumule avec cumul+score actuel
@+
guillaume
vendredi 14 avril 2006 à 12:50:50 | Re : Gérer des scores

Ishizaki

Oui je l'avais vu comme ça aussi, en faisant un Update dans une requête sql.
Mais, c'est juste entre les 2, affecter la couleur au joueur, ensuite on regarde la couleur qui a gagné et l'on met à jour le score du joueur en fonction de la couleur, par exemple, si c'est la couleur rouge qui gagne, c'est le joueur de la 1ere combobox qui cumule ses points et pareil pour les jaunes avec le joueur n°2.

J'arrive pas bien à me visualiser la chose à faire en pratique...:/.

je quote tu quotes...

vendredi 14 avril 2006 à 13:57:21 | Re : Gérer des scores

f0xi

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
ignore les couleurs, seul les joueurs comptent.

données sur le joueurs (profil) :

Identifiant  Description              Type
(ID)         Identificateur du profil (integer)
(name)       pseudo                   (varchar)
(psw)        mots de passe            (varchar)
(totalpnts)  points total             (integer)
(totalgames) parties jouées           (integer)
(totalwins)  parties gagnées          (integer)

les points doivent respecter ces regles :
- plus on fait de coups moins on gagne de points.
- plus on gagne des parties contre un meme joueurs, moins on gagne de points.
- un match nul ne donne pas de points.
- si on gagne contre un joueur contre lequel on a perdus on gagne plus de points.
- une partie abandonnée ne donne pas de points.

il faut ensuite une structure pour les joueurs et les pionts pendant le jeux :

TPionts = (pnRed,pnYellow);

TPlayer = record
   ProfilID  : integer;   // ID
   Pseudo    : string;    // name
   OldScore,              // totalpnts
   CurrentScore : integer;// init = 0
   Victoires : integer;   // totalwins
   PlayedGame: integer;   // totalgames
   Pionts    : TPionts;   // init = pnRed ou pnYellow
end;

a la selection des joueurs, on charge les profils.

pendant le jeux on sait que joueur1 joue avec les pionts rouge et joueur2 avec les jaune.
comme on a stocké l'ID des profils et les valeurs importante, on peu facilement mettre a jours les données.

a chaque gain de points et victoire, on mets a jours les données dans le type TPlayer et a la fin de la partie on enregistre les modifications dans la BDD,
pourquoi ? car en cas de plantage systeme ou de l'application, on perd la partie en cours et on ne mets pas en danger l'integritée de la BDD.

donc seul la fin normale d'une partie ou l'abandon de cette derniere permet d'enregistrer les modif dans la BDD.

vendredi 14 avril 2006 à 13:59:51 | Re : Gérer des scores

f0xi

Membre Club Administrateur CodeS-SourceS
un autre truc aussi, l'avantage d'un puissance 4, c'est que l'on joue au tours par tours ... on sait donc pertinament qui est en train de jouer et donc a qui donner les points et la victoire.

vendredi 14 avril 2006 à 14:01:37 | Re : Gérer des scores

Ishizaki

Et bien merci beaucoup, je pense que cette astuce va m'aider ^^.

Y'a plus qu'à :).

Encore merci.

je quote tu quotes...

vendredi 14 avril 2006 à 14:18:45 | Re : Gérer des scores

Ishizaki

Heu si, encore un petit quelque chose, on a le droit d'écrire ce genre de chose:

(en ayant assigné auparavant un tpe à joueur 1 et joueur 2 comme tel: j1,j2:Tplayer;)
j1.id:=.... ?

je quote tu quotes...

vendredi 14 avril 2006 à 14:36:07 | Re : Gérer des scores

f0xi

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
oui oui

c'est le but, l'enregistrement TPlayer vas permettre de definir deux variables de ce type :

var
  J1, J2 : TPlayer;

et ensuite il faudrat assigner les données respective a J1 et J2

par exemple

le joueur 1 se connecte et rentre son mots de passe,
on detecte le profil dans la BDD et on assigne les données a J1
l'ID permet de recuperer au plus vite l'entrée du profil dans la base de données.

idem pour joueur 2.

on peu commencer la partie.

en code ça donneras :

function GetProfil(Name,Password : string) : TPlayer;
begin
    .. ouverture du profil Name, Password ...
   result.ID := ... recuperation de l'id du profil ...
   result.... := recuperation des données ...
end;

procedure Form1.Button1Click(Sender : TObject);
begin
  case ConnexionJoueur of
   1 : J1 := GetProfil(EditName.Text,EditPassw.Text);
   2 : J2 := GetProfil(EditName.Text,EditPassw.Text);
  end;
end;







Cette discussion est classée dans : voil, table, gérer, scores, joueur


Répondre à ce message

Sujets en rapport avec ce message

Conservation de données... [ par mentral ] Bonjour à tous, Voilà... je suis en train de programmer un petit jeu, et j'aimerais bien savoir comment faire pour enregistrer les meilleurs scores de Locate [ par VashTheStampede ] bonjour, j'ai un locate qui marchait et qui ne marche plus. l'erreur est une violation de clé je ne comprends vraiment pas.voici mon code:with joueur dblookup et requete (delphi) [ par okeefe ] je mentionne que j'ai posté sur des dizaines de forum et j'ai eu de solution...j'ai une table succursale ayant les champsnosuccursaleadressetelnoville Champs Chamboulés [ par apz ] Salut,1- En voulant avoir une table *.DB à partir d'une table *.DBF, en utilisant le Module Base de Données (Outils/Utilitaires/Copier), j'avais dans Savoir si une table est vide [ par jbob ] Bonjour,Comment faire pour qu'a l'ouverture de mon appli, j'ai un message qui me dit que ma base (table1) est vide ?Paradox7 et D4Merci de vos réponse Indexation DBase / Table level changed ? [ par byby ] Je viens du clipper et voudrais me mettre au DELPHI :Je n'arrive pas a (re)indexer un fichier DBase (clipper) avec la sequence d'instructions suivante Dbedit et Query 1 [ par Jetro ] Voila mon prob , Sur delphi je ve afficher les données de ma base de donnée pour cela g mis un DBGrid qui m'affiche les informations de ma table ARTI incrementation [ par okeefe ] sous interbase, je sais pas trop comment my prendre pour la situation suivante...j'ai une table location, une table voiture et une table qui relie les Images dans une table Paradox [ par Zitoune34 ] bonjourj'ai créé une petite bd paraodx qui contient pour l'instant une seule table afin d'enregistrer des infos sur mes divx. Le probleme c'est que je !!!!!!!!!!problème de base de données!!!!!!!!!! [ par jejestyle ] je voudrait faire un programme me permettant de calculer ma moyenne automatiquement mais j'ai un problème.Comment fait on pour mettre deux table de do


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales