import pgzrun
import random
WIDTH = 800
HEIGHT = 600
TITLE = "Fruit Ninja"
# Цвета
BACKGROUND = (135, 206, 235)
BLADE_COLOR = (255, 255, 255)
background='back1.png'
# Игровые переменные
blade = []
score = 0
fruits=[]
def create_fruits():
fruit_types=['banana','apple', 'mango']
if random.random()<0.1:
fruit_type='bomb'
else:
fruit_type=random.choise(fruit_types)
fruit=Actor(fruit_type)
fruit.speed=random.randint(5,15)
fruit.x=random.randint(100,WIDTH-100)
fruit.y=HEIGHT+50
fruit.fruit_type=fruit_type
fruit.radius=40
fruit.sliced=False
return fruit
# Функция отрисовки игрового состояния
def draw():
screen.fill(BACKGROUND)
screen.blit(background,(0,0))
for fruit in fruits:
if not fruit.sliced:
fruit.draw()
if len(blade) > 1:
for i in range(1, len(blade)):
screen.draw.line(blade[i-1], blade[i], BLADE_COLOR)
screen.draw.text(f"Счет: {score}", (10, 10), fontsize=40, color="white")
# Функция обновления игрового состояния (вызывается каждый кадр)
def update():
if random.random()<0.03:
fruits.append(create_fruits())
for fruit in fruits:
fruit.y-=fruit.speed
if fruit.y<-50:
if not fruit.sliced():
if not fruit.fruit_type=='bomb':
pass
fruits.remove(fruit)
# Функция, вызываемая при движении мыши
def on_mouse_move(pos,buttons):
if mouse.LEFT in buttons:
blade.append(pos)
if len(blade) > 20:
blade.pop(0)
else:
blade.clear()
# Запускаем игру (главный цикл Pygame Zero)
pgzrun.go()