Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pgzero
- import random
- WIDTH = 600
- HEIGHT = 450
- TITLE = "война"
- FPS = 30
- # Объекты и переменные
- soldat = Actor("soldat", (300, 400))
- platforme = Actor("platforme")
- enemis = []
- ghostes = []
- bullet = []
- mode = 'menu'
- type1 = Actor("soldat", (100, 200))
- type2 = Actor("soldat(3)", (300, 200))
- type3 = Actor("soldat(4)", (500, 200))
- # Заполнение списка врагов
- for i in range(5):
- x = random.randint(0, 600)
- y = random.randint(-450, -50)
- enemy = Actor("enemis", (x, y))
- enemy.speed = random.randint(2, 8)
- enemis.append(enemis)
- # Заполнение списка призрак
- for i in range(5):
- x = random.randint(0, 600)
- y = random.randint(-450, -50)
- ghost = Actor("ghost", (x, y))
- ghost.speed = random.randint(2, 10)
- ghostes.append(ghost)
- # Отрисовка
- def draw():
- # Режим меню
- if mode == 'menu':
- platforme.draw()
- screen.draw.text('Выберите бойца', center = (300, 100), color = "white", fontsize = 36)
- type1.draw()
- type2.draw()
- type3.draw()
- # Режим игры
- if mode == 'game':
- platforme.draw()
- # Отрисовка призрак
- for i in range(len(ghostes)):
- ghostes[i].draw()
- soldat.draw()
- # Отрисовка врагов
- for i in range(len(enemis)):
- enemis[i].draw()
- # Отрисовка пуль
- for i in range(len(bullets)):
- bullet[i].draw()
- # Окно проигрыша
- elif mode == 'end':
- platforme.draw()
- screen.draw.text("GAME OVER!", center = (300, 200), color = "white", fontsize = 36)
- # Управление
- def on_mouse_move(pos):
- soldat.pos = pos
- # Добавление в список нового врага
- def new_enemy():
- x = random.randint(0, 400)
- y = -50
- enemy = Actor("enemy", (x, y))
- enemy.speed = random.randint(2, 8)
- enemis.append(enemy)
- # Движение врагов
- def enemy_ship():
- for i in range(len(enemis)):
- if enemis[i].y < 650:
- enemis[i].y = enemis[i].y + enemis[i].speed
- else:
- enemis.pop(i)
- new_enemy()
- # Движение призраков
- def ghost():
- for i in range(len(ghostes)):
- if ghostes[i].y < 450:
- ghostes[i].y = ghostes[i].y + ghostes[i].speed
- else:
- ghostes[i].x = random.randint(0, 600)
- ghostes[i].y = -20
- ghostes[i].speed = random.randint(2, 10)
- # Столкновения
- def collisions():
- global mode
- for i in range(len(enemis)):
- if soldat.colliderect(enemis[i]):
- mode = 'end'
- # Столкновение пуль с врагами
- for j in range(len(bullet)):
- if bullet[j].colliderect(enemis[i]):
- enemis.pop(i)
- bullet.pop(j)
- new_enemy()
- break
- def update(dt):
- if mode == 'game':
- enemy_ship()
- collisions()
- ghost()
- # Движение пуль
- for i in range(len(bullet)):
- if bullet[i].y < 0:
- bullet.pop(i)
- break
- else:
- bullet[i].y = bullet[i].y - 10
- def on_mouse_down(button, pos):
- global mode, soldat
- if mode == 'menu' and type1.collidepoint(pos):
- soldat.image = "soldat"
- mode = 'game'
- elif mode == 'menu' and type2.collidepoint(pos):
- soldat.image = "soldat(3)"
- mode = 'game'
- elif mode == 'menu' and type3.collidepoint(pos):
- soldat.image = "soldat(4)"
- mode = 'game'
- # Стрельба
- elif mode == 'game' and button == mouse.LEFT:
- bullet = Actor("missiles")
- bullet.pos = soldat.pos
- bullet.append(bullet)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement