logo

Як розробити гру на Python

Найбільш адаптивною мовою є Python, який використовується майже в усіх галузях, включаючи розробку ігор, веб-розробку, машинне навчання, штучний інтелект і додатки з графічним інтерфейсом користувача.

Гра розроблена за допомогою пакета pygame, який є вбудованою функцією Python. Маючи елементарне розуміння програмування на Python, ми можемо створювати візуально привабливі ігри з відповідною анімацією, звуковими ефектами та музикою, використовуючи модуль pygame.

Для створення відеоігор використовується кросплатформна бібліотека під назвою Pygame. Він має звукові бібліотеки та комп’ютерні візуальні ефекти, щоб надати гравцеві типовий досвід гри.

Піт Шіннерс розробляє його, щоб замінити PySDL.

Передумови для Pygame

Нам потрібно розуміти мову програмування Python, щоб вивчити Pygame.

java system.out.println

Встановлення Pygame

Щоб установити Pygame, відкрийте термінал командного рядка та введіть таку команду.

 pip install pygame 

Ми також можемо встановити його через IDE. Щоб отримати додатковий посібник зі встановлення, відвідайте наш повний посібник із pygame (https://www.javatpoint.com/pygame). Тут ви знайдете всі основні пояснення pygame.

Простий приклад Pygame

Ось наступний приклад створення простого вікна pygame.

 import pygame pygame.init() screen = pygame.display.set_mode((400,500)) done = False while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True pygame.display.flip() 

Вихід:

Як розробити гру на Python

Пояснення:

прихованих програм на цьому пристрої

Наданий код відкриває вікно Pygame розміром 400x500 пікселів і запускає цикл, який постійно стежить за подіями. Цикл змінює змінну 'done' на True, що завершує цикл і завершує програму, якщо виявлено подію QUIT (зазвичай, коли користувач виходить з вікна). Оновлює дисплей і забезпечує відображення будь-яких змін на екрані завдяки методу 'pygame.display.flip()'. Коротко кажучи, код генерує невелике вікно Pygame, яке залишається активним, доки користувач не закриє його, демонструючи базову структуру програми, керовану подіями.

Уся графіка буде відображатися у вікні pygame.

Давайте розберемося з основним синтаксисом наведеної вище програми.

перетворити рядок на об’єкт json
    імпорт pygame:Це модуль, який дає нам доступ до всіх функцій Pygame.тепло():Він використовується для ініціалізації кожного з необхідних модулів pygame.display.set_mode((ширина, висота)):Він використовується для регулювання розміру вікна. Це поверне предмет на поверхню. Графічні дії виконуються через поверхневий об'єкт.event.get():Результат — порожня черга подій. Якщо ми її не викличемо, операційна система сприйме гру як невідповідну, і повідомлення у вікні почнуть накопичуватися.ВИЙТИ:Коли ми натискаємо кнопку з хрестиком у кутку вікна, вона використовується для відхилення події.display.flip():У ньому відображаються будь-які оновлення гри. Ми повинні звертатися до дисплея щоразу, коли ми робимо будь-які зміни. flip() — це функція.

На поверхні Pygame можна намалювати будь-яку форму, включаючи красиві шрифти та зображення. Численні вбудовані методи Pygame дозволяють малювати геометричні фігури на екрані. Ці форми являють собою перші кроки у створенні гри.

Давайте розглянемо наступну ілюстрацію форми, яка малюється на екрані.

приклад -

 import pygame from math import pi pygame.init() # size variable is using for set screen size size = [400, 300] screen = pygame.display.set_mode(size) pygame.display.set_caption('Example program to draw geometry') # done variable is using as flag done = False clock = pygame.time.Clock() while not done: # clock.tick() limits the while loop to a max of 10 times per second. clock.tick(10) for event in pygame.event.get(): # User did something if event.type == pygame.QUIT: # If user clicked on close symbol done = True # done variable that we are complete, so we exit this loop # All drawing code occurs after the for loop and but # inside the main while done==False loop. # Clear the default screen background and set the white screen background screen.fill((0, 0, 0)) # Draw on the screen a green line which is 5 pixels wide. pygame.draw.line(screen, (0, 255, 0), [0, 0], [50, 30], 5) # Draw on the screen a green line which is 5 pixels wide. pygame.draw.lines(screen, (0, 0, 0), False, [[0, 80], [50, 90], [200, 80], [220, 30]], 5) # Draw a rectangle outline pygame.draw.rect(screen, (0, 0, 0), [75, 10, 50, 20], 2) # Draw a solid rectangle pygame.draw.rect(screen, (0, 0, 0), [150, 10, 50, 20]) # This draw an ellipse outline, using a rectangle as the outside boundaries pygame.draw.ellipse(screen, (255, 0, 0), [225, 10, 50, 20], 2) # This draw a solid ellipse, using a rectangle as the outside boundaries pygame.draw.ellipse(screen, (255, 0, 0), [300, 10, 50, 20]) # Draw a triangle using the polygon function pygame.draw.polygon(screen, (0, 0, 0), [[100, 100], [0, 200], [200, 200]], 5) # This draw a circle pygame.draw.circle(screen, (0, 0, 255), [60, 250], 40) # This draw an arc pygame.draw.arc(screen, (0, 0, 0), [210, 75, 150, 125], 0, pi / 2, 2) # This function must write after all the other drawing commands. pygame.display.flip() # Quite the execution when clicking on close pygame.quit() 

Вихід:

Як розробити гру на Python

Пояснення:

Дана програма на Python створює графічне вікно з намальованими в ньому різними геометричними фігурами за допомогою пакета Pygame. Програма створює вікно Pygame розміром 400x300 пікселів, а потім запускає цикл, який весь час стежить за подіями, переконавшись, що вікно залишається відкритим, доки користувач не вийде з нього. Він очищає екран на початку цього циклу, а потім використовує процедури малювання Pygame для створення різноманітних форм із різними кольорами та шириною ліній. Ці фігури включають лінії, багатокутники, еліпси, кола та дуги. Кожна форма має відповідні координати та визначені властивості. Нарешті, 'pygame.display.flip()' використовується для оновлення дисплея. Програма завершує роботу pygame після закриття вікна.

Програма служить прикладом адаптивності та різноманітності можливостей малювання Pygame і забезпечує основу для розробки інтерактивних графічних програм. Розробники можуть створювати широкий спектр візуальних компонентів у графічному середовищі Pygame, регулюючи такі параметри, як координати, кольори та ширину ліній. Це дозволяє створювати інтерактивні мультимедійні програми, ігри та моделювання.

скільки унцій становить 10 мілілітрів

Приклад – розробка гри Snake за допомогою Pygame

Програма -

 # Snake Tutorial Using Pygame import math import random import pygame import tkinter as tk from tkinter import messagebox class cube(object): rows = 20 w = 500 def __init__(self, start, dirnx=1, dirny=0, color=(255, 0, 0)): self.pos = start self.dirnx = 1 self.dirny = 0 self.color = color def move(self, dirnx, dirny): self.dirnx = dirnx self.dirny = dirny self.pos = (self.pos[0] + self.dirnx, self.pos[1] + self.dirny) def draw(self, surface, eyes=False): dis = self.w // self.rows i = self.pos[0] j = self.pos[1] pygame.draw.rect(surface, self.color, (i * dis + 1, j * dis + 1, dis - 2, dis - 2)) if eyes: centre = dis // 2 radius = 3 circleMiddle = (i * dis + centre - radius, j * dis + 8) circleMiddle2 = (i * dis + dis - radius * 2, j * dis + 8) pygame.draw.circle(surface, (0, 0, 0), circleMiddle, radius) pygame.draw.circle(surface, (0, 0, 0), circleMiddle2, radius) # This class is defined for snake design and its movement class snake(object): body = [] turns = {} def __init__(self, color, pos): self.color = color self.head = cube(pos) self.body.append(self.head) self.dirnx = 0 self.dirny = 1 def move(self): for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() keys = pygame.key.get_pressed() # It will manage the keys movement for the snake for key in keys: if keys[pygame.K_LEFT]: self.dirnx = -1 self.dirny = 0 self.turns[self.head.pos[:]] = [self.dirnx, self.dirny] elif keys[pygame.K_RIGHT]: self.dirnx = 1 self.dirny = 0 self.turns[self.head.pos[:]] = [self.dirnx, self.dirny] elif keys[pygame.K_UP]: self.dirnx = 0 self.dirny = -1 self.turns[self.head.pos[:]] = [self.dirnx, self.dirny] elif keys[pygame.K_DOWN]: self.dirnx = 0 self.dirny = 1 self.turns[self.head.pos[:]] = [self.dirnx, self.dirny] # Snake when hit the boundary wall for i, c in enumerate(self.body): p = c.pos[:] if p in self.turns: turn = self.turns[p] c.move(turn[0], turn[1]) if i == len(self.body) - 1: self.turns.pop(p) else: if c.dirnx == -1 and c.pos[0] = c.rows - 1: c.pos = (0, c.pos[1]) elif c.dirny == 1 and c.pos[1] &gt;= c.rows - 1: c.pos = (c.pos[0], 0) elif c.dirny == -1 and c.pos[1] <= 0 1 0: c.pos="(c.pos[0]," c.rows - 1) else: c.move(c.dirnx, c.dirny) def reset(self, pos): self.head="cube(pos)" self.body="[]" self.body.append(self.head) self.turns="{}" self.dirnx="0" self.dirny="1" # it will add the new cube in snake tail after every successful score addcube(self): dx, dy="tail.dirnx," tail.dirny if dx="=" and self.body.append(cube((tail.pos[0] 1, tail.pos[1]))) elif -1 + 1: self.body.append(cube((tail.pos[0], tail.pos[1] 1))) -1: self.body[-1].dirnx="dx" self.body[-1].dirny="dy" draw(self, surface): for i, c enumerate(self.body): i="=" c.draw(surface, true) c.draw(surface) drawgrid(w, rows, sizebtwn="w" rows x="0" y="0" l range(rows): draw grid line pygame.draw.line(surface, (255, 255, 255), (x, 0), w)) (0, y), (w, y)) this class define game surface redrawwindow(surface): global width, s, snack is used to surface.fill((0, 0, 0)) s.draw(surface) snack.draw(surface) drawgrid(width, surface) pygame.display.update() randomsnack(rows, item): positions="item.body" while true: len(list(filter(lambda z: z.pos="=" positions)))> 0: continue else: break return (x, y) # Using Tkinter function to display message def message_box(subject, content): root = tk.Tk() root.attributes(&apos;-topmost&apos;, True) root.withdraw() messagebox.showinfo(subject, content) try: root.destroy() except: pass # main() function def main(): global width, rows, s, snack width = 500 rows = 20 win = pygame.display.set_mode((width, width)) s = snake((255, 0, 0), (10, 10)) snack = cube(randomSnack(rows, s), color=(0, 255, 0)) flag = True clock = pygame.time.Clock() while flag: pygame.time.delay(50) clock.tick(10) s.move() if s.body[0].pos == snack.pos: s.addCube() snack = cube(randomSnack(rows, s), color=(0, 255, 0)) for x in range(len(s.body)): if s.body[x].pos in list(map(lambda z: z.pos, s.body[x + 1:])): print(&apos;Score: 
&apos;, len(s.body)) message_box(&apos;You Lost!
&apos;, &apos;Play again...
&apos;) s.reset((10, 10)) break redrawWindow(win) pass main() </=>

Вихід:

розмір шрифту в латексі
Як розробити гру на Python

Якщо змія торкнеться себе, вона завершить гру та відобразить таке повідомлення.

Як розробити гру на Python

Щоб відновити, просто натисніть кнопку OK. Термінал Pycharm відображає нашу оцінку (ми використовували Pycharm IDE, але ви можете використовувати будь-яку Python IDE).

Як розробити гру на Python

Пояснення:

Наданий сценарій Python використовує пакет Pygame для створення простої гри Snake. Він встановлює класи як для Змії, так і для окремих кубів, які складають її тіло. Pygame використовується для налаштування ігрового вікна, яке має структуру сітки та рухому змійку. З’ївши кубик «закуски», змія подовжується, і якщо вона натикається на себе або на обмежувальні стіни, гра закінчується.

Щоб керувати напрямком руху змії, генерувати закуски в випадкових точках сітки, виявляти зіткнення між головою та тілом змії, оновлювати стан гри та перемальовувати ігрове вікно, логіка гри має обробляти дані користувача. Щоб керувати взаємодією гри та візуальними оновленнями, сценарій використовує методи обробки подій і малювання Pygame. Він також має базову функцію вікна повідомлень, яка використовує Tkinter для показу гравцям повідомлень, наприклад, коли вони програють гру. Загалом, сценарій демонструє ключові ідеї програмування ігор Pygame і пропонує елементарне відтворення старовинної гри Snake.