import pygame import socket import threading import time from settings import * #соединение с сервером s = socket.socket() host_port = open('socket.txt').readline() host_port1 = host_port.split(',') HOST = str(host_port1[0]) PORT = int(host_port1[1]) s.connect((HOST, PORT)) name = host_port1[2] #======================= pygame.init() sc = pygame.display.set_mode((640, 480)) pygame.display.set_caption('koTanks') clock = pygame.time.Clock() def send_cord(): #отправка координат global s, x, y, clossed, name while True: cord = str(x) + ',' + str(y) + ',' + str(name) + ',' try: s.send(cord.encode()) data = s.recv(1024) data = data.decode() player.data = data.split(',') except: pass if clossed == 1: break threading.Thread(target=send_cord).start() while True: clock.tick(60) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() clossed = 1 exit() sc.fill(('black')) pygame.draw.rect(sc, (('blue')), (x, y, 50, 50)) try: pygame.draw.rect(sc, (('red')), (x1, y1, 50, 50)) pygame.draw.rect(sc, (('red')), (x2, y2, 50, 50)) pygame.draw.rect(sc, (('red')), (x3, y3, 50, 50)) except: pass #управление своим игроком keys = pygame.key.get_pressed() if keys[pygame.K_a]: x-=2 if keys[pygame.K_d]: x+=2 #управление других игроков player.cord_players() pygame.display.update()
import pygame import socket import time class player(): def __init__(self): self.data = 0 def cord_players(self): global players, player_scan, name, x, y, x1, y1, x2, y2, x3, y3 if self.data[2] != name: if player_scan == 0: player_scan = 1 players.append(data[2]) if self.data[2] not in players: players.append(data[2]) #если один игрок if len(players) == 1: if self.data[2] == players[0]: try: x1 = int(self.data[0]) y1 = int(self.data[1]) except: pass #если два игрока if len(players) == 2: if self.data[2] == players[0]: try: x1 = int(self.data[0]) y1 = int(self.data[1]) except: pass if self.data[2] == players[1]: try: x2 = int(self.data[0]) y2 = int(self.data[1]) except: pass #если три игрока if len(players) == 3: if self.data[2] == players[0]: try: x1 = int(self.data[0]) y1 = int(self.data[1]) except: pass if self.data[2] == players[1]: try: x2 = int(self.data[0]) y2 = int(self.data[1]) except: pass if self.data[2] == players[2]: try: x3 = int(self.data[0]) y3 = int(self.data[1]) except: pass x = 30 y = 300 x1 = -100 y1 = -100 x2 = -100 y2 = -100 x3 = -100 y3 = -100 clossed = 0 id_server = 0 players = [] players_line = 0 player_scan = 0 name = 0
Traceback (most recent call last):
File "C:\Users\Никита\Desktop\test_game\client.py", line 70, in <module>
player.cord_players()
TypeError: player.cord_players() missing 1 required positional argument: 'self'
что не так?