Forum Liberty Basic France
• Index
Je mets là la version la plus aboutie pour les pressés:
monopoly.zip
.....Suite d'un autre thread: 'http://libertybasic.fr/forum/topic-118.php#m1170
Je ne sais pas trop comment je vais faire pour donner la main à l'ordi un coup sur deux, vu que la ligne en question me laisse plutot perplexe.
notamment le: (joueur = 2) de: joueur = joueur + 1 - 2 * (joueur = 2)
Mhéééééééh d'oooù ça sort ce truc ????!
Bon, si tu veux voir.
Je ne suis pas mécontent, j'ai réussi à placer des choses "en relatif", avec ta méthode et tes variables. Y'a pas un seul bug.
Par contre, pour savoir à quel joueur j'ai à faire, je ne vois pas d'autre moyen que de poser des questions.
Pour l'IA, c'est toujours le meme problème: si elle est efficace, on ne gagne plus, et si elle est pas efficace, c'est pas la peine d'en faire une.
Les règles (provisoires): pour batir il faut posséder le terrain, on encaisse 200 à chaque tour (avec un léger retard),on paye des taxes si on est mal garé, ou si on squatte chez le voisin, les coins sont disposés aux quatres angles.....
Code JB :
monopoly.zip
.....Suite d'un autre thread: 'http://libertybasic.fr/forum/topic-118.php#m1170
Je ne sais pas trop comment je vais faire pour donner la main à l'ordi un coup sur deux, vu que la ligne en question me laisse plutot perplexe.
notamment le: (joueur = 2) de: joueur = joueur + 1 - 2 * (joueur = 2)
Mhéééééééh d'oooù ça sort ce truc ????!
Bon, si tu veux voir.
Je ne suis pas mécontent, j'ai réussi à placer des choses "en relatif", avec ta méthode et tes variables. Y'a pas un seul bug.

Par contre, pour savoir à quel joueur j'ai à faire, je ne vois pas d'autre moyen que de poser des questions.
Pour l'IA, c'est toujours le meme problème: si elle est efficace, on ne gagne plus, et si elle est pas efficace, c'est pas la peine d'en faire une.
Les règles (provisoires): pour batir il faut posséder le terrain, on encaisse 200 à chaque tour (avec un léger retard),on paye des taxes si on est mal garé, ou si on squatte chez le voisin, les coins sont disposés aux quatres angles.....

