ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.12.2023

Просмотров: 42

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Қысқа мерзімді жоспары

Бөлім

Python тілінде программалау

Педагогтың аты-жөні




Күні




Сынып 9

Қатысушылар саны




Қатыспағандар саны




Сабақтың тақырыбы:

Спрайттар соқтығысуын анықтау

Оқу бағдарламасына сәйкес оқыту мақсаттары


9.3.3.7- кейіпкер қозғалысын программалау.

9.3.3.8 -пернетақтадан кейіпкерді басқар

Сабақтың мақсаты:

Барлық оқушылар:

Спрайттың соқтығысу кезеңдерін анықтау.

Көптеген оқушылар:

Спрайттың соқтығысу кезеңдерін программалау.

Кейбір оқушылар:

Спрайттың соқтығысуын программалау нәтижесінде болған жобаны

түсіндір


Сабақтың барысы:


Сабақтың кезені/ уақыт

Педагогтың әрекеті

Оқушының әрекеті

Бағалау

Ресурстар

Сабақтың басы

1.Оқушылармен амандасу.

2.Сабақтың тақырыбы мен мақсаттарымен таныстыру.

3.Жаңа тақырыпқа шолу

Ой сергіту жаттығуы: «Алып» ойыны

Екі бала қатар тұрады, біреуінің сол аяғын

екіншісінің оң аяғына байлайды, сөйтіп бір

белгіленген жерге барады. Немесе үш, төрт т.б.

балаларды бірге байлайды, сосын олар бірге жүруге

тырысады. (Бақаға ұқсап секіреді т.б.)

Үй тапсырмасы

Өткен тақырып бойынша оқулықта берілген

тапсырмалардың шешімін топта талдайды. Өзара

бағалайды

1.Мұғаліммен амандасады.

2.Сабақтың тақырыбын дәптерге жазады.

3.Сабақтың мақсаттарымен танысады.

Оқушыларды ынталындыру мақсатында сабаққа қатысу белсенділігіне қарай мадақтау әдісі бойынша бағалайды

Оқулық, жұмыс дәптерлері, компьютер

Сабақтың ортасы

- Миға шабуыл сұрақтарымен жұмыс жасау

 Компьютерлік ойындардың кейіпкерлерінде

қандай параметрлер болады? Өзің білетін

ойыннан мысалдар келтір.

 Ойын алаңында кейіпкерлердің бір-біріне әсерін

(соқтығысуын) алдыңғы тақырыптардағы

білімдеріңді пайдалана отырып қалай анықтауды

ұсынған болар едің?

Оқулықпен жұмыс

Оқушылар оқулықта берілген тақырып туралы

оқиды, ортада бірлесіп талдайды, мұғалім білімдерін

толықтырады.

Компьютермен жұмыс

1-тапсырма

“Robots” класын құруды компьютерде орындаңдар.

1-код (үзінді). Robots класын құру

class Robots(pygame.sprite.Sprite):

def __init__(self, image_file, location):

#Спрайтты таныстырады.

pygame.sprite.Sprite.__init__(self)

#Суретті файлдан жүктейді

self.image = pygame.image.load(image_file)

#Суреттің шекараларын анықтайтын

тіктөртбұрыш құрады
self.rect = self.image.get_rect()

#Кейіпкердің бастапқы орнын көрсетеді.

self.rect.left, self.rect.top = location

Дескриптор

- Спрайттың қасиетін анықтайды.

2-тапсырма

Роботтардың өзара әсерлесу жобасын компьютерде

орындаңдар.

Дескриптор

Роботтардың орналасуын анықтайды.

Роботтардың соқтығысуын программалайды.

3-тапсырма

Оқулық

Компьютер

«Роботтардың әсерлесу» жобасын талдаңдар. Әрбір

программа блоктарының қызметін анықтап,

жазыңдар.

Дескриптор

Спрайттардың соқтығысуын программалау

нәтижесінде болған жобаны түсіндіреді.

Оқушылардың жұмыстарын смайликтер арқылы

бағалау

Мұғалімді тыңдайды


Оқушыларды ынталындыру мақсатында сабаққа қатысу белсенділігіне қарай мадақтау әдісі бойынша бағалайды

Оқулық, жұмыс дәптерлері, компьютер

Сабақтың соңы

1. Спрайттың қандай қасиеттері бар?

2. 1-программа кодында Robots класын құру

қалай іске асады? Түсіндір.

3. Аnimate () функциясының қызметі не?

Спрайттардың соқтығысуын анықтау алгоритмі

қанша қадамнан тұрады?

1.Оқушыларға өзін-өзі бағалауды ұйымдастырады.

2.Кері байланыс:



Өзін-өзі бағалау.

Оқушыларды ынталындыру мақсатында сабаққа қатысу белсенділігіне қарай мадақтау әдісі бойынша бағалайды

Оқулық, жұмыс дәптерлері, компьютер

Үй тапсырмасы

Оқулықта берілген қосымша тапсырманы орындау






Оқушының

жұмыс дәптері



Қысқа мерзімді жоспары

Бөлім

Python тілінде программалау

Педагогтың аты-жөні




Күні




Сынып 9

Қатысушылар саны




Қатыспағандар саны




Сабақтың тақырыбы:

Шарттарды программалау («Футболшы» ойыны)

Оқу бағдарламасына сәйкес оқыту мақсаттары


9.3.3.9 дайын сценарий бойынша ойын әзірлеу

9.3.3.10 ойынның нәтижелерін есептеу алгоритмін іске асыру

Сабақтың мақсаты:

Барлық оқушылар:

Ойын кейіпкерлерін анықтау.

Көптеген оқушылар:

Ойын кейіпкерлерінің қозғалысын программалау.

Кейбір оқушылар:

Ойын программасына талдау жасап, тұжырымдау



Сабақтың барысы:


Сабақтың кезені/ уақыт

Педагогтың әрекеті

Оқушының әрекеті

Бағалау

Ресурстар

Сабақтың басы

1.Оқушылармен амандасу.

2.Сабақтың тақырыбы мен мақсаттарымен таныстыру.

3. Спрайттарды пернетақтамен қозғалту мен басқаруды үйрену

1.Мұғаліммен амандасады.

2.Сабақтың тақырыбын дәптерге жазады.

3.Сабақтың мақсаттарымен танысады.

Оқушыларды ынталындыру мақсатында сабаққа қатысу белсенділігіне қарай мадақтау әдісі бойынша бағалайды

Оқулық, жұмыс дәптерлері, компьютер

Сабақтың ортасы

Жаңа тақырыпты түсіндіру.

Көлікті солға, оңға, алға және артқа жылжыту үшін бізге Сar класына әдістерді қосу керек. Содан кейін пернелерді басу оқиғасына жауап қату үшін программаның негізгі цикліне event handlers-ті қосамыз. Ойыншы пернетақтада көрсеткіш пернелерін пайдаланған кезде, біз көлікті экранда жылжыту үшін өзіміздің әдістерді шақыратын боламыз.
MoveRight () әдісі оңға жылжуға жауап береді және екі аргумент қабылдайды. Біріншісі белгісіз және self деп аталады. Бұл ағымдағы нысанға жатады. Екіншісі pixels деп аталады және көлікті жылжыту үшін пайдаланатын пиксельдер санына қатысты. Нысанның ағымдағы x координатасына пиксельдерді қосу:

def moveRight(self, pixels):
self.rect.x += pixels

Сол принцип бойынша moveLeft () әдісін қосамыз:

def moveRight(self, pixels):
self.rect.x -= pixels

Басты циклді жаңартамыз:

while check:
for event in pygame.event.get():

if event.type == pygame.QUIT:
check = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_x:
check = False

keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
playerCar.moveLeft(5)
if keys[pygame.K_RIGHT]:
playerCar.moveRight(5)

Перне ОҢҒА және СОЛҒА қарай басылғанда, мәшине 5 пиксельге x осі бойымен жылжиды.

Практикалық жұмыс

3-ші және 4-суреттерде «Футболшы» ойынының ойын

терезесі берілген. Ойын программасының кодында

әрбір блоктардың қызметтері көрсетілген (1-код).

Компьютерде орындаңдар.

1-код. «Футболшы» ойынының программа коды

import pygame, sys

# Доптың спрайтын құру, доп класын таныстырады

class MyBallClass(pygame.sprite.Sprite):

def __init__(self, image_file, speed, location):

pygame.sprite.Sprite.__init__(self)

self.image = pygame.image.load('futball.png')

#Доптың өлшемдерін береді (30 х 30 пиксель)

self.image=pygame.transform.scale(self.image, (30,

30))

self.rect = self.image.get_rect()

self.rect.left, self.rect.top = location

self.speed = speed

#Допты қозғалту блогы

def move(self):

global score, score_surf, score_font

self.rect = self.rect.move(self.speed)

#Доп қабырғалармен соқтығысқанда

жылдамдығын кері өзгертеді

if self.rect.left < 0 or self.rect.right >

screen.get_width():

self.speed[0] = -self.speed[0]

#Доп әр рет жоғары қабырғаға соғылғанда 1- ұпай

қосады

if self.rect.top <= 0 :

self.speed[1] = -self.speed[1]

score = score + 1

#Ұпайдың өзгерісін str жолдық функциясы

көмегімен терезеге жазады

score_surf = score_font.render(str(score), 1, (0, 0,

0))

# Ойыншының спрайтын және класын

таныстырады

class MyPaddleClass(pygame.sprite.Sprite):

def __init__(self, location = [0,0]):

pygame.sprite.Sprite.__init__(self)

self.image = pygame.image.load('futbolist1.png')

#Ойыншының ойын алаңындағы өлшемдерін

береді(150 х 220 пиксель)

self.image=pygame.transform.scale(self.image, (150,

220))

self.rect = self.image.get_rect()

self.rect.left, self.rect.top = location

pygame.init()

screen = pygame.display.set_mode([460,320])

pygame.display.set_caption('Футболшы ойыны жобасы' )

clock = pygame.time.Clock()

myBall = MyBallClass('futbolist.png', [10,20], [20, 20])

ballGroup = pygame.sprite.Group(myBall)

paddle = MyPaddleClass([270, 150])

#Ойыншыға «өмір» тағайындайды ( бір ойын

кезінде 3 доп береді)

lives = 3; score = 0

score_font = pygame.font.Font(None, 50)

#Қаріп нысанын құрады

score_surf = score_font.render(str(score), 1, (0, 0, 0))

score_pos = [10, 10]; done = False; running = True

#Негізгі программа бөлігін іске қосатын цикл

while running:

clock.tick(30)

# Ойынға артқы фон ретінде футбол алаңын

жүктейді

pole_surf = pygame.image.load('pole.png')

pole_rect = pole_surf.get_rect(center=(230, 160))

screen.blit(pole_surf, pole_rect)

for event in pygame.event.get():

if event.type == pygame.QUIT:

running = False

# Ойынды тінтуірмен басқарады (пернеге

ауыстыруға болады)

elif event.type == pygame.MOUSEMOTION:

paddle.rect.centerx = event.pos[0]

# Ойыншы мен доптың соғылысын анықтайды)

if pygame.sprite.spritecollide(paddle, ballGroup, False):

myBall.speed[1] = -myBall.speed[1]

# Допты қозғалтады

myBall.move()

if not done:

screen.blit(myBall.image, myBall.rect)

screen.blit(paddle.image, paddle.rect)

screen.blit(score_surf, score_pos)

for i in range (lives):

width = screen.get_width()

screen.blit(myBall.image, [width - 40 * i, 20])

pygame.display.flip()

# Доп алаңға түсіп кетсе бір допты (« жанды» )

өшіреді

if myBall.rect.top >= screen.get_rect().bottom:

lives = lives - 1

if lives == 0:

#Ойын қорытындысын ойын терезесіне жазады

final_text1 = "Oiyn sony"

final_text2 = "Upailar sany: " + str(score)

ft1_font = pygame.font.Font(None, 70)

ft1_surf = ft1_font.render(final_text1, 1, (255,0,0))

ft2_font = pygame.font.Font(None, 50)

ft2_surf = ft2_font.render(final_text2, 1,

(255,0,0))

screen.blit(ft1_surf, [screen.get_width()/2 - \

ft1_surf.get_width()/2, 100])

screen.blit(ft2_surf, [screen.get_width()/2 - \

ft2_surf.get_width()/2, 200])

pygame.display.flip()

done = True

else:

# 1 секундтан соң ойыншының кейінгі «жанын» іске

қосады

pygame.time.delay(1000)

myBall.rect.topleft = [50, 50]

pygame.quit()

Дескриптор

- Ойын кейіпкерлерін анықтайды;

Соқтығысуларды программалайды.

Pygame программасында ойын жасайды

Топтық жұмыс

«Футболшы» ойынының программа кодына талдау

жасаңдар. Программаның әрбір бөлігінің қызметіне

жеке-жеке түсініктеме беріңдер.

Дескриптор

Pygame программасында жасалған жұмысқа талдау

жасайды

Жұптық жұмыс

«Футболшы» ойынының негізінде ойынның

кейіпкерлері мен программа кодтарына өзгерістер

жасап, осыған ұқсас қандай ойынды алуға болады?

Дескриптор

Pygame-де ойын жасаудың маңыздылығын

тұжырымдайды

Мұғалімді тыңдайды


Оқушыларды ынталындыру мақсатында сабаққа қатысу белсенділігіне қарай мадақтау әдісі бойынша бағалайды

Оқулық, жұмыс дәптерлері, компьютер

Сабақтың соңы

Pygame-де ойын жасау мүмкіндіктерін бағалаңдар.

Pygame-де: «Не ұнады? Не оңай? Не қиын?» сұрақтары

арқылы ойларыңды тұжырымдаңдар.

«Екі жұлдыз, бір тілек».

Оқушылар сабақтан алған жақсы екі әсері және

түсінбеген бір сұрағымен бөліседі.

Өзін-өзі бағалау.

Оқушыларды ынталындыру мақсатында сабаққа қатысу белсенділігіне қарай мадақтау әдісі бойынша бағалайды

Оқулық, жұмыс дәптерлері, компьютер

Үй тапсырмасы

Өзің қалаған тақырыбыңның бірін таңдап, қарапайым

ойын жобасын құр. «Футболшы» ойынының программа

кодын үлгі ретінде алуға болады.