Partie 3 de MCASE
from mcase1 import * from mcase2 import * from math import * from kandinsky import * from ion import * from time import * from random import * ########################################## def caisse(caseChoice,tempscaisse,wears,blueGuns,purpleGuns,pinkSkins,redSkins,knifeSkins,inventory,paranimation,nom): tanimation = [] tcolor = [] acaisse = 0 while acaisse != 11: adjective = None x = 0 y = 0 if randint(1,10) == 8: x = 1 #Calcul Dura q = randint(1,100) if q > 90: adjective = wears[x][0] y = 0 elif q > 75: adjective = wears[x][1] y = 1 elif q > 35: adjective = wears[x][2] y = 2 elif q > 10: adjective = wears[x][3] y = 3 else: adjective = wears[x][4] y = 4 #Calcul Arme rarity = randint(1,500) if rarity >= 150 : couleur = "blue" gun = choice(blueGuns) elif rarity >= 36 and rarity <150: couleur = "purple" gun = choice(purpleGuns) elif rarity >=6 and rarity<36: couleur = "pink" gun = choice(pinkSkins) elif rarity >= 2 and rarity<6: couleur = "red" gun = choice(redSkins) elif rarity ==1 or rarity==2: couleur = "gold" gun = choice(knifeSkins) name = str(adjective) + " " + str(gun[0]) price = str(gun[x + 1][y]) price = "{:.2f}".format(float(price)) if caseChoice not in gun: continue acaisse = acaisse + 1 if acaisse != 11: tanimation.append("[$"+price +"] "+ name) tcolor.append(couleur) name = str(adjective) + " " + str(gun[0]) print(caisse2(tanimation,name,price,couleur,tcolor,inventory,paranimation,tempscaisse,nom)) return name , price ############## def caisse2(tanimation,name,price,couleur,tcolor,inventory,paranimation,tempscaisse,nom): inventory[name] = float(price) draw_string("[OK] pour ouvrir",70,100) if nom == "Falchion": draw_string(nom,115,30) fill_rect(130,53,50,40,color(216,177,65)) fill_rect(130,58,50,5,color(153,121,61)) fill_rect(135,53,3,40,color(153,121,61)) fill_rect(140,53,3,40,color(153,121,61)) fill_rect(165,53,3,40,color(153,121,61)) fill_rect(170,53,3,40,color(153,121,61)) fill_rect(149,73,10,7,color(99,1,1)) fill_rect(149,73,5,7,color(37,24,24)) if nom == "Bravo": draw_string(nom,130,30) fill_rect(130,53,50,40,color(62, 64, 65)) fill_rect(130,58,50,5,color(50, 55, 58)) fill_rect(135,53,3,40,color(50, 55, 58)) fill_rect(140,53,3,40,color(50, 55, 58)) fill_rect(165,53,3,40,color(50, 55, 58)) fill_rect(170,53,3,40,color(50, 55, 58)) fill_rect(149,73,10,7,color(241,129,76)) fill_rect(153,65,2,17,color(184,56,30)) fill_rect(151,67,6,2,color(184,56,30)) while True: if keydown(KEY_OK)==True: if paranimation == "oui": print(cinematique(tanimation,couleur,tcolor)) draw_string("[$"+price +"] "+ name,1,100) print(choixcouleur(couleur)) sleep(tempscaisse) print(clear()) break ############## def cinematique(tanimation,couleur,tcolor): temps = 0.1 for i in range(len(tanimation)-1): draw_string(" ",10,100) draw_string(tanimation[i],1,100) sleep(temps) print(couleurcinematique(tcolor,i)) temps = 0 for i in range(len(tanimation)-1): draw_string(" ",10,100) draw_string(tanimation[i],1,100) sleep(temps) temps = temps + 0.05 print(couleurcinematique(tcolor,i)) temps = 0.5 for i in range(len(tanimation)-5): draw_string(" ",10,100) draw_string(tanimation[i],1,100) sleep(temps) temps = temps + 0.05 print(couleurcinematique(tcolor,i)) ############## def couleurcinematique(tcolor,i): print(i) tcouleur = tcolor[i+1] print(choixcouleur(tcouleur)) ############## def choixcouleur(tcouleur): if tcouleur == "blue": fill_rect(1,95,400,1,color(0,0,255)) fill_rect(1,120,400,1,color(0,0,255)) elif tcouleur == "purple": fill_rect(1,95,400,1,color(138,43,226)) fill_rect(1,120,400,1,color(138,43,226)) elif tcouleur == "pink": fill_rect(1,95,400,1,color(255,0,255)) fill_rect(1,120,400,1,color(255,0,255)) elif tcouleur == "red": fill_rect(1,95,400,1,color(245,0,0)) fill_rect(1,120,400,1,color(245,0,0)) elif tcouleur == "gold": fill_rect(1,95,400,1,color(255,215,0)) fill_rect(1,120,400,1,color(255,215,0)) ############## def clear(): h = 0 boucleclear = 0 while boucleclear!=100: h = h + 4 draw_string(" ",1,h) boucleclear = boucleclear+ 1 ############## def vendre(choixvendre,inventory,money): sup = [] for keyname,valeur in inventory.items(): if inventory[keyname] < int(choixvendre): money = money + inventory[keyname] sup.append(keyname) for i in sup: del inventory[i] return money , inventory ############## def pageinventaire(inventory,num): finale = [] tabreturn = [] tabboucle = [] inventoryupgrade = [] for k, v in sorted(inventory.items(), key=lambda x: x[1],reverse=True): inventoryupgrade.append([v,k]) item = "[$" + "{:.2f}".format(float(v)) + "]" + k finale.append(item) nbpage = len(finale)/10 if nbpage != trunc(nbpage): nbpage = trunc(nbpage) + 1 if num > nbpage: draw_string("Page introuvable",85,100) boucleprincipale = 0 boucle = 1 while boucleprincipale != 1: if len(finale) >= 10: tabboucle = [] for i in range(10): finale[0] = str(boucle) + "-" + finale[0] tabboucle.append(finale[0]) finale.remove(finale[0]) boucle = boucle + 1 if len(tabreturn) == 0: tabreturn = [tabboucle] else: tabreturn = tabreturn + [tabboucle] if len(finale) < 10: tabboucle = [] for i in range(len(finale)): finale[0] = str(boucle) + "-" + finale[0] tabboucle.append(finale[0]) finale.remove(finale[0]) boucle = boucle + 1 if len(tabreturn) == 0: tabreturn = [tabboucle] else: tabreturn = tabreturn + [tabboucle] boucleprincipale = 1 hauteur = 20 for i in range(len(tabreturn[num-1])): draw_string(tabreturn[num-1][0],1,hauteur) hauteur = hauteur + 20 if hauteur > 200: hauteur = 20 tabreturn[num-1].remove(tabreturn[num-1][0]) return inventoryupgrade ############## def parcourir(titem,wears): t = [] n = len(titem) for i in range(len(titem[0])): x = 0 y = 1 z = 0 while x != n: for i in range(len(titem[x][y])): t.append(titem[x][y][z]) z = z + 1 y = y + 1 z = 0 for i in range(len(titem[x][y])): t.append(titem[x][y][z]) z = z + 1 x = x + 1 y = 1 z = 0 return t def upgrade(objetupgrade,blueGuns,purpleGuns,pinkSkins,redSkins,knifeSkins,wears): finale = [] liste = parcourir(blueGuns,wears) sleep(0.1) finale.append(float("{:.2f}".format(liste[min(range(len(liste)), key = lambda i: abs(liste[i]-objetupgrade))]))) liste = parcourir(purpleGuns,wears) sleep(0.1) finale.append(float("{:.2f}".format(liste[min(range(len(liste)), key = lambda i: abs(liste[i]-objetupgrade))]))) liste = parcourir(pinkSkins,wears) sleep(0.1) finale.append(float("{:.2f}".format(liste[min(range(len(liste)), key = lambda i: abs(liste[i]-objetupgrade))]))) liste = parcourir(redSkins,wears) sleep(0.1) finale.append(float("{:.2f}".format(liste[min(range(len(liste)), key = lambda i: abs(liste[i]-objetupgrade))]))) liste = parcourir(knifeSkins,wears) sleep(0.1) finale.append(float("{:.2f}".format(liste[min(range(len(liste)), key = lambda i: abs(liste[i]-objetupgrade))]))) return "{:.2f}".format(finale[min(range(len(finale)), key = lambda i: abs(finale[i]-objetupgrade))]) ############## def animationupgrade(): draw_string("Calcul.",20,120) sleep(0.3) draw_string("Calcul..",20,120) sleep(0.3) draw_string("Calcul...",20,120) sleep(0.3) while True: draw_string("Appuyez sur [OK] pour le résultat.",1,120) if keydown(KEY_OK)==True: draw_string(" ",1,120) break ############## def pagechoix(num,inventoryupgrade,wears,blueGuns,purpleGuns,pinkSkins,redSkins,knifeSkins): objetupgrade = inventoryupgrade[num] itemwinupgrade = upgrade(objetupgrade[0],blueGuns,purpleGuns,pinkSkins,redSkins,knifeSkins,wears) page = "upgrade" print(clear()) sleep(0.1) return page , objetupgrade , itemwinupgrade