Zde je návod, jak můžete do hry přidat úrovně, aby byla poutavější a zábavnější.

Úrovně jsou základním aspektem většiny videoher. Poskytují strukturu, výzvu a rozmanitost a mohou výrazně zlepšit zážitek hráče. PyGame, oblíbená knihovna Pythonu pro vývoj her, poskytuje různé funkce, pomocí kterých můžete snadno vytvářet různé úrovně. Dobře navržená úroveň může hráče uchvátit, vytvořit pocit progrese a nakonec ho odměnit za jeho úsilí.

Plánování a navrhování úrovní

Před vytvořením úrovní je nezbytné je naplánovat a navrhnout. Plánování úrovní pomáhá při vytváření dobře strukturované hry, která poskytuje hráčům správnou úroveň obtížnosti. Chcete-li plánovat úrovně, musíte vzít v úvahu různé faktory, jako je herní mechanika, příběh a celková struktura hry.

Pokud například navrhujete plošinovkovou hru, musíte přemýšlet o umístění plošin, nepřátel a překážek. Musíte také vzít v úvahu pohyb hráče, jako je skákání a běh, a podle toho navrhnout úrovně.

Kód použitý v tomto článku je k dispozici v tomto úložiště GitHub a můžete jej používat zdarma pod licencí MIT.

instagram viewer

Vytvoření dvou jednoduchých úrovní

Než začnete, ujistěte se, že máte pip nainstalovaný ve vašem systému. Tento příkaz použijte k instalaci pygame knihovna:

pip nainstalovat pygame

Nyní vytvořte dvě jednoduché úrovně s platformou a hráčem. Zde je kód pro první úroveň:

import pygame

pygame.init()

# Definujte konstanty
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
PLATFORM_WIDTH = 100
PLATFORM_HEIGHT = 20
PLAYER_WIDTH = 50
PLAYER_HEIGHT = 50
PLATFORM_COLOR = (255, 255, 255)
PLAYER_COLOR = (255, 0, 0)

# Vytvořte obrazovku
obrazovka = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

# Vytvořte platformu
platforma = pygame. Rect(350, 500, PLATFORM_WIDTH, PLATFORM_HEIGHT)

# Vytvořte přehrávač
hráč = pygame. Rect(375, 450, PLAYER_WIDTH, PLAYER_HEIGHT)

# Herní smyčka
běh = Skutečný
zatímco běh:
pro událost v pygame.event.get():
-li event.type == pygame. PŘESTAT:
běh = Nepravdivé
elif event.type == pygame. KEYDOWN:
-li event.key == pygame. K_LEFT:
player.move_ip(-10, 0)
elif event.key == pygame. K_RIGHT:
player.move_ip(10, 0)

# Vyplňte obrazovku černou barvou
screen.fill((0, 0, 0))

# Nakreslete plošinu
pygame.draw.rect (obrazovka, PLATFORM_COLOR, platforma)

# Nakreslete přehrávač
pygame.draw.rect (obrazovka, PLAYER_COLOR, přehrávač)

# Aktualizujte obrazovku
pygame.display.flip()

pygame.quit()

Poté vytvořte druhou úroveň jednoduchou změnou platformy a pozice hráče. Zde je kód pro druhou úroveň:

import pygame

pygame.init()

# Definujte konstanty
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
PLATFORM_WIDTH = 150
PLATFORM_HEIGHT = 20
PLAYER_WIDTH = 50
PLAYER_HEIGHT = 50
PLATFORM_COLOR = (255, 255, 255)
PLAYER_COLOR = (255, 0, 0)

# Vytvořte obrazovku
obrazovka = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

# Vytvořte platformu
platforma = pygame. Rect(200, 500, PLATFORM_WIDTH, PLATFORM_HEIGHT)

# Vytvořte přehrávač
hráč = pygame. Rect(225, 450, PLAYER_WIDTH, PLAYER_HEIGHT)

