def setup_multiplayer_connection(self, is_server: bool = None):
        if is_server != None:
            self.multi_palyer_connection = Connection()
            if is_server:
                self.multi_palyer_connection.serve("localhost", 8080)
                self.multi_palyer_connection.wait_client_thread.join()
            else:
                self.multi_palyer_connection.connect("localhost", 8080)
                self.user_tile_type = TileState.O

            self.multi_palyer_connection.recive_listener = self.multiplayer_event
Exemple #2
0
def main(character, config):
    renderer = Renderer(config['Renderer'])
    conn = Connection(config['Network'])
    proxy = MessageProxy(conn)
    input_mgr = InputManager()
    res_mgr = ResourceManager(config['Game'])
    audio_mgr = AudioManager(config['Sound'])

    client = Client(
        character, renderer, proxy, input_mgr, res_mgr, audio_mgr, config)

    client.start()
Exemple #3
0
    def __init__(self,
                 remote_port=8000,
                 remote_address="127.0.0.1",
                 local_port=9000,
                 local_address="127.0.0.1",
                 run_local=False,
                 logging=False,
                 callbacks={},
                 **kwargs):

        self.connection = Connection(ip=remote_address,
                                     port=remote_port,
                                     callbacks=callbacks,
                                     client_id=0)

        self.dataBuffer = []
        self.logging = logging
        self.callbacks = callbacks
Exemple #4
0
    def login(self, character_name, password):
        # Connect
        self._conn = Connection()
        self._conn.connect()

        # Send login packet
        login_packet = OutgoingPacket()
        login_packet.add_u8(0x0A)
        login_packet.add_u8(0)
        login_packet.add_u8(0)
        login_packet.add_u16(0)
        login_packet.add_u8(0)
        login_packet.add_string(character_name)
        login_packet.add_string(password)
        self._conn.send_packet(login_packet)

        # Receive login response
        while True:
            packet = self._conn.recv_packet()
            if packet:
                break
            time.sleep(0.1)

        packet_type = packet.get_u8()
        if packet_type == 0x14:
            error_message = packet.get_string()
            print("login: could not login: \"{}\"".format(error_message))
            self._conn.close()
            self._conn = None
            return False

        elif packet_type == 0x0A:
            self._parse_login_packet(packet)
            return True

        else:
            print("login: unknown packet type: {}".format(packet_type))
            self._conn.close()
            self._conn = None
            return False
Exemple #5
0
 def __init__(self,
              id,
              port,
              ids,
              ports,
              on_request,
              on_release,
              logger=None):
     """
     :param id: self id
     :param port: self port
     :param ids: ids of other processes
     :param ports: ports of other processes
     :param on_request: callback function
     :param on_release: callback function
     """
     self.__number_of_processes = len(ids)
     self.ids = ids
     self.on_request = on_request
     self.on_release = on_release
     self.logger = logger
     self.connection = Connection(id, port, ids, ports, self.on_response,
                                  logger)
Exemple #6
0
'''
The main entrance of the program
'''
import time

from logger import Logger
from network import Connection
from sonic import UltraSonic

SONIC = UltraSonic()
LOGGER = Logger()
CONNECTION = Connection()


def main(working_time):
    '''
    main function to SmartBin to work
    :param working_time:
    :return: status
    '''
    while working_time > 0:
        command, dist = 'measure', SONIC.middle_value()
        LOGGER.write(command, dist)
        # logger.write(CONNECTION.send_data(dist))
        time.sleep(10)
        working_time -= 10


if __name__ == '__main__':
    main(40)