Bonjour !
Voila je me suis lancée dans la programmation, je débute tout juste ! Grace à un ami et au prof d'info a la fac, j'ai pu assez vite maîtriser les fonctions de base (if, else, def,...), par contre mon vocabulaire est plus approximatif que vigoureux, et mon programme est j'en suis sure loin d'être optimal, je m'en excuse a l'avance. Je précise aussi que j'utilise l'avant dernière (il me semble) version de python car c'est celle imposée à la fac pour les cours d'infos, question de simplicité donc. Bref, mon but est de simuler le jeu, (pas la donne par exemple), d'ailleurs j'ai utilisé random pour ca. Ne sachant pas utiliser les fonctions relatives aux objets, j'ai fait comme tel: le valet =11, la dame = 12 et le roi =13 (comme je l'ai dit je débute...). En fait tout va plutot bien jusqu'au moment où il faut que je programme la comparaison des cartes sorties avec les combinaisons gagnantes (paire, double paire, triple paire, brelan, carré, full, quinte flush et quinte flush royale). Je précise aussi que j'ai fait abstraction du paramètre couleur.
En premier lieu, voilà la première partie:
Si vous avez des conseils à me donner pour cette partie je suis prenante, que ce soit des nouvelles fonctions ou des conseils d'optimisationCode:# -*- coding: cp1252 -*- import random def poker(): x=random.randint(1, 13) y=random.randint(1, 13) a=random.randint(1, 13) b=random.randint(1, 13) c=random.randint(1, 13) d=random.randint(1, 13) e=random.randint(1, 13) S=0 quinteFlush1=(2, 3, 4, 5, 6) quinteFlush2=(3, 4, 5, 6, 7) quinteFlush3=(4, 5, 6, 7, 8) quinteFlush4=(5, 6, 7, 8, 9) quinteFlush5=(6, 7, 8, 9, 10) quinteFlush6=(7, 8, 9, 10, 11) quinteFlush7=(8, 9, 10, 11, 12) quinteFlush8=(9, 10, 11, 12, 13) quinteFlushRoyale=(10, 11, 12, 13, 1) cartesMains=(x, y) sortie1=(a, b, c) sortie2=(a, b, c, d) sortie3=(a, b, c, d, e) carteSorties= cartesMains + sortie3 banque= 1000 print 'Bienvenue! Vous allez jouer au poker.' print ['Banque:'] + [banque] print 'Votre blind de départ est de 25:' print ['Banque:'] + [banque-25] banque=banque-25 print 'Voici vos deux cartes et les trois premières cartes de la Main:' print [cartesMains] + [sortie1] print 'Combien misez-vous ?' u=input() while u>banque: print 'Vous n\'avez pas assez de sous! Veuillez choisir une autre mise:' u=input() print ['Banque:'] + [banque - u] banque=banque-u print 'Voici la carte suivante:' print [cartesMains] + [sortie2] print 'Combien misez-vous ? Veuillez choisir une mise comprise dans', [u,banque] v=input() while v<u: print 'Veuillez choisir une mise comprise dans', [u,banque] v=input() while v>banque: print 'Vous n\'avez pas assez de sous! Veuillez choisir une autre mise:' v=input() print ['Banque:'] + [banque - v] banque=banque-v if v>banque: print 'Vous avez perdu ! En effet:', [v,banque], 'Vous ne pouvez pas miser dans cet intervalle !' return print 'Voici vos cartes et la Main complète:' print [cartesMains] + [sortie3] print 'Que misez-vous ? Veuillez choisir une mise comprise dans', [v,banque] w=input() while w>banque: print 'Vous n\'avez pas assez de sous! Veuillez choisir une autre mise:' w=input() while w<v: print 'Veuillez choisir une mise comprise dans', [u,banque] w=input() print ['Banque:'] + [banque - w] banque=banque-w if w>banque: print 'Vous avez perdu ! En effet, vous ne pouvez pas miser dans cet intervalle:', [w, banque] return print 'Je vous rappelle votre Main et vos cartes:' print [cartesMains] + [sortie3]
Je vous présente maintenant ma deuxième partie... S'il vous plait ne me lapidez pas et ne vous arrachez pas les cheveux je sais que c'est du n'importe quoi mais c'est pour que vous voyez le raisonnement que j'ai voulu employer.
Voilà, d'abord je ne pense pas employer le bon raisonnement puisque ça ne marche pas (il me sort un full quand ya aucune carte qui se ressemble...). J'ai voulu que ma combinaison de cartes sorties soit comparée une a une avec chacune des combinaisons gagnantes. J'ai essayé de faire différemment: je compare a une combinaison, je rajoute un parametre, je compare, je rajoute, je compare...) et ca ne marchait pas non plus. De plus il y a très probablement plein d'erreurs, mais c'est pour vous montrer comment j'ai voulu raisonner.Code:for i in carteSorties: for j in carteSorties: for k in carteSorties: for l in carteSorties: for m in carteSorties: for n in carteSorties: for o in carteSorties: if i != j : if j != k: if k != l: if l != m: if m != n: if n != o: if (cartesMains + sortie3) == (n, o, 10, 11, 12, 13, 1): print 'Vous avez une quinte flush royale ! Vous gagner 800.' banque = banque + 800 print ['Banque:'] + [banque] return else: if (cartesMains + sortie3) == (o, j, n, n+1, n+2, n+3, n+4): print 'Vous avez une quinte flush ! Vous gagner 600.' banque = banque + 600 print ['Banque:'] + [banque] return if i != j: if j != k: if k != l: if l != m: if m != n: if n == o: S =S+1 print ['Vous avez']+[S]+['paires! Vous gagnez:']+[S*100] banque = banque + S*100 print ['Banque:'] + [banque] return if i != j : if j != k: if k != l: if l != m: if m == n: if n == o: if (cartesMains + sortie3) == (i, j, k, n, n, n, l): print 'Vous avez un brelan ! Vous gagnez 300.' banque = banque + 300 print ['Banque:'] + [banque] return if i != j : if j != k: if k != l: if l == m: if m == n: if n == o: if (cartesMains + sortie3) == (j, i, n, n, n, n, k): print 'Vous avez un carré ! Vous gagnez 400.' banque = banque + 400 print ['Banque:'] + [banque] return if i != o : if i != n: if k != o: if k != n: if i != k: if i == j: if k == l: if l == m: if (cartesMains + sortie3) == (o, n, i, i, k, k, k): print 'Vous avez un full ! Vous gagnez 500.' banque=banque+500 print ['Banque:'] + [banque] return print ['Vous avez perdu:'] + [u+v+w] print ['Banque:'] + [banque] return
Je rappelle que je débute donc s'il vous plait ne me jeter pas la pierre a propos de mon vocabulaire ou quoi que ce soit d'autre, merci
Le but de tout ca est que vous me dites si ya 2 ou 3 trucs de bon dans mon programme, et que éventuellement si vous n'êtes pas trop dégoutés que vous me donniez des conseils et ou que vous me recommandiez des fonctions à utiliser (à part append et lengh, elles y sont toutes).
Merci pour vos aides et réponses !
Le concombre
-----