Jeu de l'oie

ayllau Messages postés 4 Date d'inscription dimanche 13 mars 2005 Statut Membre Dernière intervention 23 avril 2005 - 23 avril 2005 à 11:14
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 - 23 avril 2005 à 23:50
bjr!!
je fais la programmation du jeu de l'oie.
Un joueur gagne dès qu'il a atteint la case d'arrivée
(le jeu s'arrete )
j'aimerais savoir quelle boucle et quelles conditions utiliser pour cela,j'ai du mal.
merci d'avance!

1 réponse

WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
23 avril 2005 à 23:50
Attention, tout ce qui suit est allégé (toutes les declarations, allocations, etc ne sont pas presentes) et donné juste à titre indicatif.

Une classe joueur :

type
Joueur = class
private
FCase : Integer ;
function LancementDe : integer ;
procedure Deplacement ( valeur : integer ) ;
public
procedure joue ;
property Case : integer read FCase ;
end ;

function Joueur.LancementDe : integer ;
begin
// code de gestion du lancement du(des) dé(s)
// ...
result := random(6) + 1 ;
end ;

procedure Joueur.Deplacement ( valeur : integer ) ;
begin
// code de gestion du déplacement
// ...
// Mise à joueur de l'information
FCase := "case où se situe le joueur"
end ;

procedure Joueur.Joue ;
begin
Deplacement ( LancementDe ) ;
end ;

La boucle principale :

PartieFinie := FALSE ;
while ( not PartieFinie ) do
begin
for i:=1 to NombresDeJoueurs do
begin
Joueur[i].Joue ;
if ( Joueur[i].Case = DERNIERE_CASE ) then
begin
PartieFinie := TRUE ;
break ; // sortie du for
end ;
end ;
end ;

Cordialement.
0
Rejoignez-nous