Code JB :
'http://libertybasic.fr/forum/topic-118.php#m1170 nomainwin WindowWidth = 700 WindowHeight = 530 UpperLeftX = Int((DisplayWidth-WindowWidth)/2) UpperLeftY = Int((DisplayHeight-WindowHeight)/2) statictext #v1, "xxxx", 520, 10, 150, 25 TEXTBOX #g.av1, 520, 30, 150, 25 TEXTBOX #g.av2, 520, 360, 150, 25 button #g.je, "Jouer",[jeu], UL, 640, 400 button #g.ach, "Acheter",[ach], UL, 570, 400 button #g.je, "Batir",[bat], UL, 515, 400 TEXTBOX #g.t1, 520, 450, 150, 25 open "Micro Monopoly" +space$(20)+ "...Ordinateur contre reste du monde..." For Graphics_nsb_nf As #g #g "Down; TrapClose [quit]" Print #g, "When rightButtonUp rightButtonUp"' prise de cote a suprimer DSizeX = 50 ' you can change this value to see ...! DIM caseX(16), caseY(16) 'coordonnées en pixel des 16 cases (la première étant en bas à droite et les suivantes dans le sens inverse des éguilles d'une montre. DIM valDe(2), DposX(2), DposY(2), posXpion(2), posYpion(2), oldXpion(2), oldYpion(2), oldSumD(2), colJ$(2) DIM ach(16,2), bat(16,2), capit(2) ' ajouté capit(1)=100000: capit(2)=100000 ' ajouté tx$="#g.av" +str$(joueur) ' ajouté DposX(1) = 200 :DposY(1) = 300 DposX(2) = DposX(1)+DSizeX+10 :DposY(2) = 300 colJ$(1) = "red" ' couleurs des pions des joueurs. colJ$(2) = "yellow" CouleurFond$ = "darkcyan" ' couleur du plateau CouleurCentre$ = "blue" ' couleur du carré central ' mise en place Grille etc... #g "down; fill ";CouleurFond$ Print text(520, 20,"Avoir Joueur 1") Print text(520, 350,"Avoir Joueur 2") PRINT #g.av1, str$(capit(1))' envoie capit danx textbox PRINT #g.av2, str$(capit(2))' envoie capit danx textbox #g "color black" case$ = "55 54 53 52 51 41 31 21 11 12 13 14 15 25 35 45" 'chaine de coordonnées des 16 cases "xy xy xy xy etc...) sQsize = int((WindowHeight-25)/5) 'grille = 5 x 5 cases -> de dimension proportionnelle à la hauteur de la fenêtre. for c = 1 to 16 x = val(left$(word$(case$,c),1)) :caseX(c) = (x-1)*sQsize 'mémorise en pixels y = val(right$(word$(case$,c),1)) :caseY(c) = (y-1)*sQsize #g "place ";caseX(c)-1;" ";caseY(c)-1;" ; box ";caseX(c)+sQsize;" ";caseY(c)+sQsize next #g "backcolor ";CouleurCentre$;" ; color ";CouleurCentre$ 'carré central #g "place ";sQsize;" ";sQsize;" ; boxfilled ";sQsize*4;" ";sQsize*4 ' initialise la position de départ sur la première case. for joueur = 1 to 2 posXpion(joueur) = caseX(1) + 30 + 30*(joueur-1) posYpion(joueur) = caseY(1) + 30 oldXpion(joueur) = posXpion(joueur) oldYpion(joueur) = posYpion(joueur) oldSumD(joueur) = 1 ' la case actuelle des joueurs gosub [affPion] next joueur = 2 '''' #g "when leftButtonDown [draw2]" ' clic gauche : on fait un tirage... ' juste pour avoir les dés affichés au départ. valDe(1) = int(rnd(0)*6)+1 call DES DposX(1), DposY(1), valDe(1), DSizeX, "212 195 171", "black" 'affiche premier Dé valDe(2) = int(rnd(0)*6)+1 call DES DposX(2), DposY(2), valDe(2), DSizeX, "212 195 171", "black" 'affiche deuxième Dé #g.t1 " Joueur ";1;" = " #g "flush ; discard" WAIT '* caseX(num) et caseY(num)=pos XY coin haut gauche case en pixels [ach] '--------------ACH----ACH----ACH----ACH---------------- nc=oldSumD(joueur) 'extract numero case(alège contenu parentheses) ach(nc,joueur)=1 'enregistre acte achat dans ach(16,2) if nc=1 or nc= 5 or nc= 9 or nc=13 then ach(nc,joueur)=0 ' coin if joueur=1 and ach(nc,2)=1 then ach(nc,joueur)=0 ' déjà pris dans tableau if joueur=2 and ach(nc,1)=1 then ach(nc,joueur)=0 ' déjà pris dans tableau if joueur=1 and ach(nc,2)=0 then goto [dac] ' terrain libre if joueur=2 and ach(nc,1)=0 then ' terrain libre if nc<>1 and nc<> 5 and nc<>9 and nc<>13 then goto [dac] ' pas coin end if wait [dac] ' autorise achat if nc<>1 and nc<> 5 and nc<>9 and nc<>13 then capit(joueur)=capit(joueur)-200 ' cout terrain ////////////// end if if cCase <5 and cCase >1 then ' placement rond achat #g "place ";caseX(nc);" ";caseY(nc)+sQsize/2;" ; circlefilled 15" #g "backcolor ";colJ$(joueur);" ; color ";colJ$(joueur) end if if cCase >5 and cCase <9 then #g "place ";caseX(nc)+sQsize/2;" ";caseY(nc)+sQsize;" ; circlefilled 15" #g "backcolor ";colJ$(joueur);" ; color ";colJ$(joueur) end if if cCase >9 and cCase <13 then #g "place ";caseX(nc)+sQsize;" ";caseY(nc)+sQsize/2;" ; circlefilled 15" #g "backcolor ";colJ$(joueur);" ; color ";colJ$(joueur) end if if cCase >13 and cCase >1 then #g "place ";caseX(nc)+sQsize/2;" ";caseY(nc);" ; circlefilled 15" #g "backcolor ";colJ$(joueur);" ; color ";colJ$(joueur) end if PRINT #g.av1, str$(capit(1))' envoie capit danx textbox PRINT #g.av2, str$(capit(2))' envoie capit danx textbox wait [bat] '------------BAT-----BAT-----BAT-----BAT---------- nc=oldSumD(joueur) 'extract numero case bat(nc,joueur)=1 'enregistre acte batir dans bat(16,2) if nc=1 or nc= 5 or nc=9 or nc=13 then bat(nc,joueur)=0 ' coin if joueur=1 and ach(nc,2)=1 then bat(nc,joueur)=0 ' déjà pris dans tableau if joueur=2 and ach(nc,1)=1 then bat(nc,joueur)=0 ' déjà pris dans tableau if joueur=1 and ach(nc,2)=0 and ach(nc,1)=1 then goto [dacb] ' terrain acquis if joueur=2 and ach(nc,1)=0 and ach(nc,2)=1 then ' terrain acquis if nc<>1 and nc<> 5 and nc<>9 and nc<>13 then goto [dacb] ' pas coin end if wait [dacb] ' autorise batir capit(joueur)=capit(joueur)-1000 ' cout construction //////////// print #g, "font arial 16 " 'augmente taille font if cCase <5 then ' ---------------------------placement B Bati #g "place ";caseX(nc)-7;" ";caseY(nc)+(sQsize/2)+7; print #g,"\B" end if if cCase >5 and cCase <9 then #g "place ";caseX(nc)+(sQsize/2)-7;" ";caseY(nc)+sQsize+7; print #g,"\B" end if if cCase >9 and cCase <13 then #g "place ";caseX(nc)+sQsize-7;" ";caseY(nc)+(sQsize/2)+7; print #g,"\B" end if if cCase >13 and cCase >1 then #g "place ";caseX(nc)+(sQsize/2)-7;" ";caseY(nc)+7; print #g,"\B" end if print #g, "font arial 10 " 'retour font normal PRINT #g.av1, str$(capit(1))' envoie capit danx textbox PRINT #g.av2, str$(capit(2))' envoie capit danx textbox wait [draw2] gosub [draw] wait [draw] ' tirage for d = 1 to 15 valDe(1) = int(rnd(0)*6)+1 call DES DposX(1), DposY(1), valDe(1), DSizeX, "212 195 171", "black" 'affiche premier Dé valDe(2) = int(rnd(0)*6)+1 call DES DposX(2), DposY(2), valDe(2), DSizeX, "212 195 171", "black" 'affiche deuxième Dé call pause 100 next #g.t1 " Joueur ";joueur;" = ";valDe(1) + valDe(2)' envoie valeur dé dans textbox return [jeu] joueur = joueur + 1 - 2 * (joueur = 2) 'change de joueur (passe de 1 à 2 ou 2 à 1 etc...) #g.t1 " Joueur ";joueur;" = " 'ecrit dans textbox gosub [draw] if joueur = 1 then ptx = 30 else ptx = 60 cCase = oldSumD(joueur) numD = valDe(1) + valDe(2) n = 0 DO ' boucle de trajet cCase = cCase + 1 if cCase > 16 then cCase = cCase - 16 ' faut pas que le n° de case dépasse 16 bien sûr... posXpion(joueur) = caseX(cCase) + ptx posYpion(joueur) = caseY(cCase) + 30 gosub [affPion] call pause 400 n = n + 1 if cCase=1 then ' D'ici..... capit(joueur)= capit(joueur)+200 'tx$="#g.av" +str$(joueur) print tx$, str$(capit(joueur)) '...à là: temps de décoince =5/7 cases end if LOOP UNTIL n = numD oldSumD(joueur) = cCase ' n° de la case où se trouve maintenant 'joueur' #g "flush ; discard" '*********************ARRIVEE DU PION**************** ' consequences arrivee nc=oldSumD(joueur) 'numéro case if nc=13 then capit(joueur)=capit(joueur)+200 'var's ajustement ///////////////// if nc=5 then capit(joueur)=capit(joueur)-50 if joueur=1 and ach(nc,2)=1 then capit(1)=capit(1)-10:capit(2)=capit(2)+10 'loyer terrain if joueur=2 and ach(nc,1)=1 then capit(2)=capit(2)-10:capit(1)=capit(1)+10 if joueur=1 and bat(nc,2)=1 then capit(1)=capit(1)-50:capit(2)=capit(2)+50 ' loyer bati if joueur=2 and bat(nc,1)=1 then capit(2)=capit(2)-50:capit(1)=capit(1)+50 PRINT #g.av1, str$(capit(1))' envoie capit danx textbox PRINT #g.av2, str$(capit(2))' envoie capit danx textbox wait [affPion] #g "backcolor ";CouleurFond$;" ; color ";CouleurFond$;" ; size 1" #g "place ";oldXpion(joueur);" ";oldYpion(joueur);" ; circlefilled 10" ' l'efface à son ancienne position, #g "backcolor ";colJ$(joueur);" ; color ";colJ$(joueur) #g "place ";posXpion(joueur);" ";posYpion(joueur);" ; circlefilled 10" ' puis le dessine à la nouvelle position. #g "color black" #g "place ";posXpion(joueur)-3;" ";posYpion(joueur)+5;";|";joueur oldXpion(joueur) = posXpion(joueur) oldYpion(joueur) = posYpion(joueur) 'mémorise comme ancienne position pour ce joueur (en pixels). return sub DES posX, posY, Num, dimD, colFd$, colPt$ 'posX,posY = position du dé à l'écran 'Num = valeur du dé 'dimD = dimension du dé 'colFd$ = couleur du Dé ex: black, green, ou en chiffre "212 195 171" 'colPt$ = couleur des points sizeP = int(dimD/5) 'taille d'un point inc = int(dimD/4) refX = posX + inc + 1 refY = posY + inc + 1 #g "backcolor ";colFd$;"; color black; size 1" #g "place ";posX;" ";posY;"; boxfilled ";posX+dimD;" ";posY+dimD #g "size ";sizeP;"; color ";colPt$ if instr("135",str$(Num)) > 0 then #g "place ";refX+inc;" ";refY+inc;"; set" end if if instr("23456",str$(Num)) > 0 then #g "place ";refX;" ";refY;"; set" #g "place ";refX+2*inc;" ";refY+2*inc;"; set" end if if instr("456",str$(Num)) > 0 then #g "place ";refX+2*inc;" ";refY;"; set" #g "place ";refX;" ";refY+2*inc;"; set" end if if instr("6",str$(Num)) > 0 then #g "place ";refX;" ";refY+inc;"; set" #g "place ";refX+2*inc;" ";refY+inc;"; set" end if 'ATTENTION : on vient de modifier les couleurs et la size...! end sub sub pause temp 'pause en millisecondes timer temp, [temps] wait [temps] timer 0 end sub Sub rightButtonUp handle$, xClick, yClick 'prise de cotes Print #g, "Place ";xClick;" ";yClick 'a suprimer Print #g, "\X";xClick Print #g, "\Y";yClick End Sub [quit] close #g end Function text(x,y,msg$) #g,"Place ";x;" ";y;";|";msg$ End Function
____________________
Roro
Roro
S'il te plaît Roland, pourrais-tu ne pas poster un nouveau sujet à chaque fois que tu postes sur un même projet ?
Par exemple, tu pourrais créer un sujet "Mini-Monopoly" ou "Mastermind" dans la rubrique "Jeux" et tu y vas dès que tu veux ajouter quelque chose à leur propos...
Tu éparpilles un peu partout sur le forum dans la rubrique "Annonces" et ailleurs, des trucs qui seraient mieux dans la rubrique "Jeux" par exemple, et c'est pas facile à retrouver ou à suivre pour ceux que ça pourrait intéresser.
Je ne sais pas dans quelle mesure les modos pourraient t'aider à utiliser mieux le forum...!
@+
Edité par cassiope01 Le 14/05/2012 à 18h24
Par exemple, tu pourrais créer un sujet "Mini-Monopoly" ou "Mastermind" dans la rubrique "Jeux" et tu y vas dès que tu veux ajouter quelque chose à leur propos...
Tu éparpilles un peu partout sur le forum dans la rubrique "Annonces" et ailleurs, des trucs qui seraient mieux dans la rubrique "Jeux" par exemple, et c'est pas facile à retrouver ou à suivre pour ceux que ça pourrait intéresser.
Je ne sais pas dans quelle mesure les modos pourraient t'aider à utiliser mieux le forum...!
@+
Edité par cassiope01 Le 14/05/2012 à 18h24
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
Roland:
Il te faut lire cette opération informatique en considérant qu'une égalité fausse renvoi 0 et 1 si vrai.
Donc (joueur=2) renvoi 0 si c'est faux, et 1 si c'est vrai.
On aura donc :
- si joueur = 1 --> joueur = 1 + 1 - 2 * ( 0 ) résultat joueur sera = à 2
- si joueur = 2 --> joueur = 2 + 1 - 2 * ( 1 ) résultat joueur sera = à 1
resultat la variable 'joueur' passe de 1 à 2 puis 1 puis 2 à chaque rencontre de ce petit algorithme.
Pour passer la main à l'ordi c'est vrai que ce n'est pas évident...!
Disons qu'il faut faire intervenir la procédure de l'AI dés que 'joueur' passe à 2 (si l'ordi est le joueur 2 bien sûr)
Le pb avec JB c'est que l'utilisateur peut cliquer sur les boutons quand il veut, et donc peut-être pendant que l'ordi "réfléchi" ou joue... faut en tenir compte. Eventuellement utiliser une variable pour veiller...
Tu devrais prendre un peu de temps pour voir comment utiliser 'select case ... case ... case ... end select'
En programmation, lorsque des lignes de code se répètent avec très peu de différence, alors il faut envisager une boucle
'function' est plutôt utilisé (et prévu) pour renvoyer une valeur, comme le résultat d'un calcul un peu complexe, ou un travail sur une chaine de caractère passée en paramètre.
à la place de :
Code VB :
il est préférable d'utiliser :
Code VB :
puis l'appeler ensuite simplement comme ça :
Code VB :
M'autorises-tu à optimiser ton code (en essayant de ne pas te perdre en route
), surtout pour l'affichage des informations à droite, mais aussi pour se donner plus de place ? ce serait mieux en un peu plus grand tu ne trouves pas ?
@+
Edité par cassiope01 Le 14/05/2012 à 18h55
Je ne sais pas trop comment je vais faire pour donner la main à l'ordi un coup sur deux, vu que la ligne en question me laisse plutot perplexe.
notamment le: (joueur = 2) de: joueur = joueur + 1 - 2 * (joueur = 2)
Mhéééééééh d'oooù ça sort ce truc ????!
notamment le: (joueur = 2) de: joueur = joueur + 1 - 2 * (joueur = 2)
Mhéééééééh d'oooù ça sort ce truc ????!
Il te faut lire cette opération informatique en considérant qu'une égalité fausse renvoi 0 et 1 si vrai.
Donc (joueur=2) renvoi 0 si c'est faux, et 1 si c'est vrai.
On aura donc :
- si joueur = 1 --> joueur = 1 + 1 - 2 * ( 0 ) résultat joueur sera = à 2
- si joueur = 2 --> joueur = 2 + 1 - 2 * ( 1 ) résultat joueur sera = à 1
resultat la variable 'joueur' passe de 1 à 2 puis 1 puis 2 à chaque rencontre de ce petit algorithme.
Pour passer la main à l'ordi c'est vrai que ce n'est pas évident...!
Disons qu'il faut faire intervenir la procédure de l'AI dés que 'joueur' passe à 2 (si l'ordi est le joueur 2 bien sûr)
Le pb avec JB c'est que l'utilisateur peut cliquer sur les boutons quand il veut, et donc peut-être pendant que l'ordi "réfléchi" ou joue... faut en tenir compte. Eventuellement utiliser une variable pour veiller...
Tu devrais prendre un peu de temps pour voir comment utiliser 'select case ... case ... case ... end select'
En programmation, lorsque des lignes de code se répètent avec très peu de différence, alors il faut envisager une boucle

'function' est plutôt utilisé (et prévu) pour renvoyer une valeur, comme le résultat d'un calcul un peu complexe, ou un travail sur une chaine de caractère passée en paramètre.
à la place de :
Code VB :
Function text(x,y,msg$) #g,"Place ";x;" ";y;";|";msg$ End Function
il est préférable d'utiliser :
Code VB :
SUB text x, y, msg$ #g,"Place ";x;" ";y;";|";msg$ End Function
puis l'appeler ensuite simplement comme ça :
Code VB :
call text 10, 10, "Le texte à afficher..."
M'autorises-tu à optimiser ton code (en essayant de ne pas te perdre en route

@+
Edité par cassiope01 Le 14/05/2012 à 18h55
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
Pour utiliser ce truc il faut au minimum: les parenthèses, et on fait ce qu'on veut du 0/1 qui est renvoyé,
si j'ai compris.
Pendant que l'ordi joue, on peut aussi désactiver le bouton .
C'est vrai que case est interressant, je n'y ai pas pensé. (case est nouveau pour moi)
La fonction: J'ai constaté que sans elle on ne pouvait pas afficher sous une forme directe, je l'utilise sans avoir encore cherché à comprendre comment elle agit au juste.
si c'est bien la fonction qui est tout en bas du prog, avec elle, il n'y a pas besoin d'appel, on peut mettre du texte en une seule ligne.
J'ai essayé de voir comment tu t'y étais pris dans "Bangkok" pour le texte, mais il fallait décortiquer un peu trop, pour vraiment maitriser.
Je ne peux pas lacher ce que je tiens pour me plonger dans l'étude approfondie d'une partie de tes codes, parce que quand je suis un fil, je plonge dans la pelote...et tu connait tes pelotes...on a vite fait de plus trouver la sortie.(enfin, pour moi)
Evidemment que tu fais ce que tu veux,d'ailleurs, je commence à me sentir plus à l'aise dans tes points virgules.
si j'ai compris.
Pendant que l'ordi joue, on peut aussi désactiver le bouton .
C'est vrai que case est interressant, je n'y ai pas pensé. (case est nouveau pour moi)
La fonction: J'ai constaté que sans elle on ne pouvait pas afficher sous une forme directe, je l'utilise sans avoir encore cherché à comprendre comment elle agit au juste.
si c'est bien la fonction qui est tout en bas du prog, avec elle, il n'y a pas besoin d'appel, on peut mettre du texte en une seule ligne.
J'ai essayé de voir comment tu t'y étais pris dans "Bangkok" pour le texte, mais il fallait décortiquer un peu trop, pour vraiment maitriser.
Je ne peux pas lacher ce que je tiens pour me plonger dans l'étude approfondie d'une partie de tes codes, parce que quand je suis un fil, je plonge dans la pelote...et tu connait tes pelotes...on a vite fait de plus trouver la sortie.(enfin, pour moi)
Evidemment que tu fais ce que tu veux,d'ailleurs, je commence à me sentir plus à l'aise dans tes points virgules.

____________________
Roro
Roro
Ne t'investi pas trop dans mes patouillages, ce sont avant tout des exercices pour me faire la main et experimenter les choses que j'apprend.
Je suis toujours friand de tes méthodes, et je ne dois pas etre le seul...( je me demande qu'est ce qui retiens les visiteurs de nous rejoindre. Ne seraient-ils que des promeneurs égarés ? Il est vrai que sur le site " Python" ça ne bouge pas beaucoup non plus )
Pour le passage de main à l'ordi ça va bien avec des flags.
Je m'aperçois maintenant que ce jeu étant régis principalement par le hazard, il n'y a pas des masses de de place pour la stratégie. ( en parlant de stratégie: y'a un truc qui n'est pas parti aux oubliettes..Trop gros pour passer la trappe.......Tu sais quoi....)
Je suis toujours friand de tes méthodes, et je ne dois pas etre le seul...( je me demande qu'est ce qui retiens les visiteurs de nous rejoindre. Ne seraient-ils que des promeneurs égarés ? Il est vrai que sur le site " Python" ça ne bouge pas beaucoup non plus )
Pour le passage de main à l'ordi ça va bien avec des flags.
Je m'aperçois maintenant que ce jeu étant régis principalement par le hazard, il n'y a pas des masses de de place pour la stratégie. ( en parlant de stratégie: y'a un truc qui n'est pas parti aux oubliettes..Trop gros pour passer la trappe.......Tu sais quoi....)

____________________
Roro
Roro
Roland:
ne t'en fais pas pour ça
Je fais 3000 autres choses
Comme moi, tu commences 36 choses sans en finir une
Qu'est-ce qui n'est pas dû au hasard dans le Monopoly ?
Tu pourrais facilement agrémenter ton code pour le rendre un chouia moins dépendant du hasard !?
Gérer les 4 cases de coin et aussi une case particulière au centre de chaque côté...
Par exemple : y a trop de sous au départ

@+
Edité par cassiope01 Le 15/05/2012 à 18h38
Ne t'investi pas trop dans mes patouillages,
ne t'en fais pas pour ça

Je fais 3000 autres choses

Comme moi, tu commences 36 choses sans en finir une

Qu'est-ce qui n'est pas dû au hasard dans le Monopoly ?
Tu pourrais facilement agrémenter ton code pour le rendre un chouia moins dépendant du hasard !?
Gérer les 4 cases de coin et aussi une case particulière au centre de chaque côté...

Par exemple : y a trop de sous au départ


@+
Edité par cassiope01 Le 15/05/2012 à 18h38
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
Les sous, c'est les variables d'ajustement.
Quoi que je fasse, c'est toujours le hasard qui mène le jeu ( que je trouve plus hazardeux avec un "z")
J'aime bien avoir 36 choses "en cours", comme ça y'a toujours quelque chose à faire (en cas de pénurie..)
Quoi que je fasse, c'est toujours le hasard qui mène le jeu ( que je trouve plus hazardeux avec un "z")

J'aime bien avoir 36 choses "en cours", comme ça y'a toujours quelque chose à faire (en cas de pénurie..)

____________________
Roro
Roro
c'est normal qu'on ne puisse pas acheter les coins ?
Voyons voyons Nephthys, tu reviens d'un voyage si lointain ?!
... ou bien tu n'aurais jamais vu un Monopoly de ta vie
Oouuuh ! ça me donne un coup de vieux ça
-
Edité par cassiope01 Le 15/05/2012 à 19h49



Oouuuh ! ça me donne un coup de vieux ça

-
Edité par cassiope01 Le 15/05/2012 à 19h49
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
Oups! j'ai completement oublié comment marche un monopoly. Mais où j'aurais mis le témoin d'achat ?
Les coins seront: un centre d'affaire, un parc d'atraction, un volcan en activité, et une zone de non droit.
Enfin..peut etre....quand on code "au fil de l'eau", il peut y avoir des trucs bizarres,...il faut le savoir....
Je précise qu'il s'agit d'un modèle expérimental, et décline toutes responsabilités sur l'usage qui peut en etre fait....Ouf..me voilà couvert.
Les coins seront: un centre d'affaire, un parc d'atraction, un volcan en activité, et une zone de non droit.

Enfin..peut etre....quand on code "au fil de l'eau", il peut y avoir des trucs bizarres,...il faut le savoir....
Je précise qu'il s'agit d'un modèle expérimental, et décline toutes responsabilités sur l'usage qui peut en etre fait....Ouf..me voilà couvert.
____________________
Roro
Roro
Roland:
c'est qui sui-ci ?
Petite esthétique nouvelle pour les pions...
Code VB :
@+
Edité par cassiope01 Le 15/05/2012 à 20h28
Mais où j'aurais mis le témoin d'achat ?
c'est qui sui-ci ?
Petite esthétique nouvelle pour les pions...
Code VB :
[affPion] #g "backcolor ";CouleurFond$;" ; color ";CouleurFond$;" ; size 1" #g "place ";oldXpion(joueur)-16;" ";oldYpion(joueur)-11;" ; boxfilled ";oldXpion(joueur)+18;" ";oldYpion(joueur)+32 ' l'efface à son ancienne position, #g "backcolor ";colJ$(joueur);" ; color ";colJ$(joueur) #g "place ";posXpion(joueur);" ";posYpion(joueur);" ; circlefilled 8" ' puis le dessine à la nouvelle position. #g "place ";posXpion(joueur);" ";posYpion(joueur)+18;" ; circlefilled 12" #g "place ";posXpion(joueur)-12;" ";posYpion(joueur)+21;" ; boxfilled ";posXpion(joueur)+12;" ";posYpion(joueur)+22+8 #g "color black" #g "place ";posXpion(joueur)-3;" ";posYpion(joueur)+23;";|";joueur oldXpion(joueur) = posXpion(joueur) oldYpion(joueur) = posYpion(joueur) 'mémorise comme ancienne position pour ce joueur (en pixels). return
@+
Edité par cassiope01 Le 15/05/2012 à 20h28
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."
Web
• Index
1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie