Înapoi la blog
#python#joc#proiect#începători

Cum să creezi primul tău joc

Creează primul tău joc în Python: un joc de ghicit numărul în terminal, apoi o introducere în pygame. Cod complet, explicat pas cu pas pentru începători.

Aproape toți care ajung programatori au început fiindcă voiau să facă un joc. E cea mai distractivă cale de a învăța, fiindcă vezi imediat rezultatul și ai chef să-l îmbunătățești. Hai să construim primul tău joc, de la cel mai simplu la o fereastră grafică.

Începem cu un joc de terminal

Înainte de grafică, cel mai bun prim joc e „Ghicește numărul". Calculatorul alege un număr secret, iar tu încerci să-l ghicești; el îți spune dacă e prea mare sau prea mic.

import random

def joc_ghicit():
    secret = random.randint(1, 100)
    incercari = 0
    print("M-am gândit la un număr între 1 și 100. Ghicește!")

    while True:
        ghici = int(input("Numărul tău: "))
        incercari += 1

        if ghici < secret:
            print("Prea mic. Mai sus!")
        elif ghici > secret:
            print("Prea mare. Mai jos!")
        else:
            print(f"Bravo! Ai ghicit din {incercari} încercări.")
            break

joc_ghicit()

Atât. Ai un joc funcțional. Folosește random pentru număr, o buclă while pentru reluare și condiții pentru indicii. Joacă-l de câteva ori și gândește-te: care e strategia cea mai rapidă de a ghici? (Răspuns: căutarea binară — împarți mereu intervalul la jumătate.)

Hai să-l facem mai bun

Adaugă o limită de încercări ca să fie mai palpitant:

maxim = 7
if incercari >= maxim:
    print(f"Gata! Numărul era {secret}. Mai încearcă.")
    break

Cu mici modificări ca asta, un joc simplu devine surprinzător de captivant.

Nu subestima jocurile de terminal. Logica dintr-un joc text e exact aceeași care stă în spatele jocurilor grafice — doar afișarea diferă.

Pasul următor: o fereastră cu pygame

Când vrei grafică reală — sprite-uri, mișcare, sunet — folosești o bibliotecă de jocuri. Cea mai populară pentru începători în Python e pygame. O instalezi o singură dată:

# în terminal:
# pip install pygame

Orice joc grafic are aceeași structură: o buclă principală care, de zeci de ori pe secundă, citește input-ul, actualizează starea și redesenează ecranul.

import pygame

pygame.init()
ecran = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Primul meu joc")
ceas = pygame.time.Clock()

x, y = 300, 200          # poziția unui pătrat
viteza = 5
ruleaza = True

while ruleaza:
    # 1. citim evenimentele
    for ev in pygame.event.get():
        if ev.type == pygame.QUIT:
            ruleaza = False

    # 2. actualizăm starea în funcție de taste
    taste = pygame.key.get_pressed()
    if taste[pygame.K_LEFT]:
        x -= viteza
    if taste[pygame.K_RIGHT]:
        x += viteza
    if taste[pygame.K_UP]:
        y -= viteza
    if taste[pygame.K_DOWN]:
        y += viteza

    # 3. desenăm tot
    ecran.fill((20, 20, 40))                      # fundal
    pygame.draw.rect(ecran, (0, 200, 120), (x, y, 40, 40))
    pygame.display.flip()                          # arătăm cadrul

    ceas.tick(60)        # maxim 60 de cadre pe secundă

pygame.quit()

Rulează-l și vei avea un pătrat verde pe care îl miști cu săgețile. Felicitări — ai făcut un joc grafic!

Cele trei părți ale oricărui joc

EtapăCe face
Inputcitește tastele, mouse-ul, evenimentele
Updateschimbă pozițiile, scorul, regulile
Renderdesenează totul pe ecran

Toate jocurile, de la Tetris la jocuri 3D, repetă aceste trei etape în buclă. Dacă înțelegi asta, ai înțeles esența.

Idei pentru următorul tău joc

  • adaugă un scor și un obiect de „colectat" care apare aleator;
  • pune o limită de timp și un ecran de Game Over;
  • adaugă un inamic care se mișcă singur și pe care trebuie să-l eviți;
  • pune sunet la coliziuni cu pygame.mixer.

Recapitulare

Ai pornit de la un joc de câteva linii și ai ajuns la o fereastră interactivă. Pe drum ai folosit random, bucle, condiții, input și bucla principală de joc. Acum ai tot ce-ți trebuie ca să experimentezi.

La ByteSchool transformăm pasiunea pentru jocuri în abilități reale de programare, pas cu pas, alături de mentori care au lucrat în Big Tech. Vino să construim împreună jocul la care visezi.