Isi kandungan:
- Langkah 1: Gambaran Keseluruhan yang Luas
- Langkah 2: Prasyarat
- Langkah 3: "Hello World" di Pygame Zero
- Langkah 4: Melukis Pelakon Anda
- Langkah 5: Kawal Pelakon
- Langkah 6: Membina Trek
- Langkah 7: Kerosakan Kereta
- Langkah 8: Jalankan Permainan di Raspberry Pi
- Langkah 9: Adakah Anda Menang?
- Langkah 10: Kesimpulannya
Video: Buat Permainan Perlumbaan Pertama Anda: 10 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Sekiranya anda telah melakukan pengekodan Python dan ingin menulis permainan yang mungkin anda miliki di seluruh Pygame Zero.
Dalam tutorial ini kita akan menulis permainan lumba sederhana.
Langkah 1: Gambaran Keseluruhan yang Luas
Modul Pygame menambah banyak fungsi yang membantu anda menulis permainan di Python.
Pygame Zero melangkah lebih jauh untuk membiarkan anda melewati proses yang rumit untuk membuat semua gelung permainan tersebut dan mengatur struktur program anda.
Pygame Zero adalah pilihan tepat bagi sesiapa sahaja yang ingin mula menulis permainan komputer di Raspberry Pi atau mana-mana mesin Linux.
Anda Perlu:
- Mesin yang menjalankan OS Linux
- Editor untuk menulis program python
- Papan Kekunci
- Beberapa khayalan
Fail:
github.com/AhmNouira/-Racing-Game
Langkah 2: Prasyarat
Mula-mula saya akan menggunakan komputer riba saya dengan OS Ubuntu 18.04. Kemudian kita akan menjalankan permainan di Raspberry Pi pada langkah 8.
Sebelum meneruskan tutorial ini, pastikan anda log masuk sebagai pengguna dengan hak istimewa sudo.
Memasang pip untuk Python 3
Mulakan dengan mengemas kini senarai pakej dengan menggunakan arahan berikut:
sudo apt kemas kini
Gunakan arahan berikut untuk memasang pip untuk Python 3:
sudo apt pasang python3-pip
sahkan pemasangan dengan memeriksa versi pip:
pip3 - penukaran
Memasang Pygame Zero
pip3 pasang pgzero - pengguna
Ini juga akan memasang Pygame. Pakej Pygame yang telah disusun sebelumnya
Jadi langkah pertama dalam perjalanan anda adalah dengan membuka Python 3 IDLE atau editor python kegemaran anda.
Langkah 3: "Hello World" di Pygame Zero
Secara lalai, tetingkap Pygame Zero dibuka pada ukuran lebar 800 piksel dengan tinggi 600 piksel. Anda boleh menyesuaikan
saiz tetingkap anda, terdapat dua pemboleh ubah yang telah ditetapkan yang boleh anda tetapkan, jika anda memasukkan WIDTH = 700 TINGGI = 800.
Pygame zero menyediakan fungsi yang telah ditentukan untuk mengendalikan gelung permainan yang biasanya dilakukan:
Fungsi undian ()
Kita dapat menulis fungsi ini ke dalam program kita sama seperti biasanya kita menentukan fungsi di Python.
Pygame Zero mengikuti peraturan pemformatan yang sama dengan Python, jadi anda perlu berhati-hati untuk memasukkan kod anda dengan betul.
#! / usr / bin / python3 # tetapkan jurubahasa
import pgzrun # import modul pgzero WIDTH = 700 # lebar tetingkap HEIGHT = 800 # ketinggian draw def window (): # pygame zero draw function screen. isi ((128, 128, 128)) # isi skrin dengan RGB color screen.draw.text ("Hello World!", (270, 320), # draw "Hello World!" color = (255, 255, 255), fontsize = 40) pgzrun.go ()
Pertama sekali, anda perlu menyimpan fail program anda dan memberikan namanya.
Kemudian buka tetingkap Terminal, pergi ke lokasi fail anda dan ketik:
./.py
Langkah 4: Melukis Pelakon Anda
Sekarang kita telah menetapkan tahap kita, kita dapat membuat Pelakon kita, mereka adalah objek dinamik di Pygame Zero.
Kita boleh memuatkan Pelakon dengan menaip di bahagian atas program:
kereta = Pelakon ("kereta lumba")
Di Pygame Zero gambar kita perlu disimpan dalam direktori yang disebut gambar, di sebelah fail program kita. Oleh itu, Pelakon kita akan mencari fail gambar dalam folder gambar yang disebut racecar.png. Ini mungkin berupa fail GIF atau JPG, tetapi disarankan agar gambar anda berupa fail-p.webp
Anda boleh menetapkan kedudukannya di layar dengan mengetik:
kereta.pos = 350, 560
Selepas itu dalam fungsi draw () kita dapat menaip
car.draw () # lukiskan kereta lumba kita pada kedudukan yang ditentukan
Program penuh akan seperti ini:
#! / usr / bin / ular sawa3
import pgzrun WIDTH = 700 # lebar tingkap TINGGI = 800 # tinggi tingkap kereta = Pelakon ("racecar") kereta.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # isi skrin dengan car.draw () pgzrun.go ()
Uji program anda untuk memastikan ini berfungsi.
Langkah 5: Kawal Pelakon
Setelah kereta kita dilukis di layar, tahap seterusnya adalah membolehkan pemain memindahkannya.
Kita boleh melakukan ini dengan menekan kekunci. Kita dapat membaca keadaan kekunci ini di dalam fungsi lain yang telah ditentukan yang disebut kemas kini ().
Fungsi kemas kini ()
Fungsi ini diperiksa secara berterusan semasa permainan sedang berjalan.
Kita perlu menulis beberapa kod untuk mengesan penekanan kekunci anak panah dan juga melakukan sesuatu mengenainya.
Oleh itu, kami akan menambahkan fungsi ini ke program kami
kemas kini def ():
jika keyboard.left: car.x - = 2 if keyboard.right: car.x + = 2 if keyboard.up: car.y - = 2 if keyboard.down: car.y + = 2
Garis kod ini akan menggerakkan pelakon kereta ke kiri, kanan, ke depan dan ke belakang.
Langkah 6: Membina Trek
Sekarang kita mempunyai kereta yang boleh kita pandu, kita memerlukan trek untuk dipacu.
Kami akan membina jalan keluar dari Pelakon, satu baris pada satu masa. Kita perlu membuat beberapa senarai untuk mengawasi Pelakon yang kita buat.
Kita juga perlu menyediakan beberapa lagi pemboleh ubah untuk trek.
Kemudian mari kita buat fungsi baru yang disebut makeTrack (), Fungsi akan menambahkan satu trek Pelakon di sebelah kiri dan satu yang kanan, kedua-duanya menggunakan gambar kosong-p.webp
trackLeft = # senarai untuk menyimpan bareri kiri
trackRight = # senarai untuk menyimpan barries kanan trackCount = 0 # hitung bilangan barries trackPosition = 350 trackWidth = 150 # lebar antara barry kiri dan kanan def makeTrack (): # berfungsi untuk membuat satu barrie di kiri dan kanan global trackCount, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Pelakon ("bare", pos = (trackPosition-trackWidth, 0))) trackRight.append (Pelakon ("bare", pos = (trackPosition + trackWidth, 0)))) trackCount + = 1
Perkara seterusnya yang perlu kita lakukan ialah memindahkan bahagian trek ke bawah skrin ke arah kereta.
Mari kita tulis fungsi baru yang disebut updateTrack (), Fungsi ini dikemas kini di mana blok trek akan muncul. Potongan trek dibuat dengan nombor rawak sehingga setiap permainan berbeza.
trackDriction = Salah
SPEED = 4 # menetapkan kelajuan permainan dari randint import rawak # mengimport kelas randint dari modul rawak def updateTrack (): global trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 sambil b
Sila rujuk fail zip di bawah bernama "RaceGameDemo".
Sekiranya kita menjalankan kod kita pada masa ini, kita akan melihat trek bergerak ke arah kereta. Satu-satunya masalah ialah kita dapat menggerakkan kereta di atas halangan trek dan kita mahu menyimpan kereta di dalamnya dengan beberapa pengesanan perlanggaran.
Langkah 7: Kerosakan Kereta
Kita perlu memastikan bahawa kereta kita tidak menyentuh landasan Pelakon.
kita juga boleh menguji perlanggaran menggunakan kaedah colliderect () dalam fungsi updateTrack () kita.
Dalam permainan ini, kita akan mempunyai tiga keadaan berbeza dengan permainan yang tersimpan dalam permainan berubah-ubahStatus:
- gameStatus == 0 # permainan sedang berjalan
- permainanStatus == 1 # kemalangan kereta
- gameStatus == 2 # permainan selesai
Kita perlu mengubah fungsi draw () dan fungsi update () kita untuk bertindak balas terhadap pemboleh ubah gameStatus.
Sentuhan terakhir
Yang perlu kita lakukan sekarang ialah memaparkan sesuatu jika gameStatus diatur ke 1 atau 2, misalnya kita harus memaparkan warna merah
bendera, jika kereta itu terhempas. Kita boleh melakukannya dengan kod di bawah:
screen.blit ("redflag", (230, 230))
Untuk melihat sama ada kereta telah sampai ke penghujung, kita harus mengira berapa bahagian trek yang telah dibuat dan kemudian mungkin ketika kita sampai ke 200, tetapkan gameStatus ke 2. Kemudian paparkan bendera kotak-kotak:
screen.blit ("finishflag", (230, 230))
Kami juga akan memaparkan beberapa teks di layar seperti skor permainan semasa.
Lihat senarai kod lengkap untuk melihat bagaimana semua ini sesuai.
Langkah 8: Jalankan Permainan di Raspberry Pi
Pada Raspberry Pi pgzero telah dipasang secara lalai sejak pembebasan Raspbian Jessie pada bulan September 2015.
Cukup kemas kini Raspberry Pi anda dengan menggunakan arahan:
sudo apt-get kemas kini
Pergi ke lokasi fail anda dan taipkan Terminal.
pgzrun.py
Langkah 9: Adakah Anda Menang?
Anda boleh menjadikan permainan lebih mudah atau lebih sukar dengan mengubah pemboleh ubah trackWidth untuk menjadikan trek lebarnya berbeza. Anda boleh mengubah nilai SPEED untuk menjadikan trek bergerak lebih cepat atau lebih perlahan.
Langkah 10: Kesimpulannya
Pygame Zero adalah pilihan tepat bagi sesiapa sahaja yang ingin mula menulis permainan komputer.
Sekiranya anda mempunyai pertanyaan tentu anda boleh memberikan komen. Untuk melihat lebih banyak mengenai karya saya, sila lawati saluran saya:
myYouTube
myTwitter
myLinkedin
Terima kasih kerana membaca arahan ini ^^ dan selamat mencuba. Jumpa lagi. Ahmed Nouira.
Disyorkan:
Buat Konsol Permainan Retro Mudah Alih Anda Sendiri! yang Juga Tablet Win10 !: 6 Langkah (dengan Gambar)
Buat Konsol Permainan Retro Portable Anda Sendiri! …… yang Juga Tablet Win10 !: Dalam projek ini saya akan menunjukkan kepada anda cara membuat konsol permainan retro mudah alih yang juga boleh digunakan sebagai tablet Windows 10. Ia akan terdiri daripada 7 " LCD HDMI dengan skrin sentuh, LattePanda SBC, USB Power C USB Type C dan beberapa pelengkap lagi
Buat Permainan 1D Pong Anda Sendiri: 5 Langkah (dengan Gambar)
Buat Permainan 1D Pong Anda Sendiri: Untuk projek ini, saya akan menunjukkan kepada anda bagaimana saya menggabungkan papan MDF dengan butang buzzer, LED dan Arduino Nano untuk membuat Permainan 1D Pong yang sangat menyeronokkan untuk dimainkan. Sepanjang perjalanan saya akan menunjukkan kepada anda bagaimana membuat litar elektronik dan bagaimana bezanya
Permainan Arked Perlumbaan Kuda Halloween: 6 Langkah
Permainan Arked Balapan Kuda Halloween: Tahun ini kami memutuskan untuk membuat permainan arked lumba kuda untuk Halloween. Kami diilhamkan oleh versi mekanikal yang disebut Roll-a-Ball Horse Racing. Tujuan kami adalah untuk membuat permainan dengan kawalan lurus ke depan untuk menarik pelbagai pemain. Berdasarkan o
Simulator Kelajuan untuk Permainan Perlumbaan atau Simulator Coaster: 5 Langkah (dengan Gambar)
Speed Simulator untuk Racing Games atau Coaster Simulator: projek mudah, kipas akan meniup udara ke wajah anda mengikut kelajuan dalam permainan. Mudah dilakukan dan lucu
Cara Memeriksa Jika Permainan Akan Berjalan di Komputer Anda Sebelum Anda Membeli Permainan .: 4 Langkah
Cara Memeriksa Jika Permainan Akan Berjalan di Komputer Anda Sebelum Anda Membeli Permainan: Saya baru-baru ini memperoleh Call of Duty 4 dari seorang rakan (secara percuma saya mungkin menambah) kerana tidak akan berjalan di komputernya. Komputernya agak baru, dan membingungkan saya mengapa ia tidak dapat dijalankan. Oleh itu, setelah beberapa jam mencari di internet, saya terjumpa