Sur une grille de 792 case qui crée cette cartes imense que vous devez explorer, cette région avec des grottes et des océans et tout cela en evitant les trout noirs.
from ion import keydown from kandinsky import * from random import randint from time import * liste_cartes = 0 perdu = 0 nb_pas = 160 def sol_grotte(x,y): #is 1 fill_rect(x*9,1+y*9,8,8,"#784212") def herbe(x,y): #is 2 fill_rect(x*9,1+y*9,8,8,"#609B41") def rocher_dehors(x,y): #is 3 fill_rect(x*9,1+y*9,8,8,"#424949") def rocher_grotte(x,y):#is 4 fill_rect(x*9,1+y*9,8,8,"#641E16") def eau_dehors(x,y):#is 5 fill_rect(x*9,1+y*9,8,8,"#0000FF") def eau_grotte(x,y):#is 6 fill_rect(x*9,1+y*9,8,8,"#403AAF") def danger_sol(x,y): #is 7 fill_rect(x*9,1+y*9,8,8,"#000000") matrice_x = [] matrice_y = [] for v in range(36): matrice_x.append(v) for i in range(22): matrice_y.append(i) corrdone = [2,2] coo_carte1 =[] coo_carte2 =[] coo_carte3 =[] coo_carte4 =[] coo_carte5 =[] def position_carte(tab): global coo_carte1, coo_carte2, coo_carte3, coo_carte4, coo_carte5 coo_carte1 =[8,13] coo_carte2 =[17,4] coo_carte3 =[9,24] coo_carte4 =[20,34] coo_carte5 =[17,28] def font_ecran_generer(tab): for i in range(22): for v in range(36): if tab[i][v] == 1: sol_grotte(matrice_x[v],matrice_y[i]) elif tab[i][v] == 2: herbe(matrice_x[v],matrice_y[i]) elif tab[i][v] == 3: rocher_dehors(matrice_x[v],matrice_y[i]) elif tab[i][v] == 4: rocher_grotte(matrice_x[v],matrice_y[i]) elif tab[i][v] == 5: eau_dehors(matrice_x[v],matrice_y[i]) elif tab[i][v] == 6: eau_grotte(matrice_x[v],matrice_y[i]) def joeur(tab): fill_rect(tab[0]*9,1+tab[1]*9,8,8,"#FFFFFF") carte_appa = [[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3], [3,2,2,2,2,2,7,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3], [3,2,2,2,2,2,2,2,7,2,2,2,7,2,7,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3], [3,2,7,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3], [3,2,2,2,7,2,2,2,2,2,2,2,3,7,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3], [3,7,2,2,2,2,2,7,2,2,2,2,3,2,2,7,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3], [3,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,7,3,3,3,3,3,3,3,3,3,3,2,2,3], [3,5,5,7,5,5,5,7,5,5,7,5,5,5,5,7,5,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,2,2,3], [3,7,5,5,7,5,5,7,5,5,7,5,7,5,5,7,5,3,7,5,5,7,5,5,7,5,5,7,5,5,7,5,3,2,2,3], [3,5,5,5,5,5,5,7,5,5,7,5,5,7,5,5,5,3,5,5,7,5,7,5,5,7,5,5,7,5,5,5,3,2,2,3], [3,5,5,7,5,7,5,5,5,5,7,5,5,5,5,5,5,3,7,5,5,5,5,5,7,5,5,5,5,5,5,5,3,2,2,3], [3,7,5,5,5,5,5,5,5,7,5,5,5,5,5,5,7,3,5,5,7,5,7,5,5,5,5,7,5,5,5,5,3,2,2,3], [3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3], [4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,4], [4,6,6,6,6,6,6,6,4,6,6,6,6,6,6,6,4,6,6,6,6,6,6,6,6,1,1,1,1,1,1,1,4,6,6,4], [4,6,1,1,1,1,1,6,4,6,1,1,1,1,1,6,4,6,1,1,1,1,1,6,6,1,6,6,6,6,6,1,4,1,6,4], [4,6,1,1,1,1,1,6,4,6,1,1,1,1,1,6,4,6,1,1,1,1,1,6,6,1,6,6,6,6,6,1,4,1,6,4], [4,6,1,1,1,1,1,6,6,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,6,6,6,6,1,1,1,6,4], [4,6,1,1,1,1,1,1,1,1,1,1,1,1,1,6,4,6,1,1,1,1,1,6,6,1,6,6,6,6,6,1,4,1,6,4], [4,6,1,1,1,1,1,6,6,6,1,1,1,1,1,6,4,6,1,1,1,1,1,6,6,1,6,6,6,6,6,1,4,1,6,4], [4,6,6,6,6,6,6,6,4,6,6,6,6,6,6,6,4,6,6,6,6,6,6,6,6,1,1,1,1,1,1,1,4,6,6,4], [4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4],] def test(i,v): global carte_appa if carte_appa[i][v] == 1: sol_grotte(matrice_x[v],matrice_y[i]) elif carte_appa[i][v] == 2: herbe(matrice_x[v],matrice_y[i]) elif carte_appa[i][v] == 3: rocher_dehors(matrice_x[v],matrice_y[i]) elif carte_appa[i][v] == 4: rocher_grotte(matrice_x[v],matrice_y[i]) elif carte_appa[i][v] == 5: eau_dehors(matrice_x[v],matrice_y[i]) elif carte_appa[i][v] == 6: eau_grotte(matrice_x[v],matrice_y[i]) def mouvement_gauche(): if keydown(0) : if carte_appa[corrdone[1]][corrdone[0]-1] != 3 and carte_appa[corrdone[1]][corrdone[0]-1] != 4: test(corrdone[1],corrdone[0]) corrdone[0] = corrdone[0] -1 joeur(corrdone) crono() def mouvement_droite(): if keydown(3): if carte_appa[corrdone[1]][corrdone[0]+1] != 3 and carte_appa[corrdone[1]][corrdone[0]+1] != 4: test(corrdone[1],corrdone[0]) corrdone[0] = corrdone[0] +1 joeur(corrdone) crono() def mouvement_haut(): if keydown(1) : if carte_appa[corrdone[1]-1][corrdone[0]] != 3 and carte_appa[corrdone[1]-1][corrdone[0]] != 4: test(corrdone[1],corrdone[0]) corrdone[1] = corrdone[1] -1 joeur(corrdone) crono() def mouvement_bas(): if keydown(2) : if carte_appa[corrdone[1]+1][corrdone[0]] != 3 and carte_appa[corrdone[1]+1][corrdone[0]] != 4: test(corrdone[1],corrdone[0]) corrdone[1] = corrdone[1] +1 joeur(corrdone) crono() def game_over(): global liste_cartes for y in range(40): for x in range(60): fill_rect(x*6,y*6,6,6,(randint(0,10),randint(0,254),randint(0,10))) sleep(0.0001) draw_string("GAME OVER", randint(1,200),randint(0,200),"#FFFFFF","#000000") return None def toucher_danger(): global corrdone, liste_cartes,perdu if carte_appa[corrdone[1]][corrdone[0]] == 7: perdu = 1 liste_cartes = 5 def toucher_de_carte(): global corrdone,coo_carte1,coo_carte2,coo_carte3,coo_carte4,coo_carte5,liste_cartes if coo_carte1[0] == corrdone[1] and coo_carte1[1] == corrdone[0]: fill_rect(204,202,16,16,"#FF0000") coo_carte1 = [-2,-2] liste_cartes +=1 if coo_carte2[0] == corrdone[1] and coo_carte2[1] == corrdone[0]: fill_rect(225,202,16,16,"#FFFF00") coo_carte2 = [-20,-20] liste_cartes +=1 if coo_carte3[0] == corrdone[1] and coo_carte3[1] == corrdone[0]: fill_rect(246,202,16,16,"#00FFFF") coo_carte3 = [-20,-20] liste_cartes +=1 if coo_carte4[0] == corrdone[1] and coo_carte4[1] == corrdone[0]: fill_rect(267,202,16,16,"#FF00FF") coo_carte4 = [-20,-20] liste_cartes +=1 if coo_carte5[0] == corrdone[1] and coo_carte5[1] == corrdone[0]: fill_rect(288,202,16,16,"#00FFFF") coo_carte5 = [-20,-20] liste_cartes +=1 def mouvement2(matrice_j): global corrdone,zone # Déplacement gauche if carte_appa[corrdone[1]][corrdone[0]] != 0: toucher_de_carte() mouvement_gauche() mouvement_droite() mouvement_haut() mouvement_bas() def genere_carte(): global coo_carte1,coo_carte2,coo_carte3,coo_carte4,coo_carte5 fill_rect(coo_carte1[1]*9,1+coo_carte1[0]*9,8,8, "#FF0000") fill_rect(coo_carte2[1]*9,1+coo_carte2[0]*9,8,8, "#FFFF00") fill_rect(coo_carte3[1]*9,1+coo_carte3[0]*9,8,8, "#00FFFF") fill_rect(coo_carte4[1]*9,1+coo_carte4[0]*9,8,8, "#FF00FF") fill_rect(coo_carte5[1]*9,1+coo_carte5[0]*9,8,8, "#00FFFF") def intro(): trolle = 0 txt1 = "FIND THE RUNE" fill_rect(0,0,360,222,"#000000") for y in range(40): for x in range(60): fill_rect(x*6,y*6,6,6,(randint(0,254),randint(0,10),randint(0,10))) draw_string(txt1, 20+(len(txt1)*10)//2,20,"#FFFFFF","#000000") draw_string("trouve les runes",50,100,"#FFFFFF","#000000") draw_string("tu as un nombre de pas limité",5,130,"#FFFFFF","#000000") draw_string("ne touche pas ça:", 50,150,"#FFFFFF","#000000") fill_rect(220,150,18,18,"#000000") draw_string("presse fleche du haut ", 50,200,"#FFFFFF","#000000") while trolle ==0: if keydown(1): trolle +=1 jeu() def jeu(): fill_rect(0,0,320,222,"#000000") font_ecran_generer(carte_appa) position_carte(carte_appa) txt = "Carte du Joueur:" draw_string(txt, 42, 200,"#FFFFFF","#000000") fill_rect(202,200,20,20,"#FFFFFF") fill_rect(223,200,20,20,"#FFFFFF") fill_rect(244,200,20,20,"#FFFFFF") fill_rect(265,200,20,20,"#FFFFFF") fill_rect(286,200,20,20,"#FFFFFF") draw_string(str(nb_pas),0,200,"#FFFFFF","#000000") while liste_cartes !=5: toucher_danger() if perdu == 0: joeur(corrdone) toucher_de_carte() genere_carte() mouvement2(carte_appa) sleep(0.2) if perdu == 0: finn() else: game_over() return None def finn(): text = "FIN DU JEUX" ttt = "tu as trouvé les runes" tm = "merci d'avoir jouer <3" for y in range(40): for x in range(60): fill_rect(x*6,y*6,6,6,(randint(0,30),randint(0,10),randint(0,254))) sleep(0.0001) draw_string(text, 50+(len(text)*10)//2,18,"#FFFFFF","#000000") draw_string(ttt,55,60,"#FFFFFF","#000000") draw_string("la gloire te tent la mains",30,100,"#FFFFFF","#000000") draw_string(tm,50,198,"#FFFFFF","#000000") def crono(): global nb_pas, liste_cartes, perdu nb_pas -= 1 fill_rect(0,200,40,40,"#000000") draw_string(str(nb_pas),0,200,"#FFFFFF","#000000") if nb_pas == 0: liste_cartes = 5 perdu = 1 intro()