Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Выдает ошибку Python

Никита Документов Профи (963), открыт 1 день назад
игра:
 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()
settings.py:
 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'

что не так?
0 ответов
Похожие вопросы