2021-08-13 17:32:55 +02:00
from asci_lib import *
2021-08-14 17:13:34 +02:00
from random import randint
2021-08-13 17:32:55 +02:00
2021-08-14 22:27:07 +02:00
cartes = (
2021-08-13 17:32:55 +02:00
r """
__
/ \___ ### *
| < > \ ##### _
| ^ | ____ | ### / \
/ _ \ | ^ | *
__ __
2021-08-14 17:13:34 +02:00
$ ## / \___/ \ ##
2021-08-13 17:32:55 +02:00
#### |<> <>| ####
## |___|^|___| ##
| | | | """ ,
( r """
2021-08-14 22:27:07 +02:00
+ - - + - - + - - - - - - - - + - - + - - +
| | | | | |
| + + + + |
| |
| + + + + |
+ - - / * \- - - - - - - - / \- - +
| |
+ - - - | ^ | - - - - - - - - - - - - - - + """ ,
( 1 , 3 ) , ( 5 , 7 ) ) ,
( r """
+ - - - - - - - +
| |
| |
| |
+ - - | ^ | - - +
""" ,
( 19 , 4 ) , ( 4 , 4 ) )
2021-08-13 17:32:55 +02:00
)
2021-08-14 22:27:07 +02:00
def evenements ( xp , carte_actuelle , x , y , stat ) :
2021-08-13 22:32:36 +02:00
coords = ( x , y )
2021-08-13 17:32:55 +02:00
2021-08-14 22:27:07 +02:00
if carte_actuelle == 0 :
if coords == ( 24 , 4 ) :
if stat [ 0 ] < 100 : return [ 0 , " Oh, mais tu es blesse ! " , 0 , 50 ]
else : return [ 0 , " Reviens me voir quand tu seras blesse. " ]
2021-08-14 17:13:34 +02:00
2021-08-14 22:27:07 +02:00
elif coords == ( 16 , 1 ) : return {
" base " : [ 0 , " Alors ? T ' en sorts-tu ? " ] ,
2021-08-13 17:32:55 +02:00
2021-08-14 22:27:07 +02:00
0 : [ 0 , " J ' ai une quete pour toi ! Un ami a moi a des problemes : un personnage louche traine autour de sa maison... Si tu pouvais l ' en debarasser, il t ' en serai reconnaissant. 1. Je m ' en charge ! 2. Trouve quelqu ' un d ' autre. " , 2 ] ,
1 : [ 2 , " J ' etais sur que je pouvais compter sur toi ! Tiens, voila une dague et une petit bouclier. " , 0 , 0 , 10 , 10 ] ,
2 : [ 2 , " Si un jour tu as besoin de moi, tu seras sympa de m ' oublier. " ] ,
2021-08-14 17:13:34 +02:00
2021-08-14 22:27:07 +02:00
3 : [ 0 , " Alors ? Il est mort ce bandit ? " ] ,
4 : [ 1 , " Merci, tu as rendu un grand service a mon ami ! " ]
2021-08-14 17:13:34 +02:00
}
2021-08-14 22:27:07 +02:00
elif coords == ( 4 , 7 ) :
# Si le bandit vient d'être tué
if xp == 3 : return [ 1 , " Vous avez reussi la quete ! " ]
2021-08-13 23:57:43 +02:00
2021-08-14 22:27:07 +02:00
# Si le bandit est encore vivant
elif xp < 3 : return [ 0 , " Qu ' est-ce que tu regardes toi ? Casses-toi ! " ]
2021-08-13 17:32:55 +02:00
2021-08-14 22:27:07 +02:00
# Si le bandit est déjà mort
else : return [ 0 , " Vous regardez le cadavre froid du bandit. " ]
2021-08-13 17:32:55 +02:00
2021-08-14 22:27:07 +02:00
return [ 0 , " Hmm ? " ]
2021-08-14 17:13:34 +02:00
2021-08-14 22:27:07 +02:00
def combats ( xp , carte_actuelle , x , y , stat ) :
2021-08-14 17:13:34 +02:00
coords = ( x , y )
2021-08-14 22:27:07 +02:00
if carte_actuelle == 0 :
2021-08-14 17:13:34 +02:00
if coords == ( 4 , 7 ) :
2021-08-14 22:27:07 +02:00
if xp == 3 : ennemi_stat = [ 75 , randint ( 5 , 10 ) , randint ( 5 , 10 ) ]
else : return True
defense_temporaire = defense_temporaire_ennemi = 0
while stat [ 0 ] > 0 and ennemi_stat [ 0 ] > 0 :
print ( " Vos PV : {0} \n PV ennemi : {1} " . format ( stat [ 0 ] , ennemi_stat [ 0 ] ) )
print ( " <*> Actions <*> " )
print ( " 1. Attaquer " )
print ( " 2. Defendre " )
action = int ( input ( " > " ) )
defense_temporaire = 0
if action == 1 :
pv = ( stat [ 1 ] - ennemi_stat [ 2 ] - defense_temporaire_ennemi ) + randint ( - 5 , 10 )
if pv < 0 : pv = 0
ennemi_stat [ 0 ] - = pv
elif action == 2 :
defense_temporaire = randint ( 1 , 5 )
defense_temporaire_ennemi = 0
if randint ( 1 , 2 ) == 1 :
pv = ( ennemi_stat [ 1 ] - stat [ 2 ] - defense_temporaire ) + randint ( - 5 , 10 )
if pv < 0 : pv = 0
stat [ 0 ] - = pv
2021-08-14 17:13:34 +02:00
else :
2021-08-14 22:27:07 +02:00
defense_temporaire_ennemi = randint ( 1 , 5 )
2021-08-14 17:13:34 +02:00
return stat [ 0 ] > 0
2021-08-14 22:27:07 +02:00
def affichage_stat ( stat ) :
pv , pa , pd = stat
2021-08-14 17:13:34 +02:00
print ( " <*> Statistiques <*> " )
2021-08-14 22:27:07 +02:00
print ( " Points de vie .: {} " . format ( pv ) )
print ( " Points attaque : {} " . format ( pa ) )
print ( " Points defense : {} " . format ( pd ) )
2021-08-13 17:54:43 +02:00
2021-08-13 17:32:55 +02:00
2021-08-15 17:27:58 +02:00
def custom ( stat ) :
pass
2021-08-14 22:39:30 +02:00
def mon_jeu ( stat = [ 100 , 0 , 0 ] , data = [ 0 , 0 , 0 , 0 ] ) :
2021-08-15 17:27:58 +02:00
rpg_python = Asci ( cartes , evenements , combats , affichage_stat , custom 5 , stat , data )
2021-08-14 22:39:30 +02:00
stat , data = rpg_python . mainloop ( )
print ( " Pour reprendre : " )
print ( " mon_jeu( {} , {} ) " . format ( stat , data ) )