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__/User.cpython-39.pyc
|
||||
/dist
|
||||
/build
|
||||
/user.db
|
||||
/.vs
|
||||
/SnakeTest.spec
|
||||
|
||||
68
SnakeTest.py
68
SnakeTest.py
@@ -7,7 +7,7 @@ import User
|
||||
import sys
|
||||
import tkinter as tk
|
||||
from direct import task
|
||||
from tkinter import SUNKEN, Scale, StringVar, Tcl, messagebox
|
||||
from tkinter import Scale, StringVar
|
||||
from random import random
|
||||
|
||||
#TODO Klassen erstellten
|
||||
@@ -215,8 +215,8 @@ def recursive(zahl):
|
||||
|
||||
|
||||
def main():
|
||||
t = threading.Thread(target=guithread ,args=())
|
||||
t.start()
|
||||
#t = threading.Thread(target=guithread ,args=())
|
||||
#t.start()
|
||||
#recursive(0)
|
||||
#while(True):
|
||||
# pass
|
||||
@@ -294,22 +294,56 @@ from direct.task import Task
|
||||
from panda3d.core import loadPrcFile #Ermöglicht das Laden eigener Konfigurationsdatein zur Panda3D API
|
||||
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):
|
||||
|
||||
us = User.User
|
||||
|
||||
def button_select_click(self, *username:str()):
|
||||
__username = username
|
||||
def button_select_click_login(self):
|
||||
print(self.__username)
|
||||
|
||||
def __init__(self):
|
||||
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()
|
||||
#Erstellt ein DialogFenster
|
||||
self.gameOverScreen = DirectDialog(frameSize = (-0.7, 0.7, -0.7, 0.7),
|
||||
fadeScreen = 0.4,
|
||||
relief = DGG.FLAT)
|
||||
|
||||
|
||||
|
||||
#Erstellt einen Button zum Parent-Dialogfenster
|
||||
self.btn = DirectButton(text = "Quit",
|
||||
command = self.quit,
|
||||
@@ -321,7 +355,19 @@ class MyApp(ShowBase):
|
||||
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_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.gameOverScreen.show()
|
||||
@@ -371,10 +417,10 @@ class MyApp(ShowBase):
|
||||
|
||||
def quit(self):
|
||||
#self.taskMgr.destroy() #Bereitet unter Linux Probleme
|
||||
self.destroy()
|
||||
time.sleep(1)
|
||||
self.us.__del__(self.us)
|
||||
sys.exit()
|
||||
|
||||
|
||||
#Dieser Task wird bei Berechnungs jeden Frames ausgeführt
|
||||
"""
|
||||
x=0
|
||||
@@ -386,4 +432,4 @@ class MyApp(ShowBase):
|
||||
return task.again
|
||||
"""
|
||||
app = MyApp()
|
||||
app.run()
|
||||
app.run()
|
||||
|
||||
Reference in New Issue
Block a user