changed game layout away from using image

This commit is contained in:
2023-12-10 21:18:41 +01:00
parent cdf6a810ec
commit 4acb99cc84
10 changed files with 57 additions and 53 deletions

View File

@ -15,6 +15,6 @@ class Database:
self.__cursor.execute(query) self.__cursor.execute(query)
return self.__cursor.fetchall() return self.__cursor.fetchall()
def fetchall(self, query:str): def fetchone(self, query:str):
self.__cursor.execute(query) self.__cursor.execute(query)
return self.__cursor.fetchone() return self.__cursor.fetchone()

View File

@ -2,6 +2,7 @@ import socket
import threading import threading
import os import os
import json import json
import database
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()
@ -9,6 +10,9 @@ load_dotenv()
# retrieves host data from environment # retrieves host data from environment
HOST = os.getenv("HOST") HOST = os.getenv("HOST")
PORT = os.getenv("PORT") PORT = os.getenv("PORT")
db = database.Database(os.getenv("DBNAME"), os.getenv("DBHOST"), os.getenv("DBUSER"), os.getenv("DBPASSWORD"), os.getenv("DBPORT"))
sessions = {}
# TODO: setup tcp service for authorization # TODO: setup tcp service for authorization
def handle_connection(socket:socket, address): def handle_connection(socket:socket, address):
@ -28,9 +32,13 @@ def handle_connection(socket:socket, address):
# decide which event should be performed # decide which event should be performed
if message_json["event"] == "login": if message_json["event"] == "login":
username = message_json["username"]
password = message_json["password"]
# encode message and respond to client # encode message and respond to client
# TODO: connect to databasse
# TODO: request user data # TODO: request user data
db.fetchone(f"SELECT * FROM users WHERE username={username} AND password={password}")
# TODO: validate user data # TODO: validate user data
# TODO: create session # TODO: create session
# TODO: return session to client # TODO: return session to client

View File

@ -1,46 +0,0 @@
import pygame
from pygame.locals import *
from Classes.System.Window import Window
from Classes.System.InputHandler import InputHandler
class App:
__window:Window
__running:bool = True
__player = pygame.Rect((300,250, 50,50))
__FPS = 60
__speed = 5
__clock = pygame.time.Clock()
def __init__(self, width:int=800, height:int=600, title:str="default title"):
self.__window = Window(width=width, height=height, title=title)
self.startGameLoop()
self.onCleanup()
def startGameLoop(self):
while self.__running:
self.__clock.tick(self.__FPS)
#temporary refresh
self.__window.clea().fill((0,0,0))
pygame.draw.rect(self.__window.getScreen(), (255,0,0), self.__player)
self.__player.move_ip((InputHandler.getInputAxis()[0]*self.__speed),(InputHandler.getInputAxis()[1]*self.__speed))
# event handler
for event in pygame.event.get():
if event.type == pygame.QUIT:
self.onCleanup()
# emits update to the game
pygame.display.update()
def setRunning(self, running:bool):
self.__running = running
def onCleanup(self):
self.__running = False
pygame.quit()

View File

@ -14,7 +14,7 @@ class App:
__FPS = 60 __FPS = 60
__clock = pygame.time.Clock() __clock = pygame.time.Clock()
def __init__(self, width:int=1280, height:int=720, title:str="default title"): def __init__(self, width:int=1920, height:int=1080, title:str="default title"):
self.__window = Window(width=width, height=height, title=title) self.__window = Window(width=width, height=height, title=title)
self.startGameLoop() self.startGameLoop()
self.onCleanup() self.onCleanup()
@ -25,7 +25,31 @@ class App:
cards = pygame.sprite.Group() cards = pygame.sprite.Group()
# game word # game word
world = World(pygame.image.load("Assets/Arenas/default.png").convert_alpha()) # the field
playerMonsterGroup = []
playerSpellGroup = []
enemyMonsterGroup = []
ememySpellGroup = []
enemyOtherGroup = []
playerOtherGroup = []
cardWith = 200
cardHeight = 250
cardOffset = 400
# player card fields
for i in range(5):
playerMonsterGroup.append(pygame.Rect(cardOffset + ((cardWith + 10) * i), (2 * cardHeight) + 60, cardWith, cardHeight))
playerSpellGroup.append(pygame.Rect(cardOffset + ((cardWith + 10) * i), (2 * cardHeight) + cardHeight + 70, cardWith, cardHeight))
enemyMonsterGroup.append(pygame.Rect(cardOffset + ((cardWith + 10) * (i+1)), 15, cardWith, cardHeight))
ememySpellGroup.append(pygame.Rect(cardOffset + ((cardWith + 10) * (i+1)), cardHeight + 25, cardWith, cardHeight))
enemyOtherGroup.append(pygame.Rect(cardOffset + ((cardWith + 10) * 0), 15, cardWith, cardHeight))
enemyOtherGroup.append(pygame.Rect(cardOffset + ((cardWith + 10) * 0), cardHeight + 25, cardWith, cardHeight))
playerOtherGroup.append(pygame.Rect(cardOffset + ((cardWith + 10) * 5), (2*cardHeight) + 60, cardWith, cardHeight))
playerOtherGroup.append(pygame.Rect(cardOffset + ((cardWith + 10) * 5), (2*cardHeight) + cardHeight + 70, cardWith, cardHeight))
testMonsterCard = MonsterCard((500,500), "Assets/Cards/MonsterCards/testmonstercard/") testMonsterCard = MonsterCard((500,500), "Assets/Cards/MonsterCards/testmonstercard/")
cards.add(testMonsterCard) cards.add(testMonsterCard)
@ -34,8 +58,26 @@ class App:
self.__clock.tick(self.__FPS) self.__clock.tick(self.__FPS)
self.__window.getScreen().fill("grey100") self.__window.getScreen().fill((0,0,0))
world.draw(self.__window.getScreen()) # world.draw(self.__window.getScreen())
for card in playerOtherGroup:
pygame.draw.rect(self.__window.getScreen(), (0,255,0), card)
for card in playerMonsterGroup:
pygame.draw.rect(self.__window.getScreen(), (255,255,255), card)
for card in playerSpellGroup:
pygame.draw.rect(self.__window.getScreen(), (255,255,255), card)
for card in enemyOtherGroup:
pygame.draw.rect(self.__window.getScreen(), (255,0,0), card)
for card in enemyMonsterGroup:
pygame.draw.rect(self.__window.getScreen(), (255,0,255), card)
for card in ememySpellGroup:
pygame.draw.rect(self.__window.getScreen(), (255,0,255), card)
# update sprite groups # update sprite groups
cards.update() cards.update()

View File

@ -13,7 +13,7 @@ class Window:
self.__height = height self.__height = height
self.__title = title self.__title = title
self.__screen = pygame.display.set_mode((self.__width, self.__height)) self.__screen = pygame.display.set_mode((self.__width, self.__height), pygame.FULLSCREEN)
pygame.display.init() pygame.display.init()
pygame.display.set_caption = self.__title pygame.display.set_caption = self.__title

BIN
card files/Unbenannt-1.psd Normal file

Binary file not shown.

BIN
card files/arena.psd Normal file

Binary file not shown.