XAMPP - tworzenie bazy danych gry

Po zainstalowaniu pakietu XAMPP otwieramy XAMPP Control Panel i w linii, gdzie znajduje się MySQL klikamy Admin. Ten sam efekt uzyskamy, jeżeli w pasku przeglądarki wpiszemy: localhost/phpmyadmin/ Tworzymy nową bazę danych gry, następnie przełączamy widok na SQL i trzy razy wykonujemy polecenie CREATE

Kopiuj
CREATE TABLE gry (
    id_gry INT PRIMARY KEY,
    nazwa_gry VARCHAR(100),
    developer VARCHAR(100),
    data_wydania DATE,
    sprzedane_kopie INT
);
Kopiuj
CREATE TABLE gracze (
    id_gracza INT PRIMARY KEY,
    nickname VARCHAR(50),
    email VARCHAR(100),
    kraj VARCHAR(50),
    data_dolaczenia DATE,
    data_ostatniego_logowania DATE
);
Kopiuj
CREATE TABLE rozgrywki (
    id_rozgrywki INT PRIMARY KEY,
    id_gracza INT,
    id_gry INT,
    data_rozgrywki DATE,
    czas_gry INT,
    FOREIGN KEY (id_gracza) REFERENCES gracze(id_gracza),
    FOREIGN KEY (id_gry) REFERENCES gry(id_gry)
);

Przyglądamy każdą tabelę klikając na Structure, sprawdzamy czy są poprawnie nazwane kolumny i odpowiednio przydzielone klucze.

stolik do kawy pana klockowskiego

Okno gry - tło, tytuł, ikonka

Kopiuj
import pygame
import sys
pygame.init()
screen_game=pygame.display.set_mode((700,700))
ikonka=pygame.image.load("pliki/favicon.png")
pygame.display.set_icon(ikonka)
pygame.display.set_caption("stolik do kawy")
screen_game.fill((255, 0, 0))
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    pygame.display.update()

stolik do kawy pana klockowskiego

Okno gry - tekst

Kopiuj
import pygame
import sys
from pygame.locals import *#QUIT zamiast pygame.QUIT
pygame.init()
screen_game=pygame.display.set_mode((700,700))
ikonka=pygame.image.load("pliki/favicon.png")
pygame.display.set_icon(ikonka)
pygame.display.set_caption("stolik do kawy")
screen_game.fill((0, 0, 0))
tekst=pygame.font.SysFont("Calibri",28)
tekst_pole=tekst.render("stolik do kawy pana Klockowskiego", True, (255, 0, 0))
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
    screen_game.blit(tekst_pole, (100, 100))
    pygame.display.update()

stolik do kawy pana klockowskiego

Okno gry - tekst w prawym górnym rogu

Kopiuj
import pygame
import sys
pygame.init()
screen_game=pygame.display.set_mode((700,700))
screen_rect=screen_game.get_rect()
ikonka=pygame.image.load("pliki/favicon.png")
pygame.display.set_icon(ikonka)
pygame.display.set_caption("stolik do kawy")
screen_game.fill((0, 0, 0))
tekst=pygame.font.SysFont("Calibri",24)
tekst_pole=tekst.render("stolik do kawy pana Klockowskiego", True, (255, 0, 0))
tekst_rect=tekst_pole.get_rect()
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    tekst_rect.topright=screen_rect.topright#tekst w gornym prawym rogu ekranu
    screen_game.blit(tekst_pole, tekst_rect)
    pygame.display.update()

stolik do kawy pana klockowskiego

Kwadrat w oknie gry + ruch (wasd)

Kopiuj
import pygame
import sys
pygame.init()
screen_game=pygame.display.set_mode((700,700))
screen_rect=screen_game.get_rect()#tworzymy prostokat ekranu
ikonka=pygame.image.load("pliki/favicon.png")
pygame.display.set_icon(ikonka)
pygame.display.set_caption("stolik do kawy")
green = (15, 188, 15)
black = (0, 0, 0)
x=50#poczatkowe polozenie kubka
y=50#poczatkowe polozenie kubka
zegar=pygame.time.Clock()#ustawiamy zegar
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    przycisk=pygame.key.get_pressed()#nacisniecie przycisku
    if przycisk[pygame.K_d] and x < screen_rect.width - 100:
        x=x+4
    if przycisk[pygame.K_a] and x > 0:
        x=x-4
    if przycisk[pygame.K_w] and y > 0:
        y=y-4
    if przycisk[pygame.K_s] and y < screen_rect.height - 100:
        y=y+4
    screen_game.fill(black)
    pygame.draw.rect(screen_game, green, (x, y, 100, 100))
    zegar.tick(60)#odswiezamy ekran po przesunieciu kubka
    pygame.display.update()

...

Prostokąt w oknie gry + kwadrat (wasd)

Kopiuj
import pygame
import sys
pygame.init()
screen_game=pygame.display.set_mode((700,700))
ikonka=pygame.image.load("pliki/favicon.png")
pygame.display.set_icon(ikonka)
pygame.display.set_caption("stolik do kawy")
screen_rect=screen_game.get_rect()#tworzymy prostokat ekranu
limegreen = (50, 205, 50)
black = (0, 0, 0)
chocolate = (210, 105, 30)
white = (255, 255, 255)
x=50#poczatkowe polozenie kubka
y=50#poczatkowe polozenie kubka
x_stolika=screen_rect.centerx - 110#minus polowa dlugosci stolika
y_stolika=screen_rect.bottom - 100#minus wysokosc stolika
zegar=pygame.time.Clock()#ustawiamy zegar

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    przycisk = pygame.key.get_pressed()#nacisniecie przycisku
    if przycisk[pygame.K_d] and x < screen_rect.width - 100:
        x=x+4
    if przycisk[pygame.K_a] and x > 0:
        x=x-4
    if przycisk[pygame.K_w] and y > 0:
        y=y-4
    if przycisk[pygame.K_s] and y < screen_rect.height - 100:
        y=y+4

    screen_game.fill(black)
    kawa = pygame.Rect(x,y,100,100)
    stolik = pygame.Rect(x_stolika,y_stolika,220,100)
    
    if kawa.colliderect(stolik):
        if przycisk[pygame.K_d]:
            x = 140
        if przycisk[pygame.K_a]:
            x = 460
        if przycisk[pygame.K_w]:
            pass
        if przycisk[pygame.K_s]:
            y = 500
            
    kawa = pygame.Rect(x,y,100,100)
    stolik = pygame.Rect(x_stolika,y_stolika,220,100)
    pygame.draw.rect(screen_game, limegreen, kawa)
    pygame.draw.rect(screen_game, chocolate, stolik)
    zegar.tick(60)#odswiezamy ekran po przesunieciu kubka
    pygame.display.update()

stolik do kawy pana klockowskiego

KAWA

Kopiuj
import pygame
import sys
pygame.init()
screen_game=pygame.display.set_mode((700,700))
ikonka=pygame.image.load("pliki/favicon.png")
pygame.display.set_icon(ikonka)
pygame.display.set_caption("stolik do kawy")
screen_rect=screen_game.get_rect()#tworzymy prostokat ekranu
limegreen = (50, 205, 50)
black = (0, 0, 0)
chocolate = (210, 105, 30)
white = (255, 255, 255)
x=50#poczatkowe polozenie kubka
y=50#poczatkowe polozenie kubka
x_stolika=screen_rect.centerx - 110#minus polowa dlugosci stolika
y_stolika=screen_rect.bottom - 126#minus wysokosc stolika
stolik_image = pygame.image.load("pliki/stolik_220x126.png")
kawa_image = pygame.image.load("pliki/pani_fral_70x70.png")
zegar=pygame.time.Clock()#ustawiamy zegar

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
            
    przycisk = pygame.key.get_pressed()#nacisniecie przycisku
    if przycisk[pygame.K_d] and x < screen_rect.width - 70:
        x=x+4
    if przycisk[pygame.K_a] and x > 0:
        x=x-4
    if przycisk[pygame.K_w] and y > 0:
        y=y-4
    if przycisk[pygame.K_s] and y < screen_rect.height - 70:
        y=y+4

    screen_game.fill(black)
    kawa = pygame.Rect(x,y,70,70)
    stolik = pygame.Rect(x_stolika,y_stolika,220,120)
    
    if kawa.colliderect(stolik):
        if przycisk[pygame.K_d]:
            x = 170
        if przycisk[pygame.K_a]:
            x = 460
        if przycisk[pygame.K_w]:
            pass
        if przycisk[pygame.K_s]:
            y = 504
            
    screen_game.blit(kawa_image, (x,y))
    screen_game.blit(stolik_image, (x_stolika,y_stolika))
    zegar.tick(60)#odswiezamy ekran po przesunieciu kubka
    pygame.display.update()

stolik do kawy pana klockowskiego