From 156743faa0091355008d82df18f9ca20e0b5105c Mon Sep 17 00:00:00 2001 From: "bollet.c" <> Date: Sun, 3 Dec 2023 21:51:11 +0100 Subject: [PATCH] gestion des erreurs NameError et ValueError --- __pycache__/base_de_donnee.cpython-310.pyc | Bin 0 -> 3756 bytes __pycache__/interface.cpython-310.pyc | Bin 0 -> 5313 bytes __pycache__/personnage.cpython-310.pyc | Bin 0 -> 2764 bytes base_de_donnee.py | 5 +++ jdr_base.db | Bin 20480 -> 20480 bytes main.py | 47 ++++++++++++++++++--- 6 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 __pycache__/base_de_donnee.cpython-310.pyc create mode 100644 __pycache__/interface.cpython-310.pyc create mode 100644 __pycache__/personnage.cpython-310.pyc diff --git a/__pycache__/base_de_donnee.cpython-310.pyc b/__pycache__/base_de_donnee.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bb6960a201d3d214fb8ec92791dcf520aec90b96 GIT binary patch literal 3756 zcmbtX-E!N;6~-S)h^A;)u_Zfc;;oa`W+JPyottL-6WL-CwGN%3l(gZvgMqLs87>IW z3qX@{sGB%_fV@CPy5wubZ-J}KUxYQ6vf6z&7VBa?3PT~%6@1(a+&C7j7p0PM-wmSO zR7mFT36G_rVB64V9RHZ{VkkT^d~}g);eLQSzK>?04>U(h^aHqZNU}N5o|*^Np$54G zxpYwG26}A?L0ZxdbsZzns2pm##x0mwO8b>SikI6->_xSJY?VGDNZ#^b=9gcs6kd@wlGuv?}9gb7RoR}t-t(sBO7md2! zzi<>!DDi{W-k zxa`+An-7~0w%GgZllG&}S)(M$Dp{e1T+8eok$6wsAjr%(kqtx6(OXlBSoxecXXstU zaiHNi3wVeL#*2on_s`Ebq*SK-A>YU+h59;#+#iMD-2Qj*5+)bfITgSySXY8-R`P-< z7DHXxdV-l;1dg)=&6vJhH;x&p6pk4=E=`76vq3Kk52cC1GZ1!Dv4N@#5yyqmNdyeV zEWlk500dQxs-XJwY#sSPRj6#VhO_BV{z)6(mlWn%-)u6RyNUZ222~Cgj)Q8X<58wZ z7cEJ#Q%Oi5%=)K51+pPN9+cO$=lXsb^iRTOVV0>PSzh0B?QYUOqid2SHjg)o}^%QejG*EU+4&Gr@% z<0IBz0C_(AvblNf-g5B=N}QXie>snd*<8!*il&srhJgsP>Q`=%<}W6QY}h$B%powj zIi0yNQD-LDIWrN*PIbb^ojI~lIK;x`JzDb^tDKv4kHMgrz`tnKbz8Ue8t%GrQ3rdz z{o25IL};UnVm0;X!$MQNMJo|WFh1V5yGv5T!mZRjDYny^M# zn#B-Lb11*6eEG#XZF>DT*=BQ#AtrZle{hfe^Rs5VNz?D#Ye|C5(9GHEZOEA(9zzB= zIouTvX8#o$FNvG}NVUE+6@rP@sm{wQnEG2>qGDKKBbOwRbKwpK?%+Pj9r+&APICft zKBVERwA6_XK;zVt(o1sSgzV`%`k_Iz#m!5a${N*>6d|@iMY$6~K!s1SO@Fbd@iBh$ zN`F;5nkZGnLu;mDiXAfw#W3G2C8coI^~$bD9IXB~jJ>3?zB0QD6$+=iEgP8Cu=+Q~ z9-RQcB3CosjTj73&Ha*8068UnK+<(;=wy;N`Swl*Va6SLO_-b6HH+cjXKzlqv)LHg z3$Xu2dog3}HTGh7%3i9X@h-oLhhKx$zA-Qk@Y~{0-!}(D4W<6&aXzk2i0%l$`b!12 zj*O~pWRiqe`tq@Zm|TWASt;(}sM@e5+|a2{)}iy))N_CrGih9KcXoX5iNG0jbSiFQ z<(LiwSBxsSw10VuLXPXV8fWPc8)8pzoUH0N-H4|F$u-A$mbyVPf&(FsJjapv!KcY{ z)Vx8>1#138&0naYtx3`^CrJ^PH>go`FtJ=oghENBLK#xO6K&1H4q(^pl5OEWi<=~? fW+^=!2T4`QN5U{(EVFOtmfxk#SRI#aeZlxY{VABV literal 0 HcmV?d00001 diff --git a/__pycache__/interface.cpython-310.pyc b/__pycache__/interface.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..312f3db2e5546678da3e3228b7e322d40e3f7a75 GIT binary patch literal 5313 zcmb_gPmdJG74LsD+cXPaU@_Q>p|E3yv6q2e2u6S*7>F%`);J(r0jyOsRWsYr(>+vm zt)baH;X^J_F1h3sj1(oCNcjRe&PPa2eT#GQSBR95->dGP-NgpSQfAauT~)8D-uu=2 zSDkL#7FhV5{9P<2_E^?Gsj>0rpz#wt>KY1eaXYpK_D$QixWnBqt(y+_cmuV|n|uPb z$9=v9b%O_dE9xenqUEg3;t8Etz6$>%!QfuSSL*pVI zHH9L>?zHQ#9PI94b|c>*dcCkKSRAr$ny54ud2{C0M>Dss6xNzuxFX>TwE9p+Nw#Lm z2`poZe;v4d`u1He7uEgv_LWONpFcK#{5EKWr1d((hlSgXRfD!B1g0Fh1y$EZQU6@L z_;?I|gidCy)Ev6M-nDA4*q5x&{Z%KkR}4zT_x<2Ai#I*XvmU#)mH2a(dgBYAN&jEq z$!zXDCUl#SZz8`K_Igow2?7cdFcXPpyrmOHy^)aY2#dNA0|H7&j597&J*HSD9%Mol zwk$lI^-ci@UnJd>M@e52_mbdUXgh_M4n-oHXtmwK8;03Z;q{_e6kZ%9VjVR}@)oaD zOf6PS5He~K#gyaQ+imCBzGsuJ+<}fwcoB}Yg~4kcFDn-C*|ur}H@iAnU{WJ+-^m=_ zAS^QXF_0+{(Vt*q4GM4=2&KY4;ge-juwf|cSCO$W17Mup*BEcvEFG(VA!(G;XvVNe5muda+hZ{YTS(`S2h4Z_ewj=nR5e74hc_ZO=d@NuZ(;B}1JV z?EsMOK=p4nOJ<&jZD+;nVz?~2i%LhCAgxwpf4;Nb4s0Kf+>K_JmaczvNW_=HjpJp- zx(hvZ8-=P%g9^g*)WSKrVb>U@e-xR1U(daFcY<_KJye$GQ4t{^nNDFIK%9 z8}rX2zO`0VOxO#?6shliXTLq=?6u_^Xms(6e`FH$7@+?SNivHR4bjcprs=O|O_-L$eN(%9%VT?$TtslsktZ{kZ(VPzPUfxPK=|Z6PyQ5R+h}aPPo2fQ z?U;8hYw+!~9)IQfI)76uIC{RLI#QSK#B8`9zU!VV`&pAu8xCx~+tf||YE|zswZr#T z?boXMbyK^1#?+-eO}@{x9R5Z{wZEzlnEH8YR#6|UsNSsVx4x75M-}zk71g1tZdKHW zOQg%-*9@f)W2e_I6Vi7eMJ8ZXAD;_Q^qyBEA%W| z7E(oN!s0aPYhjdCiY(PKF`gHS$ly*W$b{Kwt)I$Bn7PIl^eL?OX{uo)RA61bEOHi) zp3E`sznALMu&IBf(VfUji+o(kv0{6gONAWdeO{xjB`rR|rAv#gc&dJ=3A z_DX2V5|+Y*6b@}1G=_K!fOLWz8dFF^j2Li?lrA8Fz{a3OXkzM41bI5a^#}|gj?$5r ztI?UyvP=VC87+epDD=ZVGJ`TN8Qcjo!xR)N246V-a`R4p=t8$EhR~5Cm_7i~Ljgq~ zs{`JLQym?}(`GkaRQg>AcP&H)28x61N(<^uQmWBkr3vE1LAe~AOGi`0xe%w4up$K> z{Q)^3>C7qyATUhn0gIAu2>qAr1lm%iNrHRB^@~j7#{4s zl5X7b|B>!J{nksR6YS3DDNMPe_mv#N4@YVfi_7qH8t_k*@K;S@?;NK5Pv9Sa0rtng z2m25%635-iUp3gtWULo05%e94_(2?|qfdh7C92R}A`B(m zExD$3g&;-v0#h%gNtf&c-fw*nE{J9si$Bi-cDXBI#84=5vhX$8rZ5WEia<+2q|BNX zJ6zkv(OQL$mPd7zplU_^Qr8lNmv%k1cd^pT1L@yeb>je0e{DLnpBpL z?LV8u`{Xkk_w1%URnytNXQ<4qYR31ydp=e$yZjroZP~`wT|DC-U024L^OtDQRo!H; zw#jN8WVO@iL*9(6cHE}|WVIf$+Wp9(%WH1~SuH*#l-V9f25s_KA9)^S%-_+k-sxL> z%TpV*&y96;L+3mr zy@f4o=sVsqx3l%_un{g<_OZgAEA08gJ}wzpYB!AL%D3?@4^crk_rir1;+9O=pQP;O z1zK8yI|P9uq5Hz#c}Hyo$B;o#a!8d81) z(q}+Y-&O1H0XPQ)zZfA2k+e+hrJ?`|%Pp^tEHpXHXf1DCT%tti2$m_c994~&44iUG zST{Qi4*=H{M|Xro{>~1z>p)T(Ho0wlODR7M(8rIqEni3V97YCBG7&}h`YC79Ha(ln z2?G|H)I~gslAO|<%vH3!p}V-qc=^fikh&itCa1X2Kr6p3F}yU_`K~Je0O=x;nw&Ve zgd7T~5!@JwK@ya*jK7(cl9*3GK5g?crv8#xBuRXdq0Xgej~SOjtKY(-fs=tYHtamNj@@R(>SHC`Ffl z5YS+;7Ou56mV3IcnXnN5_p)ZbtD%Zk_sxY*v$>!Zdg;l^373nrnV5?xx-hMsA+Vv|;5|0&%Ja zL8^)>Hv>N%Ftv{UKknB@CoQ48h>escKf$xOmQ=a<~^JkrziNU3BEm2KMG zFbz&W=ij|@wlSmpV6r+O;FCi3FX5STpTfO_abx_-!Mf&M*qV7*qs4o$Owa7IKH0`1 z3-wBUh8b&mK00UbQmgee| zxuESQiBu~X&CB4+13685G&&lPKX(R(TE&8tgo)dMrfyW#Y2Pvsc;oZ8FrZng7${?o z>g77mwhJs3HoO8+6e4iRS0SqVI`G`*O1ekIuEd(>V3p zu0X`a$T$i0u0na-Ftv~8mC;JCBd)Z+H%7*5+R>>VyQ_+N3uhkC;e=$<$hHb*nn`*P zvw9QTfNy_>4*`0r!0`;=K72?b)}vq^CZ^_K(%3ziZ{wIlJjzA22qgC0aV3gB@>fkP zx%Z6NK2gfEj|+Zr5A&E)S9A+$Z9=dPlL@;6u0!KK+{ZZZGd!Br6(g$`Sfwb#_6N}_ z@~D^LBT5ez;#03-yQWmVL%n-M((Dn9zl&-P*Z;9N#?>X=rquZ^62|S|JcfA}!`Y?f zlz11yp;@|(7Q=z;IhrQXl6-+}lt^J%euGFspAx6hXX7_>lt#yIxY&BubgpzmH@i*A zwEH0h`DbS#t`b~i2{clE0Hsuzq#<%DLagWqnGJ7okK8U@DFyA1+-&_$NV>F$To0_0 zH1dB8<&5sJQb!?rN5p7~G_Bfp3(S`9jsYS+6F5ZE7#sO_LaDxLtZ@2OdG@&AZ4d36 z<8^vL5t<3FbQQI5^%IA}09$6ZH>GMnjILyq`XNR89foR!nIreOVX1ux9p$I`1kr5G z!|u_*w(syHl$~~s?9l?vW^#@jHM*}O|3Z3RUh%w(SajReuX^5P*Kdzz)CPfhgQ`bV zQ3_O)VARY8+9dDO7(plmkq#%i_7piHk(SWa;V_3gt4__SI@b7CsyccN)X#1DK8!E) l?VGRA*NZ3c$9I~PdeNd2a_94r0#7KJCG-JOWae_3X*F+g-Rxbvkw{8ndTAzDKP*5 delta 129 zcmZozz}T>Wae_3X!$cWpRtE;XaIcLi3*+or3(5%=|nNCN^nFMo!+aoJ94+ aqLi}yoYc}H5n)C)QCXm9a(;3?Tps|7I4Kwa diff --git a/main.py b/main.py index 716366c..6f459d9 100644 --- a/main.py +++ b/main.py @@ -4,6 +4,18 @@ from personnage import Personnage from interface import * from base_de_donnee import BaseDeDonnee +def nom_rnd(): + c_lst = "azrtpqsdfghjklmwxcvbn" + v_lst = "aeyuio" + struct = "cvcvcv" + res = "" + for elem in struct: + if elem == "c": + res += choice(c_lst) + else: + res += choice(v_lst) + return res + def combat(perso1, perso2): """simule un combat jusqu'à ce que les joueurs n'aient plus de vies""" cls() @@ -37,9 +49,9 @@ def combat(perso1, perso2): color = 39 print("(\033["+str(color)+"m"+str(diff)+"\033[0m points)\n") - ###test affichage pdv + affiche_pdv(perso1,perso2) - ###fin test + input("[Entrée]") @@ -61,10 +73,32 @@ def main(): table_persos = BaseDeDonnee("persos") - # 2v ne fonctionnent plus -- ajouter nom base - joueur1 = Personnage(table_persos,nomJoueur1, catJoueur1) - joueur2 = Personnage(table_persos,choice(["Gründ","Blorp","Vla'ard","Kupis"]), choice(["guerrier","magicien","voleur","elfe"])) + while True: + try: + joueur1 = Personnage(table_persos,nomJoueur1, catJoueur1) + except NameError: + if intro_bool == "longue": + nomJoueur1 = input("En fait, votre nom ne me plaît pas, veuillez en proposer un autre : ") + else: + nomJoueur_tmp = nomJoueur1 + nomJoueur1 = input("Nom déjà utilisé, entrez `supprimer` pour supprimer tous les autres noms, ou veuillez en proposer un autre : ") + if nomJoueur1 == "supprimer": + print("suppression des noms...") + table_persos.del_data() + print("Données suprimées") + nomJoueur1 = nomJoueur_tmp + else: + break + nomJoueur2 = choice(["Gründ","Blorp","Vla'ard","Kupis"]) + while True: + try: + joueur2 = Personnage(table_persos,nomJoueur2, choice(["guerrier","magicien","voleur","elfe"])) + except NameError: + nomJoueur2 = nom_rnd() + else: + break + #le combat ! combat(joueur1, joueur2) #affichage des résultats @@ -74,4 +108,5 @@ def main(): gameOver() if __name__ == "__main__": - main() \ No newline at end of file + #main() + pass \ No newline at end of file