Red de conocimiento informático - Problemas con los teléfonos móviles - Código de programación interesante en Python

Código de programación interesante en Python

clase?Punto: fila=0 col=0 def?__init__(self,?fila,?col):

self.row=fila

self .col=col def?copy(self):

return?Point(row=self.row,?col=self.col)

#Marco inicial

importar?pygame

importar?aleatorio

#Inicialización

pygame.init()

W=800

H=600

FILA=30

COL=40

tamaño=(W, H)

ventana=pygame .display.set_mode(tamaño)

pygame.display.set_caption('Serpiente')

bg_color=(255, 255, 255)

snake_color =( 200, 200, 200)

head=Point(row=int(ROW/2),?col=int(COL/2))

head_color=(0, 128, 128)

serpientes=[ Punto(fila=head.row,?col=head.col 1), Punto(fila=head.row,?col=head.col 2), Punto( fila= head.row,?col=head.col 3)

]

#Generar comida

def?gen_food(): while?1:

pos=Punto(fila=random.randint(0, FILA-1),?col=random.randint(0, COL-1))

#

is_coll=False

#¿Te has encontrado con una serpiente

if?head.row==pos.row?and?head.col==pos.col: is_coll= True

#SNAKEBODY

para?snake?in?snakes: if?snake.row==pos.row?and?snake.col==pos.col:

is_coll=True

romper

if?not?is_coll: romper retorno?pos

#Definir coordenadas

food=gen_food( )

food_color=(255, 255, 0)

direct='izquierda'#izquierda, derecha, arriba, abajo

#

def?rect(punto,?color): ancho_celda=W/COL altura_celda=H/ROW izquierda=punto.col*ancho_celda top=punto.fila*altura_celda pygame.draw.rect(

ventana ,?color,

(izquierda,?arriba,?cell_width,?cell_height) ) pasar

#Bucle de juego

quit=True

clock=pygame.time.Clock()

while?quit: #¿Manejar eventos para?evento? in?pygame.event.get():

if?event.type==pygame.QUIT: quit=False

elif?event.type==pygame.KEYDOWN: si ?event.key==273?or?event.key==119:

if?direct=='izquierda'?or?direct=='derecha': directo='arriba' elif?event .key==274?or?event.key==115:

if?direct?==?'left'?or?direct?==?'right': direct='abajo' elif ?event.key==276?or?event.key==97:

if?direct?==?'arriba'?or?direct?==?'abajo': directo='izquierda ' elif?event.key==275?or?event.key==100:

if?direct?==?'up'?or?direct?==?'down': directo= 'correcto' #Comer algo comer=(head.row==food.row?and?head.col==food.col) #Regenerar alimentos si?comer:

comida?=?gen_food() #Procesando el cuerpo#1. Inserta la cabeza original en la cabeza de serpientes.insert(0,?head.copy()) #2. Elimina la última de las serpientes si?no?come:

serpientes.pop() #Mover if?direct=='izquierda':

head.col-=1 elif?direct=='derecha':

head .col =1 elif?direct=='arriba':

head.row-=1 elif?direct=='abajo':

head.row =1 #Detectar muerto =Falso #1 . Golpea la pared if?head.collt;0?or?head.rowlt;0?or?head.colgt;=COL?or?head.rowgt;=ROW:

dead=True #2. Bócate por?snake?in?snakes:

if?head.col==snake.col?and?head.row==snake.row: dead=True break if?dead:

print('dead')

quit=False #Renderizado - dibujarlo #Fondo pygame.draw.rect(ventana,?bg_color,?(0,0,W, H)) # Cabeza de serpiente para?serpiente?en?serpientes:

rect(snake,?snake_color) rect(head,?head_color) rect(food,?food_color) #

pygame.display.flip() #Establece la velocidad de fotogramas (velocidad) clock.tick(8)

#Terminar el trabajo

Esta es una versión simplificada del código de Snake, aunque la estructura Sencillo, pero todas las funciones están completas y la jugabilidad también es buena