Los conceptos básicos de Python: guerra hombre-máquina, pensamiento de programación

import pygame 
import time #Necesitas dormir en el bucle; de ​​lo contrario, la memoria se llenará en un momento 
desde pygame.locals import * #Detecta el teclado 
import random 
import sys #Salga del sistema 
#Para proyectos dinámicos, primero tome una foto estática Para analizar: En aras de la tranquilidad, convierta las dificultades en fáciles. Corte una sandía en pedazos y luego júntelos. Cuando tenga un 
proyecto grande, primero divida los distintos elementos del proyecto en objetos, determine los atributos y métodos de los objetos y luego ensamblarlos en un proyecto. 
# Clase de jugador: 
#Atributos: ventana de visualización, ubicación, imagen, lista de viñetas, estado de movimiento 
#Método: mostrar, mover, disparar, todas las clases de acción se convierten en métodos 
clase player() : 
    def __init__(self,screen): 
        self.screen =screen# Utilice un objeto de ventana como valor de atributo 
        self.x=150 
        self.y=500 
        self.img =pygame.image.load("Avión\\hero.gif ") 
        self.bullet_list=[] 
        self.ifmoveright= 0#0 significa no moverse, 1 significa moverse 
        self.ifmoveleft=0 
    def display(self):
        self.screen.blit(self.img,(self.x,self.y)) 
        print() 
        para f en self.bullet_list: 
            f.move() 
            f.display() 
            si fy<=0: 
                self.bullet_list. remove(f) 
    def move(self): 
        si self.ifmoveleft==1 y self.x>=-30: 
            self.x-=20 
        si self.ifmoveright==1 y self.x<=270: 
            self.x+ =20 
    def fuego(self): 
        d=playerzd(self.screen,self.x,self.y) 
        self.bullet_list.append(d) 
clase playerzd(): 
    def __init__(self,screen,x,y): 
        self .pantalla=pantalla 
        self.x=x 
        self.y=y 
        self.img=pygame.image.load("飞机\\bullet.png") 
    def visualización(self):
        self.screen.blit(self.img,(self.x,self.y)) 
    def mover(self): 
        self.y-=20 
clase diji(): 
    def __init__(self,pantalla): 
        self.screen=pantalla #Utilice un objeto de ventana como valor de atributo 
        self.x=0 
        self.y=0 
        self.img =pygame.image.load("Avión\\enemy1.png") 
        self.bullet_list=[] 
        self.dijimove=0# 0 significa movimiento hacia la izquierda, 1 significa movimiento hacia la derecha 
    def display(self): 
        self.screen.blit(self.img,(self.x,self.y)) 
        para b en self.bullet_list: 
            b.move() 
            b.display () 
            si por>=600: 
        si self.x<=0: 
            self.dijimove=1 
                self.bullet_list.remove(b)
    def mover(self): 
#玩家子弹类
        if self.x>280: 
            self.dijimove=0 
        if self.dijimove==1: 
            self.x+=10 
        if self.dijimove==0: 
            self.x-=10 
    def fuego(self): 
        dijizd1=dijizd(self .screen,self.x,self.y) 
        self.bullet_list.append(dijizd1) 
clase dijizd(): 
    def __init__(self,screen,x,y): 
        self.screen=screen#将一个窗口对象作为了属性值
        self.x=x 
        self.y=y 
        self.img=pygame.image.load("飞机\\bullet-1.gif") 
    def display(self): 
        self.screen.blit(self.img,(self. x,self.y)) 
    def mover(self): 
        self.y+=20 
#键盘监控
def jpinput(jugador):
    para evento en pygame.event.get(): 
        si event.type==SALIR: 
            print("Saliendo") 
            sys.exit(0)#Forzar salida 
        si event.type==KEYDOWN: 
            si event.key==K_RIGHT: 
                print("Moviéndose hacia la derecha") 
                player.ifmoveright=1 
            if event.key==K_LEFT: 
                print("Moviéndose hacia la izquierda") 
                player.ifmoveleft=1 
            if event.key==K_SPACE: 
                print("El jugador dispara") 
                player.fire () 
        si event.type==KEYUP: 
            si event.key==K_RIGHT: 
                player.ifmoveright=0 
clase principal(): 
            si event.key==K_LEFT:
                player.ifmoveleft=0
    screen=pygame.display.set_mode((300,600)) 
    backimg = pygame.image.load("飞机\\background.png") 
    a = jugador(pantalla) 
    b = diji(pantalla) 
    while 1==1: 
        screen.blit (backimg,(0,0)) 
        b.move() 
        c=random.randint(1,5) 
        si c==1: 
            b.fire() 
        b.display() 
        jpinput(a) 
        a.move() 
        a .display() 
        pygame.display.update() 
        tiempo.dormir(0.5)

Supongo que te gusta

Origin blog.csdn.net/qq_40333984/article/details/125637376
Recomendado
Clasificación