![Създайте първата си състезателна игра: 10 стъпки Създайте първата си състезателна игра: 10 стъпки](https://i.howwhatproduce.com/images/001/image-60-97-j.webp)
Съдържание:
- Стъпка 1: Широкият преглед
- Стъпка 2: Предпоставки
- Стъпка 3: „Hello World“в Pygame Zero
- Стъпка 4: Рисуване на вашия актьор
- Стъпка 5: Контролирайте актьора
- Стъпка 6: Изграждане на пистата
- Стъпка 7: Автомобилна катастрофа
- Стъпка 8: Стартирайте играта на Raspberry Pi
- Стъпка 9: Спечелихте ли?
- Стъпка 10: Заключение
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36
![Image Image](https://i.howwhatproduce.com/images/001/image-60-98-j.webp)
![](https://i.ytimg.com/vi/A5ejMHfA4Fc/hqdefault.jpg)
![Образ Образ](https://i.howwhatproduce.com/images/001/image-60-99-j.webp)
Ако сте направили малко кодиране на Python и искате да напишете игра, която може да имате в Pygame Zero.
В този урок ще пишем проста състезателна игра.
Стъпка 1: Широкият преглед
Модулът Pygame добавя много функции, които ви помагат да пишете игри в Python.
Pygame Zero отива още една крачка напред, за да ви позволи да пропуснете тромавия процес на създаване на всички тези контури на играта и настройване на структурата на вашата програма.
Pygame Zero е чудесен избор за всеки, който иска да започне да пише компютърни игри на Raspberry Pi или на всяка Linux машина.
Ще имаш нужда:
- Машина, която работи с Linux OS
- Редактор за писане на програма на python
- Клавиатура
- Малко въображение
Файлове:
github.com/AhmNouira/-Racing-Game
Стъпка 2: Предпоставки
Първо ще използвам лаптопа си с Ubuntu 18.04 OS. След това ще стартираме играта на Raspberry Pi в стъпка 8.
Преди да продължите с този урок, уверете се, че сте влезли като потребител с sudo права.
Инсталиране на pip за Python 3
Започнете, като актуализирате списъка с пакети, като използвате следната команда:
sudo apt актуализация
Използвайте следната команда, за да инсталирате pip за Python 3:
sudo apt инсталирате python3-pip
проверете инсталацията, като проверите версията на pip:
pip3 -версия
Инсталиране на Pygame Zero
pip3 инсталирайте pgzero --user
Това също ще инсталира Pygame. Предварително компилирани пакети Pygame
Така че първата стъпка във вашето пътуване ще бъде отварянето на Python 3 IDLE или любимия ви редактор на python.
Стъпка 3: „Hello World“в Pygame Zero
По подразбиране прозорецът Pygame Zero се отваря с размер 800 пиксела ширина и 600 пиксела височина. Можете да персонализирате
размера на вашия прозорец, можете да зададете две предварително зададени променливи, ако включите WIDTH = 700 HIGH = 800.
Pygame zero предоставя предварително дефинирани функции за обработка на игралния цикъл, който обикновено изпълнява:
Функцията draw ()
Можем да запишем тази функция в нашата програма по същия начин, както обикновено дефинираме функция в Python.
Pygame Zero следва същите правила за форматиране като Python, така че ще трябва да се погрижите да отстъпите правилно кода си.
#!/usr/bin/python3 # задайте интерпретатора
import pgzrun # import pgzero module WIDTH = 700 # ширина на прозореца HEIGHT = 800 # височина на прозореца def draw draw (): # pygame нулева функция за изтегляне screen.fill ((128, 128, 128)) # запълнете екрана с RGB цветен екран.draw.text ("Hello World!", (270, 320), # draw "Hello World!" color = (255, 255, 255), fontsize = 40) pgzrun.go ()
Първо трябва да запазите програмния файл и да му дадете име.
След това отворете прозорец на терминала, отидете на местоположението на вашия файл и въведете:
./.py
Стъпка 4: Рисуване на вашия актьор
![Рисуване на вашия актьор Рисуване на вашия актьор](https://i.howwhatproduce.com/images/001/image-60-100-j.webp)
Сега, когато имаме сценична настройка, можем да създадем нашите Актьори, те са динамични обекти в Pygame Zero.
Можем да заредим Актьор, като напишем в горната част на програмата:
автомобил = Актьор ("състезателна кола")
В Pygame Zero нашите изображения трябва да се съхраняват в директория, наречена images, до нашия програмен файл, така че нашият Актьор ще търси файл с изображение в папката с изображения, наречена racecar.png. Това може да е GIF или-j.webp
Можете да зададете позицията му на екрана, като въведете:
car.pos = 350, 560
След това в нашата функция draw () можем да въведем
car.draw () # изтеглете нашата състезателна кола на определената й позиция
Пълната програма ще бъде така:
#!/usr/bin/python3
import pgzrun WIDTH = 700 # ширина на прозореца HEIGHT = 800 # височина на прозореца car = Actor ("racecar") car.pos = 350, 560 def draw (): # pygame нулева функция draw draw.fill ((128, 128, 128)) # попълнете екрана с car.draw () pgzrun.go ()
Тествайте програмата си, за да се уверите, че тя работи.
Стъпка 5: Контролирайте актьора
![Контролирайте актьора Контролирайте актьора](https://i.howwhatproduce.com/images/001/image-60-101-j.webp)
След като нарисуваме колата си на екрана, следващият етап е да дадем възможност на играча да я премести.
Можем да направим това с натискане на клавиши. Можем да прочетем състоянието на тези ключове в друга предварително дефинирана функция, наречена update ().
Функцията update ()
Тази функция се проверява непрекъснато, докато играта работи.
Трябва да напишем някакъв код, за да открием натискането на клавиши със стрелки, както и да направим нещо по въпроса.
Така че ще добавим тази функция към нашата програма
def update ():
ако keyboard.left: car.x -= 2 if keyboard.right: car.x += 2 if keyboard.up: car.y -= 2 if keyboard.down: car.y += 2
Тези редове от код ще преместват актьора наляво, надясно, напред и назад.
Стъпка 6: Изграждане на пистата
![Изграждане на пистата Изграждане на пистата](https://i.howwhatproduce.com/images/001/image-60-102-j.webp)
Сега, когато имаме кола, която можем да управляваме, се нуждаем от писта, по която да караме.
Ще изграждаме песента си от Актьори, един по един. Ще трябва да направим някои списъци, за да следим актьорите, които създаваме.
Също така ще трябва да настроим още няколко променливи за пистата.
След това нека да направим нова функция, наречена makeTrack (), Функцията ще добави един трек Actor отляво и един отдясно, като и двете използват изображението bare-p.webp
trackLeft = # списък за съхраняване на левите бариери
trackRight = # списък за съхраняване на десните бариери trackCount = 0 # пребройте броя на бариерите trackPosition = 350 trackWidth = 150 # ширина между левия и десния бариери def makeTrack (): # функция, за да направите една бариера в лявата и дясната глобална trackCount, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Actor ("bare", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("bare", pos = (trackPosition + trackWidth, 0))) trackCount += 1
Следващото нещо, което трябва да направим, е да преместим участъците от следата надолу по екрана към колата.
Нека напишем нова функция, наречена updateTrack (), Тази функция се актуализира, където ще се появят блоковете на песните. Парчетата са създадени от случайни числа, така че всяко възпроизвеждане е различно.
trackDriction = False
SPEED = 4 # задава скоростта на играта от случаен импорт randint # импортира класа randint от произволен модул def updateTrack (): глобален trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0, докато b
Моля, вижте по -долу zip файла, наречен "RaceGameDemo".
Ако изпълним нашия код в момента, трябва да видим следа, която се извива към колата. Единственият проблем е, че можем да преместваме колата през бариерите и искаме да задържим колата вътре в тях с известно откриване на сблъсък.
Стъпка 7: Автомобилна катастрофа
![Автомобилна катастрофа Автомобилна катастрофа](https://i.howwhatproduce.com/images/001/image-60-103-j.webp)
![Автомобилна катастрофа Автомобилна катастрофа](https://i.howwhatproduce.com/images/001/image-60-104-j.webp)
![Автомобилна катастрофа Автомобилна катастрофа](https://i.howwhatproduce.com/images/001/image-60-105-j.webp)
Трябва да се уверим, че колата ни не докосва актьорите.
можем също така да тестваме за сблъсъци, използвайки метода colliderect () в нашата функция updateTrack ().
В тази игра ще имаме три различни състояния на играта, съхранявани в нашата променлива gameStatus:
- gameStatus == 0 # играта работи
- gameStatus == 1 # автомобилна катастрофа
- gameStatus == 2 # играта приключи
Ще трябва да променим функцията draw () и update (), за да отговорим на променливата gameStatus.
Довършителни щрихи
Всичко, което трябва да направим сега, е да покажем нещо, ако gameStatus е настроено на 1 или 2, например трябва да покажем червено
флаг, ако колата се е разбила. Можем да направим това с кода по -долу:
screen.blit ("redflag", (230, 230))
За да видим дали колата е достигнала финала, трябва да преброим колко участъци от пистата са създадени и след това може би, когато стигнем до 200, задайте gameStatus на 2. След това покажете карирания флаг:
screen.blit ("finishflag", (230, 230))
Също така ще покажем текст на екрана като текущия резултат на играта.
Разгледайте пълния списък с кодове, за да видите как всичко това съвпада.
Стъпка 8: Стартирайте играта на Raspberry Pi
![Стартирайте играта на Raspberry Pi Стартирайте играта на Raspberry Pi](https://i.howwhatproduce.com/images/001/image-60-106-j.webp)
![Стартирайте играта на Raspberry Pi Стартирайте играта на Raspberry Pi](https://i.howwhatproduce.com/images/001/image-60-107-j.webp)
На Raspberry Pi pgzero е инсталиран по подразбиране от пускането на Raspbian Jessie през септември 2015 г.
Просто актуализирайте Raspberry Pi с помощта на командата:
sudo apt-get update
Отидете на местоположението на вашия файл и въведете терминала.
pgzrun.py
Стъпка 9: Спечелихте ли?
![Спечели ли? Спечели ли?](https://i.howwhatproduce.com/images/001/image-60-108-j.webp)
Можете да направите играта по -лесна или по -трудна, като промените променливата trackWidth, за да направите песента с различна ширина. Можете да промените стойността на SPEED, за да направите движението по -бързо или по -бавно.
Стъпка 10: Заключение
Pygame Zero е чудесен избор за всеки, който иска да започне да пише компютърни игри.
Ако имате някакви въпроси, разбира се, можете да оставите коментар. За да видите повече за моите творби, моля, посетете канала ми:
myYouTube
myTwitter
myLinkedin
Благодаря, че прочетохте тази инструкция ^^ и приятен ден. Ще се видим. Ахмед Нуира.
Препоръчано:
Създайте игра Arduino Simon за 2 минути!: 3 стъпки
![Създайте игра Arduino Simon за 2 минути!: 3 стъпки Създайте игра Arduino Simon за 2 минути!: 3 стъпки](https://i.howwhatproduce.com/images/001/image-1845-j.webp)
Създайте игра на Arduino Simon за 2 минути!: БЕЗ скокове! БЕЗ проводници! БЕЗ запояване! NO Breadboard! Мислене извън кутията. Така че искате да демонстрирате микроконтролера си заедно с някои допълнителни периферни модели много бързо, преди приятелите или роднините да са на път … Съберете заедно
Създайте 2D игра: 15 стъпки
![Създайте 2D игра: 15 стъпки Създайте 2D игра: 15 стъпки](https://i.howwhatproduce.com/images/007/image-19565-j.webp)
Създайте 2D игра: Уморени ли сте да играете игри? Защо не направите игра? Тази инструкция ви превежда как да направите напълно проста 2D игра … Ще използваме Unity Game Engine за проектиране и създаване на нашата 2D игра … и също така ще използваме Microsoft Visual Studio за програмиране и Cr
Състезателна гривна за ориентиране: 11 стъпки
![Състезателна гривна за ориентиране: 11 стъпки Състезателна гривна за ориентиране: 11 стъпки](https://i.howwhatproduce.com/none.webp)
Състезателна гривна за ориентиране: Опитвали ли сте някога да преминете към следващото ниво на ориентиране? Имате ли под ръка цялата необходима информация? Тук ще видите как подобрихме една страхотна дейност с технологиите. Ще създадем гривна за ориентация, която ще ви даде много информация
Създаване на графики за състезателна игра с нула: 7 стъпки
![Създаване на графики за състезателна игра с нула: 7 стъпки Създаване на графики за състезателна игра с нула: 7 стъпки](https://i.howwhatproduce.com/images/005/image-13252-26-j.webp)
Създаване на графики за състезателна игра Scratch: Този урок ще ви покаже как да направите състезателна игра вътре в Scratch
Поставяне на музика в надпреварата състезателна игра: 3 стъпки
![Поставяне на музика в надпреварата състезателна игра: 3 стъпки Поставяне на музика в надпреварата състезателна игра: 3 стъпки](https://i.howwhatproduce.com/images/005/image-13257-21-j.webp)
Поставяне на музика в състезателната игра Scratch: Този урок ще ви покаже стъпка по стъпка как да поставите собствена музика в състезателната игра BIY Scratch