У меня небольшая игра с маленьким клиентом, игра получает данные с сервера. Клиент находится в модуле, а игра в другом. Проблема заключается в том, что клиент получает данные с сервера, но для выполнения действий в игре клиент должен получить доступ к методам игры (класс MyGame), с кодом, подобным этому, я получаю сообщение об ошибке:Взаимодействие с игровым клиентом
клиент модуля :
class MyClient:
#receives data from the server
#It is a task, always listening
def readerConnection:
#if a data arrives from the server...
if newData:
#call dataOnScreen of class MyGame
...dataOnScreen()
игры модуль:
from client import MyClient
class MyGame:
def _init_(self, client):
#begin to receive data from the server
self.c = client
#print data received from the server on screen
def dataOnScreen(self):
............
#the game begins
MyGame(MyClient())
конечно, ошибка происходит потому, что метод dataOnScreen не определен в классе MyClient. если я делаю следующее, все работает отлично (запись клиента в игру):
class MyGame:
def _init_(self):
.........
#receives data from the server
#It is a task, always listening
def readerConnection:
#if a data arrives from the server...
if newData:
#call dataOnScreen
self.dataOnScreen()
#print data received from the server on screen
def dataOnScreen(self):
............
#the game begins
MyGame()
, но это не то, что я хочу. Я хочу, чтобы игра и клиент были в разных классах.
оцените вашу помощь.
Я предполагаю, что вы хотите, чтобы клиент и сервер обменивались данными по сети. В этом случае вы не можете просто вызвать функцию от одного на другом, вам нужно будет использовать какой-то сетевой протокол для связи от одного к другому. –
Я думаю, что все в порядке с сервером/клиентом, это связь/разделение фактических классов игр и клиентов, это проблема (я думаю). –