Почему мой игрок превращается в кортеж внутри условия IF, когда он ложный? [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему мой игрок превращается в кортеж внутри условия IF, когда он ложный? [закрыто]

Сообщение Anonymous »

Я делал игру, в которой я столкнулся с этим вопросом. Мой код был: < /p>

Код: Выделить всё

    data = network1.get_data()
if isinstance(data, Player):
car2 = data
car2.draw(screen)
< /code>
Я уже создал проигрыватель < /code> в этой строке:
car2 = Player(200, 100, int(100/1.5), int(55/1.5), 90, "assets/car2.png")

Car2 - это объект Player , который проходит через сеть сокетов, а когда другой автомобиль недоступен, get_data () просто возвращает кортеж. У класса игрока есть метод Draw () , который рисует себя на данном экране. Но когда я запускаю клиент -код до того, как кто -либо вступит, он говорит AttruituleDerr: «Объект Tuple 'не имеет атрибута' draw '
Мой сетевой код:

Код: Выделить всё

class Network:
def __init__(self, host='147.185.221.19', port=42443):
"""Initializes the network connection parameters"""
self.host = host
self.port = port
self.connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.lock = threading.Lock()
self.msg = (200, 100, 0)  # Default message
self.running = False  # To manage if the server loop is running

def start(self):
"""Starts the connection with the server"""
self.connection.connect((self.host, self.port))
self.running = True
print(f"Connected to {self.host}:{self.port}")
threading.Thread(target=self.handle_server, daemon=True).start()

def handle_server(self):
"""Receives data from the server"""
print("I'm ready to race!")
while self.running:
try:
raw_msg = b''
raw_msglen = self.connection.recv(4)
msglen = struct.unpack('>I', raw_msglen)[0]
while len(raw_msg) != msglen:
raw_msg += self.connection.recv(msglen - len(raw_msg))
msg1 = pickle.loads(raw_msg)
if msg1:
with self.lock:
self.msg = msg1
except Exception as e:
print(f"Error receiving message: {e}")
self.running = False

def get_data(self):
"""Returns the current data with locking"""
with self.lock:
return self.msg
< /code>
и код игрока: < /p>
import pygame

class Player:
def __init__(self, x, y, width, height, angle, img_src):
self.x = x
self.y = y
self.width = width
self.height = height
self.angle = angle
self.img_src = img_src
self.base_img = pygame.image.load(img_src).convert_alpha()
self.base_img = pygame.transform.rotate(self.base_img, angle)
self.base_img = pygame.transform.scale(self.base_img, (width, height))
self.img = self.base_img
self.img_rect = self.img.get_rect()

def draw(self, screen):
self.img = pygame.transform.rotate(self.base_img, self.angle)
self.img_rect.center = (self.x, self.y)
screen.blit(self.img, self.img_rect)
Поэтому я подумал некоторое время, если, если операторы влияют на переменную, даже если условие не верно. В чем проблема и почему она появляется? Как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/795 ... n-it-is-fa
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Мой игрок все еще находится в режиме скалолазания, когда игрок бежит с лестницы
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как преобразовать список[int, int, int] в кортеж[int, int, int], а не в кортеж[int, ...]
    Anonymous » » в форуме Python
    0 Ответы
    287 Просмотры
    Последнее сообщение Anonymous
  • Добавить еще один кортеж в кортеж кортежей
    Anonymous » » в форуме Python
    0 Ответы
    46 Просмотры
    Последнее сообщение Anonymous
  • Значок веб-сайта превращается в зеленый квадрат при перезагрузке страницы.
    Anonymous » » в форуме CSS
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Кнопка не полностью превращается в изображение [дубликат]
    Anonymous » » в форуме CSS
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»