# Herní smyčka
běh = Skutečný
zatímco běh:
pro událost v pygame.event.get():
-li event.type == pygame. PŘESTAT:
běh = Nepravdivé
elif event.type == pygame. KEYDOWN:
-li event.key == pygame. K_LEFT:
player.move_ip(-10, 0)
elif event.key == pygame. K_RIGHT:
player.move_ip(10, 0)

# Vyplňte obrazovku černou barvou
screen.fill((0, 0, 0))

# Nakreslete plošinu
pygame.draw.rect (obrazovka, PLATFORM_COLOR, platforma)

# Nakreslete přehrávač
pygame.draw.rect (obrazovka, PLAYER_COLOR, přehrávač)

# Aktualizujte obrazovku
pygame.display.flip()

pygame.quit()

Tento kód je podobný jako v první úrovni, ale platforma a pozice hráče jsou změněny.

Propojování různých úrovní

Chcete-li propojit různé úrovně, musíte upravit herní smyčku a přepínat mezi úrovněmi, když hráč dokončí úroveň. Můžete to udělat vytvořením proměnné pro sledování aktuální úrovně a pomocí podmíněných příkazů přepínat mezi úrovněmi. Můžete také detekovat kolize pro kontrolu pokud hráč dosáhl konce úrovně.

Zde je upravená herní smyčka:

aktuální_úroveň = 1

# Nakreslete platformu a hráče na základě aktuální úrovně
-li aktuální_úroveň == 1:
pygame.draw.rect (obrazovka, PLATFORM_COLOR, platform1)
pygame.draw.rect (obrazovka, PLAYER_COLOR, přehrávač)
# Zkontrolujte, zda hráč dosáhl konce úrovně
-li player.colliderect (platform1) == Nepravdivé:
aktuální_úroveň = 2
elif aktuální_úroveň == 2:
pygame.draw.rect (obrazovka, PLATFORM_COLOR, platforma2)
pygame.draw.rect (obrazovka, PLAYER_COLOR, přehrávač)
# Zkontrolujte, zda hráč dosáhl konce úrovně
-li player.colliderect (platform2) == Skutečný:
běh = Nepravdivé

Sdílení herních dat mezi úrovněmi

Chcete-li je sdílet mezi úrovněmi, musíte si uložit herní data. Za tímto účelem vytvořte samostatný modul Python pro uložení herních dat a jejich import do každé úrovně.

Zde jsou kroky:

  • Vytvořte nový modul Pythonu s názvem game_data.py.
  • Definujte globální proměnnou v game_data.py modul pro uložení pozice hráče.
  • V každé úrovni importujte soubor herní_data modul.
  • Chcete-li získat pozici hráče v každé úrovni, použijte game_data.player_pos proměnnou místo vytvoření nového objektu hráče.
  • Chcete-li aktualizovat pozici hráče, upravte hodnotu game_data.player_pos v každé iteraci.

Zde je upravený kód pro sdílení pozice hráče mezi úrovněmi.

V game_data.py modulu, přidejte následující kód:

player_pos = (0, 0)

První úroveň:

import pygame
import herní_data

# Vytvořte přehrávač
hráč = pygame. Rect (game_data.player_pos[0], game_data.player_pos[1], PLAYER_WIDTH, PLAYER_HEIGHT)

# Herní smyčka
běh = Skutečný
zatímco běh:
# Nakreslete přehrávač
pygame.draw.rect (obrazovka, PLAYER_COLOR, přehrávač)

# Aktualizujte pozici hráče v modulu game_data
game_data.player_pos = (player.x, player.y)

Udělejte hry poutavějšími s úrovněmi

Přidáním různých úrovní do vaší hry může být hra pro hráče poutavější a zábavnější. Propojením úrovní a sdílením herních dat můžete vytvořit bezproblémový a soudržný herní zážitek. To může hráčům pomoci zůstat ponořeni do herního světa a snížit pravděpodobnost odpojení nebo nudy.