Ignore:
Timestamp:
02/03/10 23:05:48 (12 years ago)
Author:
sc
Message:

server:

  • now listening on all server's interfaces

configuration:

  • now listening on all server's interfaces

client:

client_interface:

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rc/puzzlebox_brainstorms_client_interface.py

    r25 r26  
    1111# For more information please refer to http://www.gnu.org/copyleft/gpl.htm 
    1212# 
    13 # Last Update: 2010.02.02 
     13# Last Update: 2010.02.03 
    1414# 
    1515##################################################################### 
     
    2525 
    2626import puzzlebox_brainstorms_configuration as configuration 
    27 import puzzlebox_brainstorms_client 
     27import puzzlebox_brainstorms_client as client 
    2828import puzzlebox_brainstorms_client_interface_component as component 
    2929import puzzlebox_brainstorms_client_interface_button as button 
     
    5858class puzzlebox_brainstorms_client_interface( \ 
    5959         component.puzzlebox_brainstorms_client_interface_component, \ 
    60          protocol.ClientFactory): 
     60         client.puzzlebox_brainstorms_client): 
    6161         
    6262        def __init__(self, log, \ 
     
    103103                         #configuration.SERVER_PORT, \ 
    104104                         #configuration.MAX_CONNECTION_ATTEMPTS) 
     105                 
     106                self.server_host = configuration.SERVER_HOST 
     107                self.server_port = configuration.SERVER_PORT 
     108                self.max_connection_attempts = configuration.MAX_CONNECTION_ATTEMPTS 
    105109         
    106110         
     
    228232         
    229233        def send_commands_to_server(self, commands): 
    230          
     234                 
    231235                for command in commands: 
    232236                         
     237                        d = self.send_command(command) 
     238                         
     239                         
    233240                        #Command Line Client version 
    234                         command_line = 'python puzzlebox_brainstorms_client.py %s' % command 
    235                          
    236                         if self.DEBUG: 
    237                                 print "executing: %s" % command_line 
    238                          
    239                         os.system(command_line) 
    240          
    241          
    242         ################################################################## 
    243          
    244         def start(self): 
    245                  
    246                 update_screen_on_next_pass = False 
    247                 clock = self.pygame.time.Clock() 
    248                  
    249                 while 1: 
    250                          
    251                         if (update_screen_on_next_pass): 
    252                                 # Redraw Background 
    253                                 self.draw_background() 
     241                        #command_line = 'python puzzlebox_brainstorms_client.py %s' % command 
     242                         
     243                        #if self.DEBUG: 
     244                                #print "executing: %s" % command_line 
     245                         
     246                        #os.system(command_line) 
     247         
     248         
     249        ################################################################## 
     250         
     251        def print_response_and_stop(self, response): 
     252                 
     253                if self.DEBUG: 
     254                        print "---> [Client] Server Response:", 
     255                        print response 
     256                 
     257                #try: 
     258                        #reactor.stop() 
     259                #except: 
     260                        #print "ERROR: Can't stop reactor that isn't running." 
     261         
     262         
     263        ################################################################## 
     264         
     265        def update_screen(self): 
     266                 
     267                print "here" 
     268                 
     269                # Redraw Background 
     270                self.draw_background() 
     271                 
     272                for each in self.buttons: 
     273                        each.activated = False 
     274                        each.display() 
     275                 
     276                 
     277                self.update_display() 
     278         
     279         
     280        ################################################################## 
     281         
     282        def test(self): 
     283                 
     284                print "test" 
     285         
     286         
     287        ################################################################## 
     288         
     289        def checkEvents(self): 
     290                 
     291                self.test() 
     292                 
     293                # Redraw Background 
     294                self.draw_background() 
     295                 
     296                for each in self.buttons: 
     297                        each.activated = False 
     298                        each.display() 
     299                 
     300                 
     301                self.update_display() 
     302                 
     303                commands = [] 
     304                 
     305                for event in self.pygame.event.get(): 
     306                         
     307                        if (event.type is self.pygame.locals.QUIT): 
     308                                reactor.stop() 
     309                                sys.exit() 
     310                         
     311                         
     312                        elif (event.type == self.pygame.locals.KEYDOWN): 
    254313                                 
    255                                 for each in self.buttons: 
    256                                         each.activated = False 
    257                                         each.display() 
    258                                  
    259                                  
    260                                 self.update_display() 
    261                                  
    262                                 update_screen_on_next_pass = False 
    263                          
    264                          
    265                         commands = [] 
    266                          
    267                         for event in self.pygame.event.get(): 
    268                                  
    269                                 if (event.type is self.pygame.locals.QUIT): 
    270                                         #reactor.stop() 
    271                                         sys.exit() 
    272                                  
    273                                  
    274                                 elif (event.type == self.pygame.locals.KEYDOWN): 
    275                                          
    276                                         if 'key' in event.dict.keys(): 
    277                                                  
    278                                                 if (event.dict['key'] == self.pygame.K_ESCAPE): 
    279                                                         sys.exit() 
    280                                                  
    281                                                 elif ((event.dict['key'] == self.pygame.K_UP) or \ 
    282                                                            (event.dict['key'] == self.pygame.K_w)): 
    283                                                         command = 'drive_forward' 
    284                                                         self.update_button(command) 
    285                                                         commands.append(command) 
    286                                                  
    287                                                 elif ((event.dict['key'] == self.pygame.K_DOWN) or \ 
    288                                                            (event.dict['key'] == self.pygame.K_s) or \ 
    289                                                            (event.dict['key'] == self.pygame.K_x)): 
    290                                                         command = 'drive_reverse' 
    291                                                         self.update_button(command) 
    292                                                         commands.append(command) 
    293                                                  
    294                                                 elif ((event.dict['key'] == self.pygame.K_LEFT) or \ 
    295                                                            (event.dict['key'] == self.pygame.K_a) or \ 
    296                                                            (event.dict['key'] == self.pygame.K_q)): 
    297                                                         command = 'turn_left' 
    298                                                         self.update_button(command) 
    299                                                         commands.append(command) 
    300                                                  
    301                                                 elif ((event.dict['key'] == self.pygame.K_RIGHT) or \ 
    302                                                            (event.dict['key'] == self.pygame.K_d) or \ 
    303                                                            (event.dict['key'] == self.pygame.K_e)): 
    304                                                         command = 'turn_right' 
    305                                                         self.update_button(command) 
    306                                                         commands.append(command) 
    307                                                  
    308                                                 elif (event.dict['key'] == self.pygame.K_z): 
    309                                                         command = 'turn_left_in_reverse' 
    310                                                         self.update_button(command) 
    311                                                         commands.append(command) 
    312                                                  
    313                                                 elif ((event.dict['key'] == self.pygame.K_PAGEDOWN) or \ 
    314                                                            (event.dict['key'] == self.pygame.K_c)): 
    315                                                         command = 'turn_right_in_reverse' 
    316                                                         self.update_button(command) 
    317                                                         commands.append(command) 
    318                          
    319                          
    320                         if commands != []: 
    321                                 self.update_display() 
    322                                 self.send_commands_to_server(commands) 
    323                                 update_screen_on_next_pass = True 
    324                          
    325                          
    326                         clock.tick(60) 
     314                                if 'key' in event.dict.keys(): 
     315                                         
     316                                        if (event.dict['key'] == self.pygame.K_ESCAPE): 
     317                                                sys.exit() 
     318                                         
     319                                        elif ((event.dict['key'] == self.pygame.K_UP) or \ 
     320                                                        (event.dict['key'] == self.pygame.K_w)): 
     321                                                command = 'drive_forward' 
     322                                                self.update_button(command) 
     323                                                commands.append(command) 
     324                                         
     325                                        elif ((event.dict['key'] == self.pygame.K_DOWN) or \ 
     326                                                        (event.dict['key'] == self.pygame.K_s) or \ 
     327                                                        (event.dict['key'] == self.pygame.K_x)): 
     328                                                command = 'drive_reverse' 
     329                                                self.update_button(command) 
     330                                                commands.append(command) 
     331                                         
     332                                        elif ((event.dict['key'] == self.pygame.K_LEFT) or \ 
     333                                                        (event.dict['key'] == self.pygame.K_a) or \ 
     334                                                        (event.dict['key'] == self.pygame.K_q)): 
     335                                                command = 'turn_left' 
     336                                                self.update_button(command) 
     337                                                commands.append(command) 
     338                                         
     339                                        elif ((event.dict['key'] == self.pygame.K_RIGHT) or \ 
     340                                                        (event.dict['key'] == self.pygame.K_d) or \ 
     341                                                        (event.dict['key'] == self.pygame.K_e)): 
     342                                                command = 'turn_right' 
     343                                                self.update_button(command) 
     344                                                commands.append(command) 
     345                                         
     346                                        elif (event.dict['key'] == self.pygame.K_z): 
     347                                                command = 'turn_left_in_reverse' 
     348                                                self.update_button(command) 
     349                                                commands.append(command) 
     350                                         
     351                                        elif ((event.dict['key'] == self.pygame.K_PAGEDOWN) or \ 
     352                                                        (event.dict['key'] == self.pygame.K_c)): 
     353                                                command = 'turn_right_in_reverse' 
     354                                                self.update_button(command) 
     355                                                commands.append(command) 
     356                 
     357                 
     358                if commands != []: 
     359                        self.update_display() 
     360                        self.send_commands_to_server(commands) 
     361                        #self.update_screen() 
     362                 
     363                 
     364                reactor.callLater(0.03, self.checkEvents) 
    327365 
    328366 
     
    379417                                             DEBUG=DEBUG) 
    380418         
    381         interface.start() 
    382          
    383         reactor.callWhenRunning(interface.start) 
    384         #print "bing" 
     419        reactor.callWhenRunning(interface.checkEvents) 
    385420        reactor.run() 
    386421 
Note: See TracChangeset for help on using the changeset viewer.