def __init__(self,master,**kwarg): self.master = master self.width = 50 self.height = 20 self.borderwidth = 1 self.bordercolor = Color("Grey") self.framefont = "Arial" self.frameborderwidth = 2 self.framefontsize = 12 self.framebold = False self.frameitatic = False self.framealias = True self.colour = Color("White") self.image = None self.value = 0 self.step = 1 self.isRendering = False self._priority = 3 for key in kwarg.keys(): if key == "width": self.width = kwarg[key] elif key == "height": self.height = kwarg[key] elif key == "colour": self.colour = kwarg[key] elif key == "image": self.image = kwarg[key] elif key == "colour": self.colour = kwarg[key] elif key == "borderwidth": self.borderwidth = kwarg[key] elif key == "bordercolor": self.bordercolor = kwarg[key] elif key == "framefont": self.framefont = kwarg[key] elif key == "framefontsize": self.framefontsize = kwarg[key] elif key == "framebold": self.framebold = kwarg[key] elif key == "frameitatic": self.frameitatic = kwarg[key] elif key == "framealias": self.framealias = kwarg[key] elif key == "value": self.value = kwarg[key] elif key == "step": self.step = kwarg[key] else: raise ValueError("Invalid Arguement") self._frame = StaticFrame(self.master,width=self.width+self.borderwidth*4,height=self.height+self.borderwidth*4,\ borderwidth=0,bordercolor=self.bordercolor,\ header=0) self._entry = Entry(self._frame,width=self.width//2,height=self.height,\ font=self.framefont,fontsize=self.framefontsize,bold=self.framebold,\ italic=self.frameitatic,antialias=self.framealias,borderwidth=self.frameborderwidth) self._up = Button(self._frame,width=self.width//2,height=self.height//2-self.borderwidth*2,target=self.stepUp,\ font=self.framefont,fontsize=self.framefontsize//2,bold=self.framebold,text="+",\ italic=self.frameitatic,antialias=self.framealias,borderwidth=self.frameborderwidth) self._down = Button(self._frame,width=self.width//2,height=self.height//2-self.borderwidth*2,target=self.stepDown,\ font=self.framefont,fontsize=self.framefontsize//2,bold=self.framebold,text="-",\ italic=self.frameitatic,antialias=self.framealias,borderwidth=self.frameborderwidth) self._entry.place((0,0)) self._entry.set(str(self.value)) self._up.place((self.width//2,0)) self._down.place((self.width//2,self._entry.height//2+self.borderwidth*2)) _widgets.append(self)
def createInputBox(screen,message): def close(): nonlocal tmpFrame,tmpEntry nonlocal var var.set(tmpEntry.get()) var.isClosed = True tmpFrame.kill() tmpFrame = Frame(screen,htitle="Message",width=300,height=100) t = TypableSurface((190,90),text=message) tmpEntry = Entry(tmpFrame,width=234,height=20) tmpButton = Button(tmpFrame,width=50,height=18,text="Enter",target=close) var = MessageVariable() tmpFrame.blit(t,(10,10)) tmpEntry.place((2,72)) tmpButton.place((242,72)) tmpFrame.place((screen.get_width()//2-150,screen.get_height()//2-50)) return tmpFrame,var
def Start_game(): #Initialize game's screen and its controlers global on_game, images, entry_score, can_execute, on_initial, input_from_user, Label_gen, Frame, change_button, home_button, execute_button, character_time, entryForInput, character, list_x1, list_x2, compile_button, exit_button #Load background music pygame.mixer.music.stop() pygame.mixer.music.load(const.musicpath + "Bet_On_It.wav") pygame.mixer.music.play(-1, 0.0) on_game = True on_initial = False #Loads images fo tips images.append( image.load(const.imagespath + "Ayuda1_Background.png").convert_alpha()) images.append( image.load(const.imagespath + "Ayuda2_Background.png").convert_alpha()) images.append( image.load(const.imagespath + "Ayuda3_Background.png").convert_alpha()) images.append( image.load(const.imagespath + "Ayuda4_Background.png").convert_alpha()) images.append( image.load(const.imagespath + "Ayuda5_Background.png").convert_alpha()) Frame = StaticFrame(Window, colour=const.Pblue, header=False, bordercolor=const.Pgreen, borderwidth=5, width=235, height=485) can_execute = False Frame.place((421, 0)) #For maze initialization if dificulty_level == 1: mymaze = maze(easy_maze[0], easy_maze[1]) else: mymaze = maze(hard_maze[0], hard_maze[1]) mymaze.generate_maze() character = Character(mymaze) character_time = 0 list_x1 = list_xil(WW, WH) list_x2 = fill_list_x2(list_x1) #Pygame directive pygame.display.flip() pygame.key.set_repeat(50, 55) #Side toolbar home_button = Button(Window, text="Inicio", width=50, height=20, bordercolor=const.Porange, colour=const.yellow, fontsize=12, target=Home) home_button.place((430, 10)) change_button = Button(Window, text=" Cambiar avatar ", width=80, height=20, bordercolor=const.Porange, colour=const.yellow, fontsize=11, target=Change_avatar) change_button.place((500, 10)) exit_button = Button(Window, text="Salir", width=50, height=20, bordercolor=const.white, colour=const.red, fontsize=12, target=Exit) exit_button.place((600, 10)) #Second set of widgets Label_gen = Label(Frame, width=220, height=290, htitle=" Programa ", htitlefont="Verdana", htitlesize=14, htitlecolor=Color(const.black[0], const.black[1], const.black[2]), colour=Color(const.Pgreen[0], const.Pgreen[1], const.Pgreen[2])) Label_gen.place((7, 30)) #Widget for line counter entry_line_no = Entry(Frame, width=12, height=270, textcolor=Color("blue"), bold=True) entry_line_no.place((12, 50)) line_no = "" for value in range(1, 50): line_no = line_no + str(value) + "\n\n" entry_line_no.set(line_no) #Visual of current code , non editable entryForInput = Entry(Frame, width=191, height=270) entryForInput.place((27, 50)) #Score entry_score = Entry(Frame, width=90, height=10) entry_score.place((120, 30)) #Errors output section Label_errors = Label(Frame, width=220, height=110, htitle=" Estado ", htitlefont="Verdana", htitlesize=14, htitlecolor=Color(const.black[0], const.black[1], const.black[2]), colour=Color(const.Pgreen[0], const.Pgreen[1], const.Pgreen[2])) Label_errors.place((7, 330)) global errors errors = Entry(Frame, text="No hay errores ", textcolor=Color("Red"), width=206, height=90, fontsize=11) errors.place((12, 350)) #Buttons compile_button = Button(Window, text="Paso 1", width=95, height=20, bordercolor=const.white, colour=const.Porange, fontsize=16, target=Compile_instruction) compile_button.place((435, 460)) execute_button = Button(Window, text="Paso 2", width=95, height=20, bordercolor=const.white, colour=const.green, fontsize=16, target=Execute_instruction) execute_button.place((545, 460))
def __init__(self,master=None,**kwarg): self.master = master self.x = 1 self.y = 1 self.width = 100 self.height = 100 self.borderwidth = 2 self.bordercolor = Color("Grey") self.framewidth = 50 self.frameheight = 16 self.framefont = "Arial" self.frameborderwidth = 1 self.framefontsize = 12 self.framebold = False self.frameitatic = False self.framealias = True self.colour = Color("White") self.image = None self.isRendering = False self._priority = 3 for key in kwarg.keys(): if key == "x": self.x = kwarg[key] elif key == "y": self.y = kwarg[key] elif key == "width": self.width = kwarg[key] elif key == "height": self.height = kwarg[key] elif key == "colour": self.colour = kwarg[key] elif key == "image": self.image = kwarg[key] elif key == "colour": self.colour = kwarg[key] elif key == "borderwidth": self.borderwidth = kwarg[key] elif key == "bordercolor": self.bordercolor = kwarg[key] elif key == "framewidth": self.framewidth = kwarg[key] elif key == "frameheight": self.frameheight = kwarg[key] elif key == "framefont": self.framefont = kwarg[key] elif key == "framefontsize": self.framefontsize = kwarg[key] elif key == "framebold": self.framebold = kwarg[key] elif key == "frameitatic": self.frameitatic = kwarg[key] elif key == "framealias": self.framealias = kwarg[key] else: raise ValueError("Invalid Arguement") if (self.framewidth+self.frameborderwidth*2)*self.x > self.width: self.width = (self.framewidth+self.frameborderwidth*2)*self.x if (self.frameheight+self.frameborderwidth*2)*self.y > self.height: self.height = (self.frameheight+self.frameborderwidth*2)*self.y self._frame = StaticFrame(self.master,width=self.width,height=self.height,\ borderwidth=self.borderwidth,bordercolor=self.bordercolor,\ header=0) self._entries = [Entry(self._frame,width=self.framewidth,height=self.frameheight,\ font=self.framefont,fontsize=self.framefontsize,bold=self.framebold,\ italic=self.frameitatic,antialias=self.framealias,borderwidth=self.frameborderwidth)\ for i in range(self.x*self.y)] for i,entry in enumerate(self._entries): entry.place((i%self.x*entry.image.get_width(),i//self.x*entry.image.get_height())) _widgets.append(self)