Análisis del código fuente de Pygame
Importar numpy como np
Importar pygame
Importar sistema
Importar trazabilidad
Importar copia
p>
Importar* desde pygame.locals
pygame.init()
pygame.mixer.init()
#Color
Fondo=(201, 202, 187)
Tablero de ajedrez=(80, 80, 80)
botón=(52, 53, 44) p>
#Música
jugar _ ajedrez _ sonido = py juego mezclador sonido(" música/jugar _ ajedrez . wav ")
jugar _ ajedrez _ sonido . set_volume(0.2)
botón_sonido = py juego mezclador sonido("música/botón. wav")
button_sound.set_volume(0.2)
victor _ sound = py game . mezclador . sound(" music/victory . wav ")
victor_sound.set_volume(0.2)
#Dibuja un tablero de ajedrez
def Dibujar _ un _Tablero de ajedrez (pantalla):
#Rellenar color de fondo
Relleno de pantalla (fondo)
fondo = py carga de imagen del juego (. "fondo .jpg ").
convert_alpha()
screen.blit(fondo, (0, 0))
#Dibuja un tablero de ajedrez
Para I(21) en el rango:
pygame.draw.line(pantalla, tablero, (40*i+3, 3), (40*i+3, 803))
pygame.draw.line(pantalla , tablero de ajedrez, (3, 40*i+3), (803, 40*i+3))
#Dibujar una línea
pygame.draw.line(pantalla, tablero de ajedrez , (3, 3), (803, 3), 5)
pygame.draw.line(pantalla, tablero, (3, 3), (3, 803), 5)
pygame.draw.line(pantalla,tablero,(803,3),(803,803),5)
pygame.draw.line(pantalla,tablero,(3,803), (803, 803 ), 5)
#Dibujar punto de anclaje
pygame.draw.circle(pantalla, tablero, (163, 163), 6)
pygame.draw .circle(pantalla, tablero, (163, 643), 6)
pygame.draw.circle(pantalla, tablero, (643, 163), 6)
pygame.draw .circle(pantalla, tablero, (643, 643), 6)
pygame.draw.circle(pantalla, tablero, (403, 403), 6)
#Dibuja el Botones "Arrepentirse", "Reiniciar" y "Salir"
pygame.draw.rect(pantalla, botón,)
#Borrar la lista de mapas
p>Definir clear():
Mapa global
Para I en el rango(24):
Para j en el rango(24):
Mapa)
#Definir nombre de ventana
Pygame.display.set_caption("Gobang")
#Dibujar uno en la ventana El tablero, un recordatorio y un botón
Dibujar el tablero (pantalla)
pygame.display.flip()
clock=pygame.time.Clock()
p>Aunque es correcto:
#Solo puedes caer si estás corriendo de verdad. Se utiliza principalmente para evitar volver a caer después del juego.
si se está ejecutando:
si t:
color=1
text("blackmove",screen,54)
De lo contrario:
Color=2
Texto("Movimiento de las blancas", pantalla, 54)
Para eventos pygame.event en get( ):
#Haga clic en X para cerrar la ventana.
if event.type ==pygame. Salir:
pygame.quit()
sys.exit()
#Haga clic en la capacidad del curso en la ventana y complete las instrucciones correspondientes.
evento elif .tipo == botón del mouse presionado:
if evento.botón == 1:
x, y = posición del evento [0], evento Posición [1]
Para I(19) en el rango:
Para j(19) en el rango:
#Haga clic en el correspondiente en el posición del tablero de ajedrez
Si i*43+20<x<i*43+60<j*43+20<y<j*43+60< corriendo:
#Coloca las piezas de ajedrez de los colores correspondientes en las posiciones correspondientes en el tablero de ajedrez.
Draw_a_chessman(i+1, j+1, pantalla, color)
#Reproducir efecto de sonido
play_chess_sound.play(0)
#Registrar la posición del manantial en el mapa
map[I][j]=color
#Guardar el mapa en "Mapa"
map3=copiar .deepcopy(map)
maps.append(map 3)
#Determine si hay cinco niños en la línea después de moverse.
if win(i,j):
if t:
text("Las negras ganaron, por favor juega de nuevo", pantalla, 30)
De lo contrario:
Text("Las blancas ganaron, juega de nuevo", pantalla, 30)
#Reproducir efectos de sonido
Victor_sound.Play( 0)
#No vuelvas a caer en el tablero
Running=false
pygame.display.flip()
t = no t
#Si haces clic en "Comenzar de nuevo"
Si 900 & ltx & lt1100 y 500 & lty & lt600:
#Desbloquear
Ejecutar=True
#Reproducir efectos de sonido
Button_Sound.Play(0)
#Reiniciar
Principal()
#Haz clic en "Salir del juego" para salir del juego.
elif 900 & ltx & lt1100 y 650 & lty & lt750:
#Reproducir efecto de sonido
Button_sound.play(0)
pygame.quit()
sys.exit()
#Haga clic en "Arrepentirse"
elif 900 & ltx & lt1020 y 350 & lty & lt450 y len (mapa)! =1:
#Reproducir efecto de sonido
Button_Sound.Play(0)
#Eliminar el último elemento del mapa
del mapas[len(maps)-1]
#Luego copia el último elemento al mapa.
mapa = copiar copia profunda(maps[len(maps)-1])
#Cambiar orden
t = no t
#Mostrar mapa.
Usa piezas de ajedrez para dibujar el tablero (mapa, pantalla)
#Si te arrepientes de haber jugado ajedrez, no te arrepientas de volver a jugar ajedrez.
x, y=0, 0
clock.tick(60)
if __name__ == "__main__ ":
Intenta :
Principal()
Excepto SystemExit:
Aprobar
Excepto:
traceback.print_exc()
pygame.quit()
Entrada()