Სარჩევი:

შექმენით თქვენი პირველი სარბოლო თამაში: 10 ნაბიჯი
შექმენით თქვენი პირველი სარბოლო თამაში: 10 ნაბიჯი

ვიდეო: შექმენით თქვენი პირველი სარბოლო თამაში: 10 ნაბიჯი

ვიდეო: შექმენით თქვენი პირველი სარბოლო თამაში: 10 ნაბიჯი
ვიდეო: ჯონ გოლდტვეიტი - “გულის გაწმენდა” - აუდიო წიგნი 2024, ნოემბერი
Anonim
Image
Image
გამოსახულება
გამოსახულება

თუ თქვენ დაასრულეთ პითონის კოდირება და გინდათ დაწეროთ თამაში, რომელიც შეიძლება გქონდეთ 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 32: if trackDirection == მცდარი: trackPosition += 16 თუ trackDirection == მართალია: trackPosition - = 16 თუ randint (0, 4) == 1: trackDirection = not trackDirection if trackPosition> 700 - trackWidth: trackDirection = True თუ trackPosition < trackWidth: trackDirection = ყალბი makeTrack () # ახალი ტრეკის შექმნა ეკრანის ზედა ნაწილში

გთხოვთ მიმართოთ ქვემოთ მოცემულ 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– ზე
გაუშვით თამაში Raspberry Pi– ზე
გაუშვით თამაში Raspberry Pi– ზე
გაუშვით თამაში Raspberry Pi– ზე

Raspberry Pi– ზე pgzero დაყენებულია სტანდარტულად მას შემდეგ, რაც გამოვიდა Raspbian Jessie 2015 წლის სექტემბერში.

უბრალოდ განაახლეთ თქვენი Raspberry Pi ბრძანების გამოყენებით:

sudo apt-get განახლება

გადადით თქვენი ფაილის ადგილას და ჩაწერეთ ტერმინალი.

პგზრუნი.პი

ნაბიჯი 9: თქვენ გაიმარჯვეთ?

Გაიმარჯვე?
Გაიმარჯვე?

თქვენ შეგიძლიათ გაამარტივოთ ან გაართულოთ თამაში trackWidth ცვლადის შეცვლით, რათა ტრეკი განსხვავებული სიგანის გახადოთ. თქვენ შეგიძლიათ შეცვალოთ SPEED- ის მნიშვნელობა, რათა ტრეკი უფრო სწრაფად ან ნელა გადაადგილდეს.

ნაბიჯი 10: დასკვნა

Pygame Zero შესანიშნავი არჩევანია მათთვის, ვისაც სურს დაიწყოს კომპიუტერული თამაშების წერა.

თუ თქვენ გაქვთ რაიმე შეკითხვა, რა თქმა უნდა შეგიძლიათ დატოვოთ კომენტარი. ჩემი ნამუშევრების შესახებ მეტის სანახავად ეწვიეთ ჩემს არხს:

myYouTube

myTwitter

myLinkedin

გმადლობთ, რომ კითხულობთ ამ სასწავლებელს ^^ და გისურვებთ სასიამოვნო დღეს. ნახე აჰმედ ნუირა.

გირჩევთ: