Теніс (Гра на Python)

Про матеріал
Мета: Використовуючи модуль Turtle, розробити поетапно гру настільний теніс. Керування ракетками відбувається користувачем А та користувачем В. Взявши за основу код програми, учні можуть самостійно вдосконалити алгоритм та запрограмувати керування ракеткою комп'ютером. Звукові файли (удари м'яча) можна взяти з системних Windows або не під'єднувати зовсім.
Зміст слайдів
Номер слайду 1

Теніс(Гра на Python)

Номер слайду 2

import turtleimport winsound. Підключення модуів

Номер слайду 3

win = turtle. Screen()win.title('Pong')win.bgcolor('green')win.setup(width=800, height=600)win.tracer(0)Властивсті вікна

Номер слайду 4

def draw. Field(): draw = turtle. Turtle() draw.penup() draw.speed(0) draw.color('white') draw.hideturtle() draw.goto(-390,295) draw.pendown() for i in range(2): draw.forward(770) draw.right(90) draw.forward(580) draw.right(90) draw.goto(0,295) draw.right(90) draw.goto(0,-285) draw.penup() draw.goto(-50,0) draw.pendown() draw.circle(50)draw. Field()Малювання поля

Номер слайду 5

Загальний вигляд поля

Номер слайду 6

score. A = 0score. B = 0 Рахунок гри

Номер слайду 7

# Paкетка Apad. A = turtle. Turtle()pad. A.speed(0)pad. A.shape('square')pad. A.shapesize(stretch_wid=6,stretch_len=1)pad. A.color('white')pad. A.penup()pad. A.goto(-350,0)# Paкетка Bpad. B = turtle. Turtle()pad. B.speed(0)pad. B.shape('square')pad. B.shapesize(stretch_wid=6,stretch_len=1)pad. B.color('white')pad. B.penup()pad. B.goto(350,0)Ракетки

Номер слайду 8

ball = turtle. Turtle()ball.speed(0)ball.shape('circle')ball.color('white')ball.penup()ball.goto(0,0)ball.dx = 1.0ball.dy = 1.0 М'яч

Номер слайду 9

pen = turtle. Turtle()pen.speed(0)pen.color('white')pen.penup()pen.hideturtle()pen.goto(0,250)Олівець

Номер слайду 10

def pad. A_up(): y = pad. A.ycor() y += 25 pad. A.sety(y)def pad. A_down(): y = pad. A.ycor() y -= 25 pad. A.sety(y)def pad. B_up(): y = pad. B.ycor() y += 25 pad. B.sety(y)def pad. B_down(): y = pad. B.ycor() y -= 25 pad. B.sety(y)Функції

Номер слайду 11

def write(): pen.write(f"Гравець A : {score. A} Гравець B : {score. B}", align='center’, font=('Courier',24,'normal'))def play. Music(music): try: winsound. Play. Sound(music, winsound. SND_ASYNC) except File. Not. Found. Error: print('The required music file does not exist.') except: print('winsound module only works on windows.') print('try playing the sound with os module')Виведення рахунку гри та підключення звуків

Номер слайду 12

Рахунок гри

Номер слайду 13

win.listen()win.onkeypress(pad. A_up,'w')win.onkeypress(pad. A_down,'s')win.onkeypress(pad. B_up,'Up')win.onkeypress(pad. B_down,'Down')write()Kлавіші керування

Номер слайду 14

try: while True: win.update() # Рух м'яча ball.setx(ball.xcor() + ball.dx) ball.sety(ball.ycor() + ball.dy) # Bзаємодія з межею поля if ball.ycor() > 290: ball.dy *= -1 play. Music('assets/hit1.wav') if ball.ycor() < -290: ball.dy *= -1 play. Music('assets/hit1.wav')Головний цикл гри

Номер слайду 15

if ball.xcor() > 390: ball.setx(-100) ball.dx *= -1 score. A += 1 pen.clear() write() if ball.xcor() < -390: ball.setx(-100) ball.dx *= -1 score. B += 1 pen.clear() write()Головний цикл гри (продовження)

Номер слайду 16

if (ball.xcor() > 340 and ball.xcor() < 350) and (ball.ycor() < pad. B.ycor() + 50 and ball.ycor() > pad. B.ycor() - 50): play. Music('assets/hit2.wav') ball.setx(340) ball.dx *= -1if (ball.xcor() < -340 and ball.xcor() >-350) and (ball.ycor() < pad. A.ycor() + 50 and ball.ycor() > pad. A.ycor() - 50): play. Music('assets/hit2.wav') ball.setx(-340) ball.dx *= -1 Взаємодія рaкетки і м'яча

Номер слайду 17

except Exception as e: pass. Вихід з гри

Номер слайду 18

Загальний вигляд гри

Номер слайду 19

Тека зі звуковими файлами

Номер слайду 20

Кінець

pptx
До підручника
Інформатика 8 клас (Казанцева О.П., Стеценко І.В.)
Додано
12 лютого
Переглядів
312
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку