У цьому проекті головний персонаж - автомобіль, має уникати зіткнення з іншими автомобілями. Гравець керує своїм авто за допомогою стрілок праворуч-ліворуч.


У цьому проекті використаємо зображення автомобілів файлів  (файли потрібно розмістити у каталозі Images)

авто1 авто2 авто3 тло


На початку проекту задаємо розмір ігрового поля.

import random
WIDTH = 500
HEIGHT = 500


Завантажимо у проект файл із зображенням автомобіля, і задамо його початкову позицію в центрі екрану.

car = Actor("car.png")
car.pos = 300,450

Аналогічно завантажуємо файл з другим (третім і т.д.) автомобілем, та, за бажання - тлом. Подумайте, які початкові координати повинен мати другий автомобіль.


У функції draw() задаємо показ двох автомобілів. 

def draw():
    screen.clear()
    car.draw()
    car2.draw()


У функції update() задаємо можливість руху автомобіля за натисненням клавіш стрілок праворуч та ліворуч. 

def update():
    if keyboard.left:
        car.x -= 5
    elif keyboard.right:
        car.x += 5    

Також слід врахувати, що автомобіль не повинен виходити за межі дороги

    if car.x>310:
        car.x=310
    if car.x<190:
        car.x=190  

До функції update() також потрібно додати код руху автомобіля-супротивника: він рухається згори донизу (тобто координата y збільшується на значення його швидкості), а коли сягає нижньої межі ігрового поля (координата більша 450), знову починає рух згори (координата y стає 50, а по х - випадкове число в межах дороги). При цьому його швидкість збільшується на 1.

Не забудьте додати змінну speed=1 на початку проекту! 

    global speed
    car2.y+=speed   
    if car2.y>450:
        speed+=1
        car2.y=50
        car2.x=random.randint(190,240)
    if car.colliderect(car2):
        car2.y=50

Доповніть проект на власний розсуд:

  • третій автомобіль (який рухається з власною швидкістю, наприклад випадковою)
  • підрахунок балів та їх виведення на екран
  • зміна швидкості руху, залежно від набраних балів


Презентація-конспект

Власна копія презентації з завданням https://docs.google.com/presentation/d/1Hfmjvk-PQ7KfNc2RtRJi1fKfDsE1IDJwv7s6Blz6Y4g/copy

Остання зміна: Неділя 18 липня 2021 06:21 AM