#!/usr/bin/env python3 global cpt FirstRun = 1 cpt = 0 import configparser from collections import Counter from tkinter import * from tkinter import ttk from PIL import Image, ImageTk import PIL.Image import PIL.ImageTk import sys from modules.arrow import * from modules.emulateur_display import * import time import os sys.path.append( './modules/') from arrow import * def EnterEmu(): global cpt runMcpt = cpt + 1 if runMcpt > EmuCpt: runMcpt = 0 print("Emu : " + str(res[runMcpt])) def ViewEmu(cL,xL,yL,cM,xM,yM,cR,xR,yR): NfL="./data/emu/media/" + res[cL] + ".png" NfM="./data/emu/media/" + res[cM] + ".png" NfR="./data/emu/media/" + res[cR] + ".png" PNfL = PhotoImage(file = NfL) LabelPNfL = Label(arkadeus, image=PNfL) LabelPNfL.PNfL = PNfL PNfM = PhotoImage(file = NfM) LabelPNfM = Label(arkadeus, image=PNfM) LabelPNfM.PNfM = PNfM PNfR = PhotoImage(file = NfR) LabelPNfR = Label(arkadeus, image=PNfR) LabelPNfR.PNfR = PNfR Cnv.pack(fill = "both", expand = True) for IdCanvas in Cnv.find_all(): if IdCanvas != 1: Cnv.delete(IdCanvas) Cnv.create_image(xL, yL, image=PNfL) Cnv.create_image(xM, yM, image=PNfM) Cnv.create_image(xR, yR, image=PNfR) print("Curent Emu : " + str(res[cM])) # #Cnv.pack(fill = "both", expand = True) def leftKey(): global cpt cpt = cpt - 1 if cpt < 0: cpt = EmuCpt Lcpt = cpt Mcpt = cpt + 1 Rcpt = cpt + 2 if Mcpt > EmuCpt: Mcpt = 0 Rcpt = 1 if Rcpt > EmuCpt: Rcpt = 0 ViewEmu(Lcpt,LeftSquareX, LeftSquareY,Mcpt,MiddleSquareX, MiddleSquareY,Rcpt,RightSquareX, RightSquareY) def rightKey(): global cpt cpt = cpt + 1 if cpt > EmuCpt: cpt = 0 Lcpt = cpt Mcpt = cpt + 1 Rcpt = cpt + 2 if Mcpt > EmuCpt: Mcpt = 0 Rcpt = 1 if Rcpt > EmuCpt: Rcpt = 0 ViewEmu(Lcpt,LeftSquareX, LeftSquareY,Mcpt,MiddleSquareX, MiddleSquareY,Rcpt,RightSquareX, RightSquareY) def Escape(event): print("ESC key pressed") arkadeus.quit() arkadeus= Tk() global res res = [] dir_path = r'./data/emu/bin/' # Iterate directory for path in os.listdir(dir_path): if os.path.isfile(os.path.join(dir_path, path)): FileName=os.path.splitext(path)[0] res.append(FileName) print("DEBUG : " + FileName) cnt = Counter(res) global EmuCpt EmuCpt=len(cnt) - 1 print(" Nmbre emulateur : " + str(EmuCpt)) config_obj = configparser.ConfigParser() config_obj.read("./conf/config.ini") Media = config_obj["Media"] ForceRes = Media["force_resolution"] Background = Media["background"] Square = int(Media["square_size"]) config_rom = configparser.ConfigParser() config_rom.read("./conf/games.ini") Emulateur = config_rom["emulateurs"] print(Emulateur["EmulateurList"]) IdEmu(Emulateur["EmulateurList"]) arkadeus.attributes('-fullscreen', True) arkadeus.title("Arkadeus") if ForceRes == "y": Xsize = int(Media["x_resolution"]) Ysize = int(Media["y_resolution"]) else: Xsize = arkadeus.winfo_screenwidth() Ysize = arkadeus.winfo_screenheight() print("res : " + str(Xsize) + ":" + str(Ysize) ) bg = PhotoImage(file = Background) Cnv = Canvas( arkadeus, width = Ysize , height = Xsize) Cnv.pack(fill = "both", expand = True) Cnv.create_image( 0, 0, image = bg, anchor = "nw") MiddleSquareX=(Xsize/2) MiddleSquareY=(Ysize/2) MiddleSquareX2=MiddleSquareX + Square MiddleSquareY2=MiddleSquareY + Square LeftSquareX=(Xsize/3) LeftSquareY=(Ysize/3) LeftSquareX2=LeftSquareX + Square LeftSquareY2=LeftSquareY + Square RightSquareX=(Xsize*2/3) RightSquareY=(Ysize/3) RightSquareX2=RightSquareX + Square RightSquareY2=RightSquareY + Square ViewEmu(cpt,LeftSquareX, LeftSquareY,cpt+1,MiddleSquareX, MiddleSquareY,cpt+2,RightSquareX, RightSquareY) arkadeus.bind("", lambda event: leftKey()) arkadeus.bind("", lambda event: rightKey()) arkadeus.bind("", lambda event: EnterEmu()) arkadeus.bind('',Escape) arkadeus.mainloop()