Pygame-test changed import User class to modules folder
This commit is contained in:
@@ -1,130 +0,0 @@
|
|||||||
import sqlite3
|
|
||||||
|
|
||||||
#from sqlite3.dbapi2 import Cursor
|
|
||||||
|
|
||||||
# Start einer Userklasse
|
|
||||||
# Lade, sofern vorhanden, Spieler aus der Datenbank
|
|
||||||
|
|
||||||
|
|
||||||
class User:
|
|
||||||
__usercount = 0
|
|
||||||
__highscore = 0
|
|
||||||
__uid = -1
|
|
||||||
__username = ""
|
|
||||||
__db_player_exist = 0
|
|
||||||
__lastlogin = ""
|
|
||||||
__played_time = 0
|
|
||||||
__all_listed_users = list()
|
|
||||||
#__sql_create_table = "CREATE TABLE IF NOT EXISTS user ( `id` INTEGER PRIMARY KEY, `username` VARCHAR(100) NOT NULL , `highscore` INT NOT NULL)"
|
|
||||||
__sql_create_table = """CREATE TABLE IF NOT EXISTS "user" (
|
|
||||||
"id" INTEGER UNIQUE,
|
|
||||||
"username" VARCHAR(100) NOT NULL,
|
|
||||||
"highscore" INT NOT NULL,
|
|
||||||
"lastlogin" TEXT,
|
|
||||||
"played_time" INTEGER,
|
|
||||||
PRIMARY KEY("id")
|
|
||||||
);"""
|
|
||||||
|
|
||||||
__sqlhandle = 0 #Statichandle
|
|
||||||
|
|
||||||
def __init__(self) -> None:
|
|
||||||
|
|
||||||
print("Userklasse erstellt")
|
|
||||||
|
|
||||||
if(len(self.__username) <= 0 or self.__user == "") and (self.__uid == -1):
|
|
||||||
#print("Es existieren noch keine Daten!")
|
|
||||||
|
|
||||||
if(self.__sqlhandle == 0):
|
|
||||||
self.__sqlhandle = sqlite3.connect("user.db")
|
|
||||||
cursor = self.__sqlhandle.cursor()
|
|
||||||
cursor.execute(self.__sql_create_table)
|
|
||||||
self.__sqlhandle.commit()
|
|
||||||
|
|
||||||
def __del__(self):
|
|
||||||
print("Userklasse zerstört")
|
|
||||||
if(self.__sqlhandle != 0):
|
|
||||||
print(self.__sqlhandle)
|
|
||||||
print("Datenbank wird ordentlich geschlossen\n")
|
|
||||||
self.__sqlhandle.close()
|
|
||||||
#self.__sqlhandle = 0
|
|
||||||
#print(self.__sqlhandle) Debug only
|
|
||||||
|
|
||||||
|
|
||||||
def createuser(self, username :str):
|
|
||||||
if(len(username) > 0):
|
|
||||||
cursor = self.__sqlhandle.cursor()
|
|
||||||
if(cursor != 0):
|
|
||||||
if(self.__username == ""):
|
|
||||||
print("SQLHANDLE:", self.__sqlhandle)
|
|
||||||
sql = "INSERT INTO user (username, highscore, lastlogin) VALUES('"+username+"', 0, datetime())"
|
|
||||||
try:
|
|
||||||
cursor.execute(sql)
|
|
||||||
self.__sqlhandle.commit()
|
|
||||||
print("User hinzugefügt!")
|
|
||||||
except:
|
|
||||||
print("Es ist beim Erstellen es Spielers ein Fehler aufgetreten!")
|
|
||||||
else:
|
|
||||||
print("Scheinbar besteht keine Verbindung zur Datenbank")
|
|
||||||
else:
|
|
||||||
print("Es wurde kein Name übergeben")
|
|
||||||
|
|
||||||
|
|
||||||
def select(self, username):
|
|
||||||
sql = "SELECT * FROM user WHERE username ='"+username+"'"
|
|
||||||
sql_update_login_date = "UPDATE user SET lastlogin = datetime() WHERE username = '"+username+"'"
|
|
||||||
try:
|
|
||||||
c = self.__sqlhandle.cursor()
|
|
||||||
row = c.execute(sql)
|
|
||||||
res = row.fetchone()
|
|
||||||
c.execute(sql_update_login_date)
|
|
||||||
|
|
||||||
self.__sqlhandle.commit()
|
|
||||||
self.__uid = res[0]
|
|
||||||
self.__username = res[1]
|
|
||||||
self.__highscore = res[2]
|
|
||||||
self.__lastlogin = res[3]
|
|
||||||
|
|
||||||
except:
|
|
||||||
print("Fehler bei der Nutzerauswahl")
|
|
||||||
return False
|
|
||||||
|
|
||||||
return True
|
|
||||||
|
|
||||||
def getplayed_time(self):
|
|
||||||
return self.__played_time
|
|
||||||
|
|
||||||
def getlastlogin(self):
|
|
||||||
return self.__lastlogin
|
|
||||||
|
|
||||||
def getusername(self):
|
|
||||||
return self.__username
|
|
||||||
|
|
||||||
|
|
||||||
def gethighscore(self):
|
|
||||||
return self.__highscore
|
|
||||||
|
|
||||||
def getuid(self):
|
|
||||||
return self.__uid
|
|
||||||
|
|
||||||
def listallusers(self):
|
|
||||||
cursor = self.__sqlhandle.cursor()
|
|
||||||
|
|
||||||
for row in cursor.execute("SELECT * FROM user"):
|
|
||||||
print("ID:",row[0],", Username:", row[1], ", Highscore:", row[2])
|
|
||||||
self.__all_listed_users.append(row[1])
|
|
||||||
print (self.__all_listed_users)
|
|
||||||
|
|
||||||
cursor.close()
|
|
||||||
self.__sqlhandle.commit()
|
|
||||||
|
|
||||||
return self.__all_listed_users
|
|
||||||
|
|
||||||
def checkuserdb(self):
|
|
||||||
cursor = self.__sqlhandle.cursor()
|
|
||||||
rows=cursor.execute("SELECT * FROM user")
|
|
||||||
rows_count =len(list(rows))
|
|
||||||
if(rows_count >= 1):
|
|
||||||
#print("Es gibt", rows_count, "Datensätze")
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
@@ -2,6 +2,7 @@ import pygame
|
|||||||
import pygame_menu
|
import pygame_menu
|
||||||
import random as rand
|
import random as rand
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
|
import modules.User
|
||||||
|
|
||||||
pygame.init()
|
pygame.init()
|
||||||
MAINSCREEN_SIZE = (1024,768)
|
MAINSCREEN_SIZE = (1024,768)
|
||||||
|
|||||||
Reference in New Issue
Block a user