-Creation de deux classes pour les deux fenêtre : menu principal et plateau de jeu.
-Récupération des fonction de lecture et d'écriture de données dans les "shelves".
This commit is contained in:
parent
107ab3ca56
commit
21d978f459
98
WireChem.py
98
WireChem.py
|
@ -32,6 +32,100 @@ from pyglet import image
|
|||
from os.path import expanduser
|
||||
|
||||
''' *********************************************************************************************** '''
|
||||
''' Lancement & initialisation '''
|
||||
|
||||
''' Fonctions d'initialisation '''
|
||||
|
||||
def sync():
|
||||
global Uworlds,finished
|
||||
write(gethome()+"/dbdata",["Uworlds","finished"])
|
||||
|
||||
def verifyhome():
|
||||
global Uworlds,finished
|
||||
if not os.path.exists(gethome()):
|
||||
os.makedirs(gethome())
|
||||
if not os.path.exists(gethome()+"/dbdata"):
|
||||
Uworlds=[[{0:0}]]
|
||||
finished=[(0,0)]
|
||||
sync()
|
||||
|
||||
def gethome():
|
||||
home = expanduser("~")+"/.wirechem"
|
||||
return home
|
||||
|
||||
def write(afile,var):
|
||||
d=shelve.open(afile,writeback=True)
|
||||
for k in var:
|
||||
d[k]=copy.deepcopy(globals()[k])
|
||||
d.sync()
|
||||
d.close()
|
||||
|
||||
def read(afile):
|
||||
d=shelve.open(afile,writeback=True)
|
||||
for k in d.keys():
|
||||
globals()[k]=copy.deepcopy(d[k])
|
||||
d.close()
|
||||
|
||||
def load(d):
|
||||
for k in d.keys():
|
||||
if k[0]!="_":
|
||||
globals()[k]=copy.deepcopy(d[k])
|
||||
|
||||
def reference(var,noms):
|
||||
if len(noms)==2:
|
||||
for y in range(len(var)):
|
||||
for x in range(len(var[y])):
|
||||
var[y][x][noms[0]]=y
|
||||
var[y][x][noms[1]]=x
|
||||
else:
|
||||
for x in range(len(var[y])):
|
||||
var[x][y][noms[0]]=x
|
||||
|
||||
def duplicateref(d):
|
||||
for k in d.keys():
|
||||
d[d[k]['nom']]=d[k]
|
||||
|
||||
''' *********************************************************************************************** '''
|
||||
''' Gestion du plateau de jeu '''
|
||||
|
||||
class game(pyglet.window.Window):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(game, self).__init__(resizable=True, fullscreen=False, visible=True, caption="Wirechem: The new chemistry game")
|
||||
self.batch = pyglet.graphics.Batch()
|
||||
self.clocks=[clock.schedule(self.draw)]
|
||||
self.labels = []
|
||||
|
||||
def draw(self,dt):
|
||||
glClearColor(0,0,0,255)
|
||||
self.clear()
|
||||
|
||||
''' *********************************************************************************************** '''
|
||||
''' Gestion du menu principal '''
|
||||
|
||||
class menu(pyglet.window.Window):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(menu, self).__init__(resizable=True, fullscreen=False, visible=True, caption="Wirechem: The new chemistry game")
|
||||
self.batch = pyglet.graphics.Batch()
|
||||
self.clocks=[clock.schedule(self.draw)]
|
||||
|
||||
|
||||
def draw(self,dt):
|
||||
glClearColor(0,0,0,255)
|
||||
self.clear()
|
||||
self.batch.draw()
|
||||
|
||||
''' *********************************************************************************************** '''
|
||||
''' Initialisation '''
|
||||
|
||||
glEnable(GL_BLEND);
|
||||
'''glEnable(GL_LINE_SMOOTH);
|
||||
glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);'''
|
||||
glEnable(GL_LINE_STIPPLE)
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
menu_principal = menu(resizable=True)
|
||||
pyglet.app.run()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue