ayllau
Messages postés4Date d'inscriptiondimanche 13 mars 2005StatutMembreDernière intervention23 avril 2005
-
23 avril 2005 à 11:14
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDerniè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!
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 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 ;