Esempio n. 1
0
 def choose_from_actions(self,actionsList,image=None,text='Choose',atexts=None):
     try:
         i=0
         self.buttons=[]
         margin=5
         curr_x=20
         curr_y=50
         block_size=(95,150)
         for action in actionsList:                
             if action.pic==None:                    
                 self.buttons.append(guiButton(action.name,(curr_x,curr_y),action=action.do_action))                    
             else:                    
                 self.buttons.append(guiButton('',(curr_x,curr_y),action=action.do_action,image=action.pic))
             if curr_x+block_size[0]<POPUP_SIZE[0]-margin:
                     curr_x=curr_x+block_size[0]
             else:
                 curr_x=20
                 curr_y+=block_size[1]
         self.buttons.append(guiButton('pass',(POPUP_SIZE[0]//2-40,POPUP_SIZE[1]-50),action=passf))            
         def check_click():
             for control in self.buttons:
                 if control.clicked:
                     return True
             return False            
         popup=PopupWindow(text,self.buttons,image,texts=atexts)
         self.open_popup(popup)
         while not check_click():
             time.sleep(0.2)
         self.popup=False
         self.popupWindow=None
         popup.close()
     except:
         print("Unexpected error:", sys.exc_info()[0])
         raise
Esempio n. 2
0
    def choose_from_actions(self,
                            actionsList,
                            image=None,
                            text='Choose',
                            atexts=None):
        try:
            i = 0
            self.buttons = []
            margin = 5
            curr_x = 20
            curr_y = 50
            block_size = (95, 150)
            for action in actionsList:
                if action.pic == None:
                    self.buttons.append(
                        guiButton(action.name, (curr_x, curr_y),
                                  action=action.do_action))
                else:
                    self.buttons.append(
                        guiButton('', (curr_x, curr_y),
                                  action=action.do_action,
                                  image=action.pic))
                if curr_x + block_size[0] < POPUP_SIZE[0] - margin:
                    curr_x = curr_x + block_size[0]
                else:
                    curr_x = 20
                    curr_y += block_size[1]
            self.buttons.append(
                guiButton('pass',
                          (POPUP_SIZE[0] // 2 - 40, POPUP_SIZE[1] - 50),
                          action=passf))

            def check_click():
                for control in self.buttons:
                    if control.clicked:
                        return True
                return False

            popup = PopupWindow(text, self.buttons, image, texts=atexts)
            self.open_popup(popup)
            while not check_click():
                time.sleep(0.2)
            self.popup = False
            self.popupWindow = None
            popup.close()
        except:
            print("Unexpected error:", sys.exc_info()[0])
            raise
Esempio n. 3
0
    def choose_from_options(self, actions, image=None):
        i = 0
        self.buttons = []
        for name in actions.keys():
            self.buttons.append(
                guiButton(name, (250 + i // 3 * 100, 65 + (i % 3) * 50),
                          actions[name],
                          sizing=1.5))
            i += 1

        def check_click():
            for control in self.buttons:
                if control.clicked:
                    return True
            return False

        popup = PopupWindow('Choose',
                            self.buttons,
                            image,
                            measures=((POPUP_TOP, POPUP_LEFT), (400, 200)))
        self.open_popup(popup)

        while not check_click():
            time.sleep(0.2)
        self.popup = False
        self.popupWindow = None
        popup.close()
Esempio n. 4
0
 def create_selection_menu(self,options):
     def set_value(value):
         self.value=value
     i=0
     self.controls=[]
     for option in options:
         x=600+(i//3)*150
         y=550+(i%3)*50
         if len(str(option))>10:
             self.controls.append(guiButton(str(option),(x,y),set_value,option,1.75,7))
         else:
             self.controls.append(guiButton(str(option),(x,y),set_value,option,1.75))
         i+=1
     self.value=0
     while (self.value==0):
         time.sleep(0.1)
     print (self.value)
     return self.value
Esempio n. 5
0
    def create_trade_menu(self,players,image=None):
        from gameClasses import Trader

        trader=Trader(players[0],players[1])
        self.buttons=[]    
        passb=guiButton('pass',(700//2+40,600-50),action=passf)
        finishb=guiButton('finish',(700//2-40,600-50),action=trader.make_trade)
        self.buttons.append(passb)
        self.buttons.append(finishb)            

        def check_click():            
                if passb.clicked or finishb.clicked:
                    return True
                return False            
        popup=TradeWindow(self.buttons,trader,players)
        self.open_popup(popup)
        while not check_click():
            time.sleep(0.2)            
        self.popup=False
        self.popupWindow=None
        popup.close() 
Esempio n. 6
0
    def create_selection_menu(self, options):
        def set_value(value):
            self.value = value

        i = 0
        self.controls = []
        for option in options:
            x = 620 + (i // 3) * 135
            y = 560 + (i % 3) * 45
            if len(str(option)) > 10:
                self.controls.append(
                    guiButton(str(option), (x, y), set_value, option, 1.75, 7))
            else:
                self.controls.append(
                    guiButton(str(option), (x, y), set_value, option, 1.75))
            i += 1
        self.value = 0
        while (self.value == 0):
            time.sleep(0.1)
        print(self.value)
        return self.value
Esempio n. 7
0
 def create_buttons_from_action_dict(self,actions):
     self.controls=[]
     i=0
     for name in actions.keys():            
         self.controls.append(guiButton(name,(600+i//3*100,550+(i%3)*50),actions[name],sizing=1.5))
         i+=1
     def check_click():
         for control in self.controls:
             if control.clicked:
                 return True
         return False
     while not check_click():
         time.sleep(0.2)
Esempio n. 8
0
    def create_trade_menu(self, players, image=None):
        from gameClasses import Trader

        trader = Trader(players[0], players[1])
        self.buttons = []
        passb = guiButton('pass', (700 // 2 + 40, 600 - 50), action=passf)
        finishb = guiButton('finish', (700 // 2 - 40, 600 - 50),
                            action=trader.make_trade)
        self.buttons.append(passb)
        self.buttons.append(finishb)

        def check_click():
            if passb.clicked or finishb.clicked:
                return True
            return False

        popup = TradeWindow(self.buttons, trader, players)
        self.open_popup(popup)
        while not check_click():
            time.sleep(0.2)
        self.popup = False
        self.popupWindow = None
        popup.close()
Esempio n. 9
0
 def createChooseButtonPopup(self,actions,image=None):        
     i=0
     self.buttons=[]
     for name in actions.keys():            
         self.buttons.append(guiButton(name,(70+i//3*100,110+(i%3)*50),actions[name],sizing=1.5))
         i+=1
     def check_click():
         for control in self.buttons:
             if control.clicked:
                 return True
         return False
     popup=PopupWindow(self.gameWindow,'Choose',self.buttons,image)
     self.gameWindow.open_popup(popup)
     while not check_click():
         time.sleep(0.2)            
     popup.close()        
Esempio n. 10
0
    def __init__(self,buttons,trader,players):
        self.buttons=buttons
        self.trader=trader
        self.players=players
        self.money_interval=[50,50]
        self.money1=0
        self.money2=0
        margin=5
        curr_x=20
        curr_y=50        
        block_size=(50,75)
        headers=[(players[0].name+ ' assets',(800//4-1,20)),(players[1].name+ ' assets',(3*800//4,20)),
                 ('money :$'+str(players[0].money),(800//4-170,20)),('money :$'+str(players[1].money),(-170+3*800//4,20)),
                 ('Trade assets',(POPUP_SIZE[0]//4-100,260)),('Trade assets',(3*POPUP_SIZE[0]//4-100,260))]
        for asset in players[0].assets_list():
            self.buttons.append(guiButton('',(curr_x,curr_y),action=self.add1_asset,parameter=asset,image=get_asset_image(asset),name='add'+asset.name,sizing=0.5,y_sizing=0.5))
            self.buttons.append(guiButton('',(curr_x,curr_y+260),action=self.rem1_asset,parameter=asset,image=get_asset_image(asset),name='rem'+asset.name,enabled=False,sizing=0.5,y_sizing=0.5))
            if curr_x+block_size[0]<POPUP_SIZE[0]//2-margin:
                    curr_x=curr_x+block_size[0]
            else:
                    curr_x=50
                    curr_y+=block_size[1]
        curr_x=20
        curr_y=50        
        for asset in players[1].assets_list():            
            self.buttons.append(guiButton('',(POPUP_SIZE[0]//2+curr_x,curr_y),action=self.add2_asset,parameter=asset,image=get_asset_image(asset),name='add'+asset.name,sizing=0.5,y_sizing=0.5))
            self.buttons.append(guiButton('',(POPUP_SIZE[0]//2+curr_x,curr_y+260),action=self.rem2_asset,parameter=asset,image=get_asset_image(asset),name='rem'+asset.name,enabled=False,sizing=0.5,y_sizing=0.5))
            if curr_x+block_size[0]<POPUP_SIZE[0]//2-margin:
                    curr_x=curr_x+block_size[0]
            else:
                    curr_x=100
                    curr_y+=block_size[1]

        self.buttons.append(guiButton('+',(50,500),action=self.add1_money))
        self.buttons.append(guiButton('-',(120,500),action=self.rem1_money))
        self.buttons.append(guiButton('+',(450,500),action=self.add2_money))
        self.buttons.append(guiButton('-',(520,500),action=self.rem2_money))
        PopupWindow.__init__(self,'',buttons,texts=headers,measures=((100,50),(800,600)))
        self.top_dx=[40,40]
        self.top_dy=[100,100]
        self.down_dx=[40,40]
        self.down_dy=[400,400]    
Esempio n. 11
0
 def choose_from_options(self,actions,image=None):
     i=0
     self.buttons=[]
     for name in actions.keys():            
         self.buttons.append(guiButton(name,(250+i//3*100, 65+(i%3)*50),actions[name],sizing=1.5))
         i+=1        
     def check_click():
         for control in self.buttons:
             if control.clicked:
                 return True
         return False
     popup=PopupWindow('Choose',self.buttons,image,measures=((POPUP_TOP,POPUP_LEFT),(400,200)))
     self.open_popup(popup)
     
     while not check_click():
         time.sleep(0.2)
     self.popup=False
     self.popupWindow=None
     popup.close()
Esempio n. 12
0
    def __init__(self, buttons, trader, players):
        self.buttons = buttons
        self.trader = trader
        self.players = players
        self.money_interval = [50, 50]
        self.money1 = 0
        self.money2 = 0
        margin = 5
        curr_x = 20
        curr_y = 50
        block_size = (50, 75)
        headers = [(players[0].name + ' assets', (800 // 4 - 1, 20)),
                   (players[1].name + ' assets', (3 * 800 // 4, 20)),
                   ('money :$' + str(players[0].money), (800 // 4 - 170, 20)),
                   ('money :$' + str(players[1].money), (-170 + 3 * 800 // 4,
                                                         20)),
                   ('Trade assets', (POPUP_SIZE[0] // 4 - 100, 260)),
                   ('Trade assets', (3 * POPUP_SIZE[0] // 4 - 100, 260))]
        for asset in players[0].assets_list():
            self.buttons.append(
                guiButton('', (curr_x, curr_y),
                          action=self.add1_asset,
                          parameter=asset,
                          image=get_asset_image(asset),
                          name='add' + asset.name,
                          sizing=0.5,
                          y_sizing=0.5))
            self.buttons.append(
                guiButton('', (curr_x, curr_y + 260),
                          action=self.rem1_asset,
                          parameter=asset,
                          image=get_asset_image(asset),
                          name='rem' + asset.name,
                          enabled=False,
                          sizing=0.5,
                          y_sizing=0.5))
            if curr_x + block_size[0] < POPUP_SIZE[0] // 2 - margin:
                curr_x = curr_x + block_size[0]
            else:
                curr_x = 50
                curr_y += block_size[1]
        curr_x = 20
        curr_y = 50
        for asset in players[1].assets_list():
            self.buttons.append(
                guiButton('', (POPUP_SIZE[0] // 2 + curr_x, curr_y),
                          action=self.add2_asset,
                          parameter=asset,
                          image=get_asset_image(asset),
                          name='add' + asset.name,
                          sizing=0.5,
                          y_sizing=0.5))
            self.buttons.append(
                guiButton('', (POPUP_SIZE[0] // 2 + curr_x, curr_y + 260),
                          action=self.rem2_asset,
                          parameter=asset,
                          image=get_asset_image(asset),
                          name='rem' + asset.name,
                          enabled=False,
                          sizing=0.5,
                          y_sizing=0.5))
            if curr_x + block_size[0] < POPUP_SIZE[0] // 2 - margin:
                curr_x = curr_x + block_size[0]
            else:
                curr_x = 100
                curr_y += block_size[1]

        self.buttons.append(guiButton('+', (50, 500), action=self.add1_money))
        self.buttons.append(guiButton('-', (120, 500), action=self.rem1_money))
        self.buttons.append(guiButton('+', (450, 500), action=self.add2_money))
        self.buttons.append(guiButton('-', (520, 500), action=self.rem2_money))
        PopupWindow.__init__(self,
                             '',
                             buttons,
                             texts=headers,
                             measures=((100, 50), (800, 600)))
        self.top_dx = [40, 40]
        self.top_dy = [100, 100]
        self.down_dx = [40, 40]
        self.down_dy = [400, 400]