import socket, random, os, sys, math, pygame pygame.init() #----------ПАЙГЕЙМ-------- FPS = 60 tick = 0 infoObject = pygame.display.Info() w, h = infoObject.current_w, infoObject.current_h - 64 sc = pygame.display.set_mode((w, h)) clock = pygame.time.Clock() #---------СОКЕТ----------- ClientSocket = socket.socket() host = '26.53.3.76' port = 1234 print('Waiting for connection') try: ClientSocket.connect((host, port)) except socket.error as e: print(str(e)) #---------СИНХРОНИЗАЦИЯ АККАУНТА------ log_en=ClientSocket.recv(2048) client_id = log_en.decode('utf-8') print(f'Ваш ID в игре: {client_id}') players = [] #---------ПАРАМЕТРЫ ИГРОКА-------- x, y = random.randint(0,w), random.randint(0,h) speed = 3 while True: sc.fill('white') #-------ОТДАЁМ ДЕЙСТВИЯ------ ClientSocket.send(str.encode(f'[{client_id},{x},{y}]')) #-------ПОЛУЧАЕМ ИНФУ О ИГРЕ------- log_en=ClientSocket.recv(2048) log_de=log_en.decode('utf-8') players = eval(log_de) #-------ПАЙГЕЙМОВСКИЕ ИВЕНТЫ (ПЕРЕДВИЖЕНИЕ, НАЖАТИЕ НА КНОПКИ И ТД)------ clock.tick(FPS) for ev in pygame.event.get(): if ev.type == pygame.QUIT: sys.exit() keys = pygame.key.get_pressed() # <---- зажатие клавишь if keys[pygame.K_d]: x += speed if keys[pygame.K_a]: x -= speed if keys[pygame.K_s]: y += speed if keys[pygame.K_w]: y -= speed #------ОТРИСОВОЧКА------- for i in range(len(players)): if players[i][0] != int(client_id): pygame.draw.rect(sc, 'red', (players[i][1], players[i][2], 50, 50)) else: pygame.draw.rect(sc, 'blue', (players[i][1], players[i][2], 50, 50)) tick+=1 pygame.display.update() ClientSocket.close()