Buttons zur Nutzerauswahl hinzugefügt.
Funktion noch nicht final
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -4,4 +4,8 @@
|
|||||||
|
|
||||||
/__pycache__
|
/__pycache__
|
||||||
/__pycache__/User.cpython-39.pyc
|
/__pycache__/User.cpython-39.pyc
|
||||||
|
/dist
|
||||||
|
/build
|
||||||
/user.db
|
/user.db
|
||||||
|
/.vs
|
||||||
|
/SnakeTest.spec
|
||||||
|
|||||||
68
SnakeTest.py
68
SnakeTest.py
@@ -7,7 +7,7 @@ import User
|
|||||||
import sys
|
import sys
|
||||||
import tkinter as tk
|
import tkinter as tk
|
||||||
from direct import task
|
from direct import task
|
||||||
from tkinter import SUNKEN, Scale, StringVar, Tcl, messagebox
|
from tkinter import Scale, StringVar
|
||||||
from random import random
|
from random import random
|
||||||
|
|
||||||
#TODO Klassen erstellten
|
#TODO Klassen erstellten
|
||||||
@@ -215,8 +215,8 @@ def recursive(zahl):
|
|||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
t = threading.Thread(target=guithread ,args=())
|
#t = threading.Thread(target=guithread ,args=())
|
||||||
t.start()
|
#t.start()
|
||||||
#recursive(0)
|
#recursive(0)
|
||||||
#while(True):
|
#while(True):
|
||||||
# pass
|
# pass
|
||||||
@@ -294,22 +294,56 @@ from direct.task import Task
|
|||||||
from panda3d.core import loadPrcFile #Ermöglicht das Laden eigener Konfigurationsdatein zur Panda3D API
|
from panda3d.core import loadPrcFile #Ermöglicht das Laden eigener Konfigurationsdatein zur Panda3D API
|
||||||
loadPrcFile("conf/conf.prc") #Pfadangabe zum .prc File
|
loadPrcFile("conf/conf.prc") #Pfadangabe zum .prc File
|
||||||
|
|
||||||
def butten_enter_pressed():
|
|
||||||
print("Die Taste Enter wurde gedrückt!")
|
|
||||||
|
|
||||||
|
class User_login:
|
||||||
|
__username = str()
|
||||||
|
__us = User.User
|
||||||
|
__btn = DirectButton
|
||||||
|
def __init__(self, username:str(), us:User.User, btn:DirectButton) -> None:
|
||||||
|
print("Loginklasse erstellt")
|
||||||
|
self.__btn = btn
|
||||||
|
self.__us=us
|
||||||
|
self.__username=username
|
||||||
|
|
||||||
|
def user_select(self):
|
||||||
|
print("Wähle Spieler aus: "+self.__username)
|
||||||
|
if(self.__us.select(self.__username) == True):
|
||||||
|
print("Spieler " + self.__us.getusername() + " wurde angelegt")
|
||||||
|
print("Dein letzter Highscore: " + str(self.__us.gethighscore()))
|
||||||
|
print("Dein letzter Login: " + self.__us.getlastlogin())
|
||||||
|
|
||||||
|
print(self.__btn)
|
||||||
|
self.__btn.destroy()
|
||||||
|
#self.__btn.clearText(self.__btn)
|
||||||
|
def setButtonObject(self, btn:DirectButton):
|
||||||
|
self.__btn = btn
|
||||||
|
print(self.__btn)
|
||||||
|
|
||||||
class MyApp(ShowBase):
|
class MyApp(ShowBase):
|
||||||
|
|
||||||
|
us = User.User
|
||||||
|
|
||||||
|
def button_select_click(self, *username:str()):
|
||||||
|
__username = username
|
||||||
|
def button_select_click_login(self):
|
||||||
|
print(self.__username)
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
ShowBase.__init__(self) #Insantziert das Hauptfenster, diese stellen immer eine Instanz der ShowBase-Klasse dar
|
ShowBase.__init__(self) #Insantziert das Hauptfenster, diese stellen immer eine Instanz der ShowBase-Klasse dar
|
||||||
|
|
||||||
|
def butten_enter_pressed():
|
||||||
|
print("Die Taste Enter wurde gedrückt!")
|
||||||
|
#print(label_input.get())
|
||||||
|
us.createuser(label_input.get())
|
||||||
|
def user_select_button():
|
||||||
|
print("Spielerauswahl-Button wurde gedrückt!")
|
||||||
|
|
||||||
us = User.User()
|
us = User.User()
|
||||||
#Erstellt ein DialogFenster
|
#Erstellt ein DialogFenster
|
||||||
self.gameOverScreen = DirectDialog(frameSize = (-0.7, 0.7, -0.7, 0.7),
|
self.gameOverScreen = DirectDialog(frameSize = (-0.7, 0.7, -0.7, 0.7),
|
||||||
fadeScreen = 0.4,
|
fadeScreen = 0.4,
|
||||||
relief = DGG.FLAT)
|
relief = DGG.FLAT)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Erstellt einen Button zum Parent-Dialogfenster
|
#Erstellt einen Button zum Parent-Dialogfenster
|
||||||
self.btn = DirectButton(text = "Quit",
|
self.btn = DirectButton(text = "Quit",
|
||||||
command = self.quit,
|
command = self.quit,
|
||||||
@@ -321,7 +355,19 @@ class MyApp(ShowBase):
|
|||||||
if(us.checkuserdb() == False):
|
if(us.checkuserdb() == False):
|
||||||
#label_enter_name_msg = DirectDialog(parent=self.gameOverScreen, text="Gib deinen Namen ein:", scale=0.05, pos=(-0.6, 0.5,0))
|
#label_enter_name_msg = DirectDialog(parent=self.gameOverScreen, text="Gib deinen Namen ein:", scale=0.05, pos=(-0.6, 0.5,0))
|
||||||
label_input = DirectEntry(parent=self.gameOverScreen, text="Name", width=15, scale = 0.05, pos=(-0.6,0.5,0), relief=SUNKEN)
|
label_input = DirectEntry(parent=self.gameOverScreen, text="Name", width=15, scale = 0.05, pos=(-0.6,0.5,0), relief=SUNKEN)
|
||||||
|
|
||||||
|
elif(us.checkuserdb() == True):
|
||||||
|
pos_button_x = 0
|
||||||
|
pos_button_y = 0
|
||||||
|
for users in us.listallusers():
|
||||||
|
label_users = DirectButton
|
||||||
|
u = User_login(str(users), us, label_users)
|
||||||
|
label_users = DirectButton(text=str(users), command=u.user_select, parent=self.gameOverScreen, scale=0.09, pos=(-0.5,0,pos_button_y))
|
||||||
|
print(label_users)
|
||||||
|
u.setButtonObject(label_users)
|
||||||
|
#selected_user += str(users)
|
||||||
|
pos_button_y -= 0.2
|
||||||
|
|
||||||
#self.taskMgr.doMethodLater(0.2,self.exampleTask, "exampleTask") #Hängt einen zustäzlichen Task in den Taskmanager ein
|
#self.taskMgr.doMethodLater(0.2,self.exampleTask, "exampleTask") #Hängt einen zustäzlichen Task in den Taskmanager ein
|
||||||
|
|
||||||
self.gameOverScreen.show()
|
self.gameOverScreen.show()
|
||||||
@@ -371,10 +417,10 @@ class MyApp(ShowBase):
|
|||||||
|
|
||||||
def quit(self):
|
def quit(self):
|
||||||
#self.taskMgr.destroy() #Bereitet unter Linux Probleme
|
#self.taskMgr.destroy() #Bereitet unter Linux Probleme
|
||||||
self.destroy()
|
self.us.__del__(self.us)
|
||||||
time.sleep(1)
|
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
|
|
||||||
#Dieser Task wird bei Berechnungs jeden Frames ausgeführt
|
#Dieser Task wird bei Berechnungs jeden Frames ausgeführt
|
||||||
"""
|
"""
|
||||||
x=0
|
x=0
|
||||||
@@ -386,4 +432,4 @@ class MyApp(ShowBase):
|
|||||||
return task.again
|
return task.again
|
||||||
"""
|
"""
|
||||||
app = MyApp()
|
app = MyApp()
|
||||||
app.run()
|
app.run()
|
||||||
|
|||||||
2
User.py
2
User.py
@@ -46,7 +46,7 @@ class User:
|
|||||||
print(self.__sqlhandle)
|
print(self.__sqlhandle)
|
||||||
print("Datenbank wird ordentlich geschlossen\n")
|
print("Datenbank wird ordentlich geschlossen\n")
|
||||||
self.__sqlhandle.close()
|
self.__sqlhandle.close()
|
||||||
self.__sqlhandle = 0
|
#self.__sqlhandle = 0
|
||||||
#print(self.__sqlhandle) Debug only
|
#print(self.__sqlhandle) Debug only
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user