Სარჩევი:
- ნაბიჯი 1: ფართო მიმოხილვა
- ნაბიჯი 2: წინაპირობები
- ნაბიჯი 3: "გამარჯობა მსოფლიო" Pygame Zero- ში
- ნაბიჯი 4: თქვენი მსახიობის დახატვა
- ნაბიჯი 5: აკონტროლეთ მსახიობი
- ნაბიჯი 6: ბილიკის მშენებლობა
- ნაბიჯი 7: ავტოკატასტროფა
- ნაბიჯი 8: გაუშვით თამაში Raspberry Pi– ზე
- ნაბიჯი 9: თქვენ გაიმარჯვეთ?
- ნაბიჯი 10: დასკვნა
ვიდეო: შექმენით თქვენი პირველი სარბოლო თამაში: 10 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
თუ თქვენ დაასრულეთ პითონის კოდირება და გინდათ დაწეროთ თამაში, რომელიც შეიძლება გქონდეთ Pygame Zero– ში.
ამ გაკვეთილში ჩვენ დავწერთ მარტივ რბოლის თამაშს.
ნაბიჯი 1: ფართო მიმოხილვა
Pygame მოდული ამატებს ბევრ ფუნქციას, რომელიც დაგეხმარებათ თამაშების დაწერაში პითონში.
Pygame Zero მიდის კიდევ ერთი ნაბიჯით, რათა გამოტოვოთ ყველა ის რთული მარყუჟის შექმნის რთული პროცესი და შექმნათ თქვენი პროგრამის სტრუქტურა.
Pygame Zero შესანიშნავი არჩევანია მათთვის, ვისაც სურს დაიწყოს კომპიუტერული თამაშების წერა Raspberry Pi– ზე ან Linux– ის ნებისმიერ აპარატზე.
Შენ დაგჭირდება:
- მანქანა, რომელიც მუშაობს Linux OS– ით
- რედაქტორი პითონის პროგრამის დასაწერად
- კლავიატურა
- რაღაც წარმოსახვა
ფაილები:
github.com/AhmNouira/-Racing-Game
ნაბიჯი 2: წინაპირობები
ჯერ მე გამოვიყენებ ჩემს ლეპტოპს Ubuntu 18.04 OS– ით. შემდეგ ჩვენ ვაწარმოებთ თამაშს Raspberry Pi– ზე მე –8 ნაბიჯში.
სანამ ამ სახელმძღვანელოს გააგრძელებდეთ, დარწმუნდით, რომ ხართ შესული როგორც მომხმარებელი sudo პრივილეგიებით.
პიპის დაყენება პითონ 3 -ისთვის
დაიწყეთ პაკეტების სიის განახლებით შემდეგი ბრძანების გამოყენებით:
sudo apt განახლება
გამოიყენეთ შემდეგი ბრძანება Python 3 -ის პიპის დასაყენებლად:
sudo apt დააინსტალირეთ python3-pip
შეამოწმეთ ინსტალაცია პიპის ვერსიის შემოწმებით:
pip3 -შემობრუნება
Pygame Zero– ს ინსტალაცია
pip3 დააინსტალირეთ pgzero -მომხმარებელი
ეს ასევე დააინსტალირებს Pygame. წინასწარ შედგენილი Pygame პაკეტები
თქვენი მოგზაურობის პირველი ნაბიჯი იქნება გახსნათ Python 3 IDLE ან თქვენი საყვარელი პითონის რედაქტორი.
ნაბიჯი 3: "გამარჯობა მსოფლიო" Pygame Zero- ში
სტანდარტულად, Pygame Zero ფანჯარა იხსნება 800 პიქსელის სიგანეზე და 600 პიქსელის სიმაღლეზე. შეგიძლიათ მორგება
თქვენი ფანჯრის ზომა, არის ორი წინასწარგანსაზღვრული ცვლადი, რომლის დაყენებაც შეგიძლიათ, თუ ჩართავთ WIDTH = 700 HIGH = 800.
Pygame zero უზრუნველყოფს წინასწარ განსაზღვრულ ფუნქციებს, რომლებიც ჩვეულებრივ ასრულებს თამაშის მარყუჟს:
გათამაშება () ფუნქცია
ჩვენ შეგვიძლია ჩავწეროთ ეს ფუნქცია ჩვენს პროგრამაში ისე, როგორც ჩვეულებრივ განვსაზღვრავთ ფუნქციას პითონში.
Pygame Zero იცავს ფორმატირების იმავე წესებს, რაც პითონი, ასე რომ თქვენ უნდა იზრუნოთ თქვენი კოდის სწორად შეყვანაზე.
#!/usr/bin/python3 # დააყენეთ თარჯიმანი
იმპორტი pgzrun # იმპორტი pgzero მოდული WIDTH = 700 # ფანჯრის სიგანე HEIGHT = 800 # სიმაღლე ფანჯრის def draw (): # pygame ნულოვანი ხატვის ფუნქციის ეკრანი. შეავსეთ ((128, 128, 128)) # შეავსეთ ეკრანი RGB ფერადი screen.draw.text ("გამარჯობა მსოფლიო!", (270, 320), # დახაზე "გამარჯობა მსოფლიო!" ფერი = (255, 255, 255), შრიფტის ზომა = 40) pgzrun.go ()
უპირველეს ყოვლისა, თქვენ უნდა შეინახოთ თქვენი პროგრამის ფაილი და დაარქვათ სახელი.
შემდეგ გახსენით ტერმინალის ფანჯარა, გადადით თქვენი ფაილის ადგილმდებარეობაზე და ჩაწერეთ:
./.py
ნაბიჯი 4: თქვენი მსახიობის დახატვა
ახლა, როდესაც ჩვენ გვაქვს სასცენო სცენა, ჩვენ შეგვიძლია შევქმნათ ჩვენი მსახიობები, ისინი დინამიური ობიექტებია Pygame Zero– ში.
ჩვენ შეგვიძლია ჩავტვირთოთ მსახიობი პროგრამის ზედა ნაწილში აკრეფით:
მანქანა = მსახიობი ("რბოლა")
Pygame Zero– ში ჩვენი სურათები უნდა იყოს შენახული დირექტორიაში, სახელწოდებით images, ჩვენი პროგრამის ფაილის გვერდით. ასე რომ, ჩვენი მსახიობი ეძებს გამოსახულების ფაილს სურათების საქაღალდეში, რომელსაც ეწოდება racecar.png. ეს შეიძლება იყოს GIF ან-j.webp
თქვენ შეგიძლიათ მისი პოზიცია ეკრანზე აკრიფოთ:
car.pos = 350, 560
ამის შემდეგ ჩვენს draw () ფუნქციაში შეგვიძლია ჩავწეროთ
car.draw () # დავხატოთ ჩვენი რბოლის მანქანა განსაზღვრულ პოზიციაზე
სრული პროგრამა ასეთი იქნება:
#!/usr/bin/python3
იმპორტი pgzrun WIDTH = 700 # ფანჯრის სიგანე HEIGHT = 800 # სიმაღლე ფანჯრის მანქანა = მსახიობი ("racecar") car.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # შეავსეთ ეკრანი car.draw () pgzrun.go ()
შეამოწმეთ თქვენი პროგრამა, რომ დარწმუნდეთ რომ მუშაობს.
ნაბიჯი 5: აკონტროლეთ მსახიობი
მას შემდეგ რაც ჩვენ დავხატავთ მანქანის ეკრანზე, მომდევნო ეტაპი არის მოთამაშეს საშუალება მისცეს მისი გადატანა.
ამის გაკეთება შეგვიძლია კლავიშთა დაჭერით. ჩვენ შეგვიძლია წავიკითხოთ ამ კლავიშების მდგომარეობა სხვა წინასწარ განსაზღვრული ფუნქციის შიგნით, რომელსაც ეწოდება განახლება ().
განახლების ფუნქცია ()
ეს ფუნქცია მუდმივად შემოწმებულია თამაშის დროს.
ჩვენ უნდა დავწეროთ კოდი, რომ გამოვყოთ ისრების ღილაკების გასაღებები და ასევე გავაკეთოთ რამე ამის შესახებ.
ასე რომ, ჩვენ დავამატებთ ამ ფუნქციას ჩვენს პროგრამაში
def განახლება ():
if keyboard.left: car.x -= 2 if keyboard.right: car.x += 2 if keyboard.up: car.y -= 2 if keyboard.down: car.y += 2
კოდის ეს ხაზები მოძრაობს მანქანის მსახიობს მარცხნივ, მარჯვნივ, წინ და უკან.
ნაბიჯი 6: ბილიკის მშენებლობა
ახლა, როდესაც ჩვენ გვყავს მანქანა, რომლის მართვაც შეგვიძლია, ჩვენ გვჭირდება ბილიკი, რომლითაც ის იმოძრავებს.
ჩვენ ვაპირებთ ავაშენოთ ჩვენი სიმღერა მსახიობებისგან, ერთ რიგში. ჩვენ დაგვჭირდება სიების შედგენა, რათა თვალყური ვადევნოთ ჩვენს მიერ შექმნილ მსახიობებს.
ჩვენ ასევე დაგვჭირდება რამოდენიმე ცვლადის დაყენება სიმღერისთვის.
შემდეგ მოდით შევქმნათ ახალი ფუნქცია სახელწოდებით makeTrack (), ფუნქცია დაამატებს ერთ სიმღერას მსახიობს მარცხნივ და ერთს მარჯვნივ, ორივე გამოსახულების გამოყენებით bare-p.webp
trackLeft = # სია მარცხენა ზოლების შესანახად
trackRight = # ჩამონათვალი მარჯვენა ბარის შესანახად trackCount = 0 # ითვლიან ბარების რაოდენობას trackPosition = 350 trackWidth = 150 # სიგანე მარცხენა და მარჯვენა შტრიხებს შორის def makeTrack (): # ფუნქცია ერთი ბარი მარცხენა და მარჯვენა გლობალურ ბილიკზე, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (მსახიობი ("შიშველი", pos = (trackPosition-trackWidth, 0))) trackRight.append (მსახიობი ("შიშველი", pos = (trackPosition + trackWidth, 0))) trackCount += 1
შემდეგი, რაც უნდა გავაკეთოთ, არის ეკრანიდან მანქანისკენ მიმავალი ნაწილის გადატანა.
მოდით დავწეროთ ახალი ფუნქცია სახელწოდებით updateTrack (), ეს ფუნქცია განახლდება იქ, სადაც გამოჩნდება ტრეკის ბლოკები. ტრეკის ნაწილები იქმნება შემთხვევითი რიცხვებით, ამიტომ თითოეული თამაში განსხვავებულია.
trackDriction = მცდარი
SPEED = 4 # ადგენს თამაშის სიჩქარეს შემთხვევითი იმპორტიდან randint # შემოიყვანეთ randint კლასი შემთხვევითი მოდულიდან def updateTrack (): გლობალური trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 ხოლო b
გთხოვთ მიმართოთ ქვემოთ მოცემულ zip ფაილს სახელწოდებით "RaceGameDemo".
თუ ჩვენ ვიყენებთ ჩვენს კოდს ამ მომენტში, ჩვენ უნდა დავინახოთ ბილიკი, რომელიც ეშვება მანქანისკენ. ერთადერთი პრობლემა ის არის, რომ ჩვენ შეგვიძლია მანქანის გადატანა ბილიკების ბარიერებზე და ჩვენ გვსურს შევინარჩუნოთ მანქანა მათ შიგნით შეჯახების გამოვლენით.
ნაბიჯი 7: ავტოკატასტროფა
ჩვენ უნდა დავრწმუნდეთ, რომ ჩვენი მანქანა არ შეეხოთ ბილიკ მსახიობებს.
ჩვენ ასევე შეგვიძლია შევამოწმოთ შეჯახება მეთოდის გამოყენებით colliderect () ჩვენს updateTrack () ფუნქციაში.
ამ თამაშში ჩვენ გვექნება სამი განსხვავებული მდგომარეობა თამაშში შენახული ჩვენს ცვალებად თამაშში სტატუსი:
- gameStatus == 0 # თამაში მიმდინარეობს
- gameStatus == 1 # ავტოკატასტროფა
- gameStatus == 2 # თამაში დასრულდა
ჩვენ დაგვჭირდება შეცვალოთ ჩვენი draw () ფუნქცია და ჩვენი განახლება () ფუნქცია, რომ ვუპასუხოთ gameStatus ცვლადს.
დასრულების შეხება
ყველაფერი რაც ჩვენ ახლა უნდა გავაკეთოთ არის რაღაცის ჩვენება, თუ gameStatus არის 1 ან 2, მაგალითად, ჩვენ უნდა გამოვაჩინოთ წითელი
დროშა, თუ მანქანა დაეჯახა. ჩვენ შეგვიძლია ამის გაკეთება ქვემოთ მოყვანილი კოდით:
screen.blit ("redflag", (230, 230))
იმის დასანახად მიაღწია თუ არა მანქანამ დასრულებას, უნდა დავთვალოთ რამდენი ტრეკის სექცია შეიქმნა და შემდეგ, ალბათ, როდესაც 200 -მდე მივიღებთ, თამაშის სტატუსი დავაყენოთ 2 -ზე. შემდეგ აჩვენეთ კასრირებული დროშა:
screen.blit ("finishflag", (230, 230))
ჩვენ ასევე გამოვაქვეყნებთ ტექსტს ეკრანზე, როგორც თამაშის მიმდინარე ქულა.
გადახედეთ კოდების სრულ ჩამონათვალს, რომ ნახოთ როგორ ჯდება ეს ყველაფერი ერთად.
ნაბიჯი 8: გაუშვით თამაში Raspberry Pi– ზე
Raspberry Pi– ზე pgzero დაყენებულია სტანდარტულად მას შემდეგ, რაც გამოვიდა Raspbian Jessie 2015 წლის სექტემბერში.
უბრალოდ განაახლეთ თქვენი Raspberry Pi ბრძანების გამოყენებით:
sudo apt-get განახლება
გადადით თქვენი ფაილის ადგილას და ჩაწერეთ ტერმინალი.
პგზრუნი.პი
ნაბიჯი 9: თქვენ გაიმარჯვეთ?
თქვენ შეგიძლიათ გაამარტივოთ ან გაართულოთ თამაში trackWidth ცვლადის შეცვლით, რათა ტრეკი განსხვავებული სიგანის გახადოთ. თქვენ შეგიძლიათ შეცვალოთ SPEED- ის მნიშვნელობა, რათა ტრეკი უფრო სწრაფად ან ნელა გადაადგილდეს.
ნაბიჯი 10: დასკვნა
Pygame Zero შესანიშნავი არჩევანია მათთვის, ვისაც სურს დაიწყოს კომპიუტერული თამაშების წერა.
თუ თქვენ გაქვთ რაიმე შეკითხვა, რა თქმა უნდა შეგიძლიათ დატოვოთ კომენტარი. ჩემი ნამუშევრების შესახებ მეტის სანახავად ეწვიეთ ჩემს არხს:
myYouTube
myTwitter
myLinkedin
გმადლობთ, რომ კითხულობთ ამ სასწავლებელს ^^ და გისურვებთ სასიამოვნო დღეს. ნახე აჰმედ ნუირა.
გირჩევთ:
როგორ გააკეთოთ თქვენი პირველი მარტივი პროგრამული უზრუნველყოფა პითონის გამოყენებით: 6 ნაბიჯი
როგორ გააკეთოთ თქვენი პირველი მარტივი პროგრამული უზრუნველყოფა პითონის გამოყენებით: გამარჯობა, კეთილი იყოს თქვენი მობრძანება ამ ინსტრუქციებში. აქ მე გეტყვით, თუ როგორ უნდა შექმნათ თქვენი საკუთარი პროგრამული უზრუნველყოფა. დიახ, თუ თქვენ გაქვთ იდეა … მაგრამ იცით განახორციელოთ ან დაინტერესებული იყოთ ახალი ნივთების შექმნით, ეს თქვენთვისაა …… წინაპირობა: უნდა გქონდეთ ძირითადი ცოდნა P
შექმენით თქვენი საკუთარი 1D პონგის თამაში: 5 ნაბიჯი (სურათებით)
შექმენით თქვენი საკუთარი 1D პონგის თამაში: ამ პროექტისთვის მე გაჩვენებთ თუ როგორ გავაერთიანე MDF დაფა ზუზერის ღილაკებით, LED- ებით და არდუინო ნანოთი, რათა შევქმნა 1D Pong თამაში, რომლის თამაშიც მართლაც სახალისოა. გზად მე გაჩვენებთ როგორ შევქმნათ ელექტრონიკის წრე და რამდენად განსხვავდება
როგორ დავწეროთ თქვენი პირველი Java პროგრამა: 5 ნაბიჯი
როგორ დავწეროთ თქვენი პირველი Java პროგრამა: ეს გაკვეთილი გიჩვენებთ თუ როგორ უნდა დაწეროთ თქვენი პირველი Java პროგრამა ეტაპობრივად
თქვენი პირველი ვებსაიტის შექმნა: 10 ნაბიჯი
თქვენი პირველი ვებსაიტის შექმნა: ამ გაკვეთილში თქვენ ისწავლით ძირითადი ვებ გვერდის შექმნას, რომელსაც აქვს დაკავშირებული სტილის ფურცელი და ინტერაქტიული javascript ფაილი
შექმენით თქვენი პირველი IOT Arduino– ს გამოყენებით დამატებითი მოდულების გარეშე: 5 ნაბიჯი (სურათებით)
შექმენით თქვენი პირველი IOT Arduino– ს გამოყენებით დამატებითი მოდულების გარეშე: სამყარო ყოველდღიურად უფრო ჭკვიანი ხდება და ამის ყველაზე დიდი მიზეზი არის ჭკვიანი ტექნოლოგიის ევოლუცია. როგორც ტექნიკურმა ენთუზიასტმა, თქვენ გსმენიათ ტერმინი IOT, რაც ნიშნავს ნივთების ინტერნეტს. ნივთების ინტერნეტი ნიშნავს კონტროლს და კვებას