Exemple de jeu de serpent écrit en Python_python
Cet article présente principalement des exemples du jeu Snake écrit en Python. C'est un travail pratique qui est amusant et qui permet d'apprendre quelque chose. Les amis qui en ont besoin peuvent s'y référer
C'est la première fois. pour écrire ce genre de comparaison en Python. C'est pratique et amusant, il suffit de s'entraîner
Description du jeu :
* La touche P contrôle « pause/démarrage »
* Les touches fléchées contrôlent la direction. du serpent
Le code source est le suivant :
Copiez le code Le code est le suivant :
from Tkinter import * import tkMessageBox,sys from random import randint class Grid(object): def __init__(self,master=None,window_width=800,window_height=600,grid_width=50,offset=10): self.height = window_height self.width = window_width self.grid_width = grid_width self.offset = offset self.grid_x = self.width/self.grid_width self.grid_y = self.height/self.grid_width self.bg = "#EBEBEB" self.canvas = Canvas(master, width=self.width+2*self.offset, height=self.height+2*self.offset, bg=self.bg) self.canvas.pack() self.grid_list() def draw(self, pos, color,): x = pos[0]*self.grid_width + self.offset y = pos[1]*self.grid_width + self.offset self.canvas.create_rectangle(x, y, x+self.grid_width, y+self.grid_width,fill=color,outline=self.bg) def grid_list(self): grid_list = [] for y in range(0,self.grid_y): for x in range(0,self.grid_x): grid_list.append((x,y)) self.grid_list = grid_list class Food(object): def __init__(self, Grid): self.grid = Grid self.color = "#23D978" self.set_pos() def set_pos(self): x = randint(0,self.grid.grid_x - 1) y = randint(0,self.grid.grid_y - 1) self.pos = (x, y) def display(self): self.grid.draw(self.pos,self.color) class Snake(object): def __init__(self, Grid): self.grid = Grid self.body = [(10,6),(10,7),(10,8)] self.direction = "Up" self.status = ['run','stop'] self.speed = 300 self.color = "#5FA8D9" self.food = Food(self.grid) self.display_food() self.gameover = False self.score = 0 def available_grid(self): return [i for i in self.grid.grid_list if i not in self.body[2:]] def change_direction(self, direction): self.direction = direction def display(self): for (x,y) in self.body: self.grid.draw((x,y),self.color) def display_food(self): while(self.food.pos in self.body): self.food.set_pos() self.food.display() def move(self): head = self.body[0] if self.direction == 'Up': new = (head[0], head[1]-1) elif self.direction == 'Down': new = (head[0], head[1]+1) elif self.direction == 'Left': new = (head[0]-1,head[1]) else: new = (head[0]+1,head[1]) if not self.food.pos == head: pop = self.body.pop() self.grid.draw(pop,self.grid.bg) else: self.display_food() self.score += 1 self.body.insert(0,new) if not new in self.available_grid(): self.status.reverse() self.gameover = True else: self.grid.draw(new,color=self.color) class SnakeGame(Frame): def __init__(self,master=None, *args, **kwargs): Frame.__init__(self, master) self.master = master self.grid = Grid(master=master,*args, **kwargs) self.snake = Snake(self.grid) self.bind_all("", self.key_release) self.snake.display() def run(self): if not self.snake.status[0] == 'stop': self.snake.move() if self.snake.gameover == True: message = tkMessageBox.showinfo("Game Over", "your score: %d" % self.snake.score) if message == 'ok': sys.exit() self.after(self.snake.speed,self.run) def key_release(self, event): key = event.keysym key_dict = {"Up":"Down","Down":"Up","Left":"Right","Right":"Left"} if key_dict.has_key(key) and not key == key_dict[self.snake.direction]: self.snake.change_direction(key) self.snake.move() elif key == 'p': self.snake.status.reverse() if __name__ == '__main__': root = Tk() snakegame = SnakeGame(root) snakegame.run() snakegame.mainloop()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



Il n'y a pas de fonction de somme intégrée dans le langage C, il doit donc être écrit par vous-même. La somme peut être obtenue en traversant le tableau et en accumulant des éléments: Version de boucle: la somme est calculée à l'aide de la longueur de boucle et du tableau. Version du pointeur: Utilisez des pointeurs pour pointer des éléments de tableau, et un résumé efficace est réalisé grâce à des pointeurs d'auto-incitation. Allouer dynamiquement la version du tableau: allouer dynamiquement les tableaux et gérer la mémoire vous-même, en veillant à ce que la mémoire allouée soit libérée pour empêcher les fuites de mémoire.

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

Les étapes pour convertir XML en MP3 incluent: Extraire les données audio de XML: analyser le fichier XML, trouver la chaîne de codage Base64 contenant les données audio et les décoder en format binaire. Encoder les données audio à MP3: Installez l'encodeur MP3 et définissez les paramètres de codage, encodez les données audio binaires au format MP3 et enregistrez-les dans un fichier.

Bien que distincts et distincts soient liés à la distinction, ils sont utilisés différemment: distinct (adjectif) décrit le caractère unique des choses elles-mêmes et est utilisée pour souligner les différences entre les choses; Distinct (verbe) représente le comportement ou la capacité de distinction, et est utilisé pour décrire le processus de discrimination. En programmation, distinct est souvent utilisé pour représenter l'unicité des éléments d'une collection, tels que les opérations de déduplication; Distinct se reflète dans la conception d'algorithmes ou de fonctions, tels que la distinction étrange et uniforme des nombres. Lors de l'optimisation, l'opération distincte doit sélectionner l'algorithme et la structure de données appropriés, tandis que l'opération distincte doit optimiser la distinction entre l'efficacité logique et faire attention à l'écriture de code clair et lisible.

Il existe plusieurs façons de modifier les formats XML: édition manuellement avec un éditeur de texte tel que le bloc-notes; Formatage automatique avec des outils de mise en forme XML en ligne ou de bureau tels que XMLBeautifier; Définir les règles de conversion à l'aide d'outils de conversion XML tels que XSLT; ou analyser et fonctionner à l'aide de langages de programmation tels que Python. Soyez prudent lorsque vous modifiez et sauvegardez les fichiers d'origine.

La modification des données XML peut être effectuée manuellement ou en utilisant des langages de programmation et des bibliothèques. Les modifications manuelles conviennent à de petites quantités de modifications aux petits documents, notamment en ajoutant, modifiant ou supprimant les éléments et attributs. Pour des modifications plus complexes, des langages de programmation et des bibliothèques tels que Python's XML.Dom et Java Javax.xml.PARSERS, qui fournissent des outils pour le traitement des données XML. Lors de la modification des données XML, assurez-vous sa validité, créez des sauvegardes et suivez les règles de syntaxe XML, y compris les balises et propriétés correctes.

Il existe trois façons de convertir XML en Word: utilisez Microsoft Word, utilisez un convertisseur XML ou utilisez un langage de programmation.

! x Compréhension! X est un non-opérateur logique dans le langage C. Il booléen la valeur de x, c'est-à-dire que les véritables modifications sont fausses et fausses modifient true. Mais sachez que la vérité et le mensonge en C sont représentés par des valeurs numériques plutôt que par les types booléens, le non-zéro est considéré comme vrai, et seul 0 est considéré comme faux. Par conséquent,! X traite des nombres négatifs de la même manière que des nombres positifs et est considéré comme vrai.
