Cov txheej txheem:
- Kauj Ruam 1: Cov Txheej Txheem Dav Dav
- Kauj ruam 2: Yam yuavtsum tau kawm uantej
- Kauj Ruam 3: "Nyob Zoo Ntiaj Teb" hauv Pygame Zero
- Kauj Ruam 4: Teeb Koj Tus Ua Yeeb Yam
- Kauj Ruam 5: Tswj Tus Ua Yeeb Yam
- Kauj Ruam 6: Tsim Txoj Kev
- Kauj Ruam 7: Tsheb Crash
- Kauj Ruam 8: Khiav Qhov Kev Ua Si ntawm Raspberry Pi
- Kauj Ruam 9: Koj Puas Yeej?
- Kauj ruam 10: Xaus
Video: Tsim Koj Thawj Qhov Kev Sib Tw Ua Si: 10 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
Yog tias koj tau ua qee qhov Python coding thiab xav sau game koj yuav muaj hla Pygame Zero.
Hauv qhov kev qhia no peb yuav sau qhov kev sib tw yooj yim.
Kauj Ruam 1: Cov Txheej Txheem Dav Dav
Pygame module ntxiv ntau txoj haujlwm uas pab koj sau kev ua si hauv Python.
Pygame Zero mus rau ib kauj ruam ntxiv kom koj hla hla txoj kev nyuaj ntawm kev ua txhua qhov kev ua si loops thiab teeb tsa koj cov qauv txheej txheem.
Pygame Zero yog qhov kev xaiv zoo rau txhua tus uas xav pib sau computer game ntawm Raspberry Pi lossis ib lub tshuab Linux.
Koj Yuav Tsum Tau:
- Tshuab uas khiav Linux OS
- Editor los sau cov program nab
- Keyboard
- Ib txhia xav
Cov ntaub ntawv:
github.com/AhmNouira/-Racing-Game
Kauj ruam 2: Yam yuavtsum tau kawm uantej
Ua ntej kuv yuav siv kuv lub laptop nrog Ubuntu 18.04 OS. Tom qab ntawd peb yuav ua qhov kev ua si ntawm Raspberry Pi hauv qib 8.
Ua ntej txuas ntxiv nrog cov lus qhia no, xyuas kom tseeb tias koj tau nkag rau hauv tus neeg siv nrog sudo txoj cai.
Txhim kho pip rau Python 3
Pib los ntawm kev hloov kho cov npe pob uas siv cov lus txib hauv qab no:
sudo apt hloov tshiab
Siv cov lus txib hauv qab no los teeb tsa pip rau Python 3:
sudo apt nruab python3-pip
txheeb xyuas qhov teeb tsa los ntawm kev txheeb xyuas qhov pip version:
pip3 -rov qab
Txhim kho Pygame Zero
pip3 nruab pgzero --user
Qhov no tseem yuav nruab Pygame. Npaj ua ntej pob Pygame
Yog li thawj kauj ruam hauv koj txoj kev yuav yog qhib Python 3 IDLE lossis tus kws kho mob uas koj nyiam tshaj plaws.
Kauj Ruam 3: "Nyob Zoo Ntiaj Teb" hauv Pygame Zero
Los ntawm lub neej ntawd, Pygame Zero qhov rai qhib ntawm qhov loj ntawm 800 pixels dav los ntawm 600 pixels siab. Koj tuaj yeem hloov kho
qhov loj ntawm koj lub qhov rais, muaj ob qhov piv txwv tseem ceeb uas koj tuaj yeem teeb tsa, yog tias koj suav nrog WIDTH = 700 HIGH = 800.
Pygame xoom muab lub luag haujlwm ua ntej los tswj cov game game ib txwm ua:
Qhov kos () Muaj nuj nqi
Peb tuaj yeem sau txoj haujlwm no rau hauv peb qhov haujlwm ib yam li peb ib txwm txhais lub luag haujlwm hauv Python.
Pygame Zero ua raws tib txoj cai kev teeb tsa zoo li Python, yog li koj yuav tsum tau saib xyuas kom nkag mus rau koj tus lej kom raug.
#!/usr/bin/python3 # teeb tus neeg txhais lus
ntshuam pgzrun # ntshuam pgzero module WIDTH = 700 # dav ntawm lub qhov rais HEIGHT = 800 # qhov siab ntawm lub qhov rais def kos (): # pygame xoom kos ua haujlwm screen.fill ((128, 128, 128)) # sau lub vijtsam nrog RGB xim screen.draw.text ("Nyob Zoo Ntiaj Teb!", (270, 320), # kos "Nyob Zoo Ntiaj Teb!" xim = (255, 255, 255), fontsize = 40) pgzrun.go ()
Ua ntej tshaj plaws koj yuav tsum khaws koj cov ntaub ntawv program thiab muab nws lub npe.
Tom qab ntawd qhib lub Terminal qhov rai, mus rau koj cov ntaub ntawv qhov chaw thiab ntaus:
./.py ib
Kauj Ruam 4: Teeb Koj Tus Ua Yeeb Yam
Tam sim no uas peb muaj peb theem teeb tsa, peb tuaj yeem tsim peb Cov Kws Ua Haujlwm, lawv yog cov khoom muaj zog hauv Pygame Zero.
Peb tuaj yeem thauj tus Actor los ntawm kev ntaus sab saum toj ntawm txoj haujlwm:
tsheb = Actor ("racecar")
Hauv Pygame Zero peb cov duab yuav tsum tau muab khaws cia rau hauv cov npe hu ua cov duab, nyob ib sab ntawm peb cov program file. Yog li ntawd, peb tus Actor yuav tab tom nrhiav cov duab hauv cov duab nplaub tshev hu ua racecar.png. Nws tuaj yeem yog GIF lossis-j.webp
Koj tuaj yeem teeb tsa nws txoj haujlwm ntawm lub vijtsam los ntawm kev ntaus:
car.pos = 350, 560
Tom qab ntawd hauv peb qhov kos () ua haujlwm peb tuaj yeem ntaus
car.draw () # kos peb lub tsheb sib tw ntawm nws txoj haujlwm
Qhov kev zov me nyuam yuav zoo li no:
#!/usr/bin/python3
ntshuam pgzrun WIDTH = 700 # dav ntawm lub qhov rais HAUJ LWM = 800 # qhov siab ntawm lub qhov rooj tsheb = Actor ("racecar") car.pos = 350, 560 def kos (): # pygame xoom kos ua haujlwm screen.fill ((128, 128, 128)) # sau qhov screen nrog car.draw () pgzrun.go ()
Kuaj koj qhov program kom paub tseeb tias qhov no ua haujlwm.
Kauj Ruam 5: Tswj Tus Ua Yeeb Yam
Thaum peb muaj peb lub tsheb kos duab ntawm lub vijtsam, theem tom ntej yog kom cov neeg ua si txav nws.
Peb tuaj yeem ua qhov no nrog nias qhov tseem ceeb. Peb tuaj yeem nyeem lub xeev ntawm cov yuam sij no hauv lwm qhov kev ua haujlwm ua ntej hu ua hloov tshiab ().
Hloov tshiab () Muaj nuj nqi
Lub luag haujlwm no tau tshuaj xyuas tas li thaum qhov kev ua si tau khiav.
Peb yuav tsum sau qee qhov chaws txhawm rau txheeb xyuas qhov tseem ceeb nias ntawm cov xub thiab tseem yuav ua qee yam txog nws.
Yog li peb yuav ntxiv txoj haujlwm no rau peb qhov program
def hloov tshiab ():
yog keyboard.left: car.x -= 2 yog keyboard.right: car.x += 2 yog keyboard.up: car.y -= 2 yog keyboard.down: car.y += 2
Cov kab ntawv ntawm txoj cai no yuav txav lub tsheb Actor Sab laug, sab xis, rau pem hauv ntej thiab rov qab.
Kauj Ruam 6: Tsim Txoj Kev
Tam sim no peb muaj lub tsheb uas peb tuaj yeem txav tau, peb xav tau txoj hauv kev kom nws tsav tsheb.
Peb yuav tsim peb txoj hauv kev los ntawm Cov Kws Ua Haujlwm, ib kab zuj zus. Peb yuav tsum tau ua qee cov npe kom taug qab cov Actors peb tsim.
Peb tseem yuav xav teeb tsa ob peb yam ntxiv rau qhov khiav.
Tom qab ntawd cia peb ua txoj haujlwm tshiab hu ua makeTrack (), Lub luag haujlwm yuav ntxiv ib txoj hauv kev Actor nyob rau sab laug thiab ib sab xis, ob qho tib si siv cov duab liab qab-p.webp
trackLeft = # cov npe khaws cov laug barries
trackRight = # daim ntawv khaws cia txoj cai barries trackCount = 0 # suav tus naj npawb ntawm barries trackPosition = 350 trackWidth = 150 # dav ntawm sab laug thiab sab xis barries def makeTrack (): # muaj nuj nqi los ua ib barrie ntawm sab laug thiab sab xis trackCount ntiaj teb, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Actor ("liab qab", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("liab qab", pos = (trackPosition + trackWidth, 0))) trackCount += 1
Qhov txuas ntxiv uas peb yuav tsum tau ua yog txav cov ntu ntawm txoj kab nqes los ntawm lub vijtsam mus rau lub tsheb.
Wb sau ib txoj haujlwm tshiab hu ua updateTrack (), Cov haujlwm no hloov tshiab qhov twg cov kab thaiv yuav tshwm.
trackDriction = Tsis tseeb
SPEED = 4 # teeb tsa qhov nrawm ntawm qhov kev ua si los ntawm Random import randint # ntshuam chav kawm randint los ntawm kev hloov pauv tsis raug defTrack (): thoob ntiaj teb trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 thaum b
Thov xa mus rau zip cov ntaub ntawv hauv qab no npe "RaceGameDemo".
Yog tias peb khiav peb cov cai tam sim no, peb yuav tsum pom txoj hauv kev nqes mus rau ntawm lub tsheb. Qhov teeb meem tsuas yog tias peb tuaj yeem txav lub tsheb hla txoj kev teeb tsa thiab peb xav kom lub tsheb sab hauv lawv nrog qee qhov kev sib tsoo pom.
Kauj Ruam 7: Tsheb Crash
Peb yuav tsum tau ua kom ntseeg tau tias peb lub tsheb tsis kov cov neeg ua yeeb yam.
peb kuj tseem yuav sim ntsuas kev sib tsoo siv txoj hauv kev colliderect () hauv peb qhov updateTrack () muaj nuj nqi.
Hauv qhov kev ua si no peb yuav muaj peb lub xeev sib txawv rau qhov kev ua si khaws cia hauv peb qhov gameStatus sib txawv:
- gameStatus == 0 # game is running
- gameStatus == 1 # tsheb sib tsoo
- gameStatus == 2 # game tas
Peb yuav tsum tau hloov pauv peb kos () ua haujlwm thiab peb hloov tshiab () ua haujlwm los teb rau gameStatus sib txawv.
Tiav tiav
Txhua yam peb yuav tsum tau ua tam sim no yog los tso saib qee yam yog gameStatus tau teeb tsa rau 1 lossis 2, piv txwv li peb yuav tsum tso saib liab
chij, yog lub tsheb poob. Peb tuaj yeem ua qhov ntawd nrog cov cai hauv qab no:
screen.blit ("redflag", (230, 230))
Txhawm rau pom tias lub tsheb tau mus txog qhov kawg, peb yuav tsum suav pes tsawg txoj kab ntu uas tau tsim thiab tom qab ntawd tej zaum thaum peb mus txog 200, teeb gameStatus rau 2. Tom qab ntawd tso tus chij checkered:
screen.blit ("finishflag", (230, 230))
Peb tseem yuav tso qee cov ntawv hauv qhov screen zoo li cov qhab nia tam sim no ntawm qhov kev ua si.
Saib ntawm daim ntawv teev npe tag nrho kom pom tias txhua qhov no haum ua ke.
Kauj Ruam 8: Khiav Qhov Kev Ua Si ntawm Raspberry Pi
Ntawm Raspberry Pi pgzero tau raug teeb tsa los ntawm lub neej ntawd txij li tso tawm Raspbian Jessie thaum lub Cuaj Hlis 2015.
Tsuas yog hloov kho koj li Raspberry Pi los ntawm kev siv cov lus txib:
sudo apt-tau hloov tshiab
Mus rau koj cov ntaub ntawv qhov chaw thiab ntaus hauv Terminal.
pog.py
Kauj Ruam 9: Koj Puas Yeej?
Koj tuaj yeem ua qhov kev ua si yooj yim dua lossis nyuab dua los ntawm kev hloov qhov trackWidth sib txawv los ua txoj kab dav sib txawv. Koj tuaj yeem hloov tus nqi ntawm SPEED kom ua rau txoj kev khiav nrawm dua lossis qeeb dua.
Kauj ruam 10: Xaus
Pygame Zero yog qhov kev xaiv zoo rau txhua tus neeg uas xav pib sau computer games.
Yog tias koj muaj lus nug ntawm chav kawm koj tuaj yeem tawm lus saib kom pom ntau ntxiv txog kuv cov haujlwm thov mus saib kuv tus channel:
kuv tus YouTube
kuv tus Twitter
myLinkedin
Ua tsaug rau kev nyeem cov lus qhia no ^^ thiab muaj hnub zoo. Saib koj. Ahmed Nouira: koj puas xav tau ntau tus thwjtim?
Pom zoo:
Qhov muag tsis pom kev Nrog ESP8266, Google Tsev thiab Openhab Kev Sib Koom thiab Kev Tswj Xyuas Web: 5 Cov Kauj Ruam (nrog Duab)
Qhov muag tsis pom kev Nrog ESP8266, Google Tsev thiab Openhab Kev Sib Koom thiab Kev Tswj Xyuas Web: Hauv Cov Lus Qhia no kuv qhia koj li cas kuv ntxiv kev siv tshuab rau kuv qhov muag tsis pom. Kuv xav kom muaj peev xwm ntxiv thiab tshem tawm qhov kev siv tshuab nws, yog li txhua qhov kev teeb tsa yog clip ntawm.Qhov tseem ceeb yog: Stepper motor Stepper tsav tswj bij ESP-01 Iav thiab teeb tsa
Ua Qhov Zoo Tshaj Plaws Ntawm Koj Li Kev Txiav Txim PCB (thiab Kho Qhov Yuam Kev): 4 Cov Kauj Ruam
Ua Qhov Zoo Tshaj Plaws Ntawm Koj Li Kev Txiav Txim PCB (thiab Kho Cov Yuam Kev): Thaum xaj PCBs online, koj feem ntau tau txais 5 lossis ntau dua ntawm PCB zoo ib yam thiab tsis tas yuav xav tau txhua tus. Tus nqi qis ntawm kev muaj cov kev cai ua-rau-xaj PCBs yog qhov txaus nyiam heev thiab peb feem ntau tsis txhawj xeeb txog yuav ua dab tsi ntxiv. Hauv ib
Qhov Sib Txawv Ntawm Lub Rooj Sib Tham Lub Rooj Sib Tham Lub Hwj Huam!: 6 Kauj Ruam (nrog Duab)
Qhov Sib Txawv Ntawm Lub Rooj Sib Tham Bench Power Supply!: Koj puas tau tsim koj qhov haujlwm tshiab thiab tuav rov qab los ntawm qhov koj tsis muaj kev tswj hwm koj li peev txheej? Zoo, qhov no yog qhov haujlwm rau koj! Hnub no kuv yuav qhia koj yuav ua li cas thiaj tsim tau lub rooj zaum hauv lub rooj zaum ua haujlwm tau zoo rau qhov pheej yig heev! Kuv tau ua qhov no tag nrho
CityCoaster - Tsim Koj Tus Kheej Li Kev Txhim Kho Kev Nyab Xeeb rau Koj Lub Lag Luam (TfCD): 6 Cov Kauj Ruam (nrog Duab)
CityCoaster - Tsim Koj Tus Kheej Li Kev Txhim Kho Kev Nyab Xeeb rau Koj Lub Lag Luam (TfCD): Lub nroog hauv qab koj lub khob! CityCoaster yog txoj haujlwm yug los xav txog cov khoom lag luam rau Rotterdam Lub Hague Tshav Dav Hlau, uas tuaj yeem nthuav qhia tus kheej ntawm lub nroog, lom zem rau cov neeg siv khoom ntawm thaj chaw chaw so nrog kev muaj tiag. Hauv ib puag ncig xws li
Tsim kom muaj suab paj nruag tsis xwm yeem thiab lub teeb tsim hluav taws xob thiab pom qhov pov thawj ntawm Vajtswv: 4 Cov Kauj Ruam
Tsim kom muaj Kev Nyuaj Siab Suab Nkauj thiab Lub Teeb Hluav Taws Xob thiab Nyeem Ntawv Pov Thawj ntawm Vajtswv: Tsim cov lej tsis raug zoo zoo li tsis yooj yim sua. Txawm li cas los xij, nws yooj yim siv microcontroller los tsim cov lej tsis raug thiab tom qab ntawd siv lawv los tso saib cov suab thiab cov xim sib txawv. Thaum cov nkauj uas tau tsim tawm yog n