from kandinsky import * from ion import * from random import randint # Dimensions de l'écran largeur = 320 hauteur = 222 # Dimensions des blocs bloc_taille = 20 # Nombre de blocs sur l'écran nombre_blocs_x = largeur // bloc_taille nombre_blocs_y = hauteur // bloc_taille # Génération aléatoire de la carte carte = [[randint(0, 1) for _ in range(nombre_blocs_x)] for _ in range(nombre_blocs_y)] # Position du joueur joueur_x = nombre_blocs_x // 2 joueur_y = nombre_blocs_y // 2 # Inventaire de blocs inventaire = list(range(15)) # Exemple avec 15 types de blocs (de 0 à 14) bloc_selectionne = 0 # Indice du bloc sélectionné dans l'inventaire # Fonction pour effacer l'écran def effacer_ecran(): fill_rect(0, 0, largeur, hauteur, color(255, 255, 255)) # Fonction pour afficher la carte def afficher_carte(): for y in range(nombre_blocs_y): for x in range(nombre_blocs_x): bloc = carte[y][x] if bloc != 0: fill_rect(x * bloc_taille, y * bloc_taille, bloc_taille, bloc_taille) draw_string(str(bloc), x * bloc_taille + 6, y * bloc_taille + 6) # Fonction pour afficher la barre de blocs def afficher_barre_blocs(): for i, bloc in enumerate(inventaire): if i == bloc_selectionne: draw_rect(i * bloc_taille, hauteur - bloc_taille, bloc_taille, bloc_taille) else: fill_rect(i * bloc_taille, hauteur - bloc_taille, bloc_taille, bloc_taille) draw_string(str(bloc), i * bloc_taille + 6, hauteur - bloc_taille + 6) # Fonction pour lancer le jeu def lancer_jeu(): while True: effacer_ecran() draw_string("Règles du jeu :", 10, 10) draw_string("- Utilise les touches fléchées pour te déplacer.", 10, 30) draw_string("- Utilise les touches de 0 à 9, ., ,, +, -, = pour sélectionner les blocs.", 10, 50) draw_string("- Appuie sur EXE pour commencer le jeu.", 10, 70) draw_string("Appuie sur EXE pour lancer le jeu", 80, 150) if keydown(KEY_EXE): jouer_jeu_minecraft() break sleep(0.02) # Fonction principale du jeu def jouer_jeu_minecraft(): while True: effacer_ecran() afficher_carte() afficher_barre_blocs() # Déplacement du joueur if keydown(KEY_LEFT) and joueur_x > 0: joueur_x -= 1 if keydown(KEY_RIGHT) and joueur_x < nombre_blocs_x - 1: joueur_x += 1 if keydown(KEY_UP) and joueur_y > 0: joueur_y -= 1 if keydown(KEY_DOWN) and joueur_y < nombre_blocs_y - 1: joueur_y += 1 # Changer le bloc sélectionné if keydown(KEY_0): bloc_selectionne = 0 elif keydown(KEY_1): bloc_selectionne = 1 elif keydown(KEY_2): bloc_selectionne = 2 elif keydown(KEY_3): bloc_selectionne = 3 elif keydown(KEY_4): bloc_selectionne = 4 elif keydown(KEY_5): bloc_selectionne = 5 elif keydown(KEY_6): bloc_selectionne = 6 elif keydown(KEY_7): bloc_selectionne = 7 elif keydown(KEY_8): bloc_selectionne = 8 elif keydown(KEY_9): bloc_selectionne = 9 elif keydown(KEY_DOT): bloc_selectionne = 10 elif keydown(KEY_COMMA): bloc_selectionne = 11 elif keydown(KEY_ADD): bloc_selectionne = 12 elif keydown(KEY_MINUS): bloc_selectionne = 13 elif keydown(KEY_EQUAL): bloc_selectionne = 14 # Action du joueur if keydown(KEY_OK): # Récupérer la position du joueur dans la carte pos_x = joueur_x pos_y = joueur_y # Casser ou poser un bloc bloc_selectionne = inventaire[bloc_selectionne] if carte[pos_y][pos_x] == bloc_selectionne: carte[pos_y][pos_x] = 0 else: carte[pos_y][pos_x] = bloc_selectionne sleep(0.02) # Lancement du jeu lancer_jeu()