это то, что вызывает ошибку в json, можете ли вы помочь, если можете, это будет обработано
привет, им пытаюсь использовать json для кодирования и отправки данных через сокет, вот код
это запускаемый файл
Код: Выделить всё
if s=="host":
h=Host(2,23)
screen=new_screen()
new_dungeon=dungeon(screen)
h.store_obj(screen,"screen")
h.store_obj(new_dungeon,"dungeon")
Код: Выделить всё
class Host(object):
def __init__(self,size:int,port:int):
self.port=port
self.hostname = socket.gethostname()
self.ip_address = socket.gethostbyname(self.hostname)
self.data={}
self.var=[]
self.size=size
self.adresses=[]
self.record=[]
def store_obj(self,obj:object,obj_name:str):
y = json.dumps(obj.__dict__)
self.data[obj_name] = y.encode()
Код: Выделить всё
class dungeon(object):
def __init__(dungeon,screen):
dungeon.flooramnt= random.randint(3,7)
dungeon.time=0
dungeon.functions={}
dungeon.floors=[]
dungeon.screen=screen
dungeon.currentfloor=0
x=0
y=0
dungeon.initiate_dungeon()
for dungeons in dungeon.floors:
y+=dungeons.y_detirminer
x+=dungeons.x_detirminer
dungeon.size=x*y*dungeon.flooramnt
dungeon.max_time= int((random.randint(dungeon.size,dungeon.size*4))/10)
def initiate_dungeon(dungeon):
for i in range(0,dungeon.flooramnt):
dungeon.floors.append(floor(dungeon.screen,i,dungeon.flooramnt))
class floor(object):
def __init__(self,screen:new_screen,floornum:int,maxfloor:int):
self.directions={0:"north",2:"south",3:"east",1:"west"}
self.maxfloor=maxfloor
self.dir_multiplier={"north":1,"south":-1,"east":-1,"west":1}
self.floornum = floornum
self.direction="north"
list_of_rect=[]
self.x_detirminer=random.randint(200,400)
self.y_detirminer=(random.randint(200,400))
self.time=0
for y in range(0,self.y_detirminer):
temp_list=[]
for x in range(0,self.x_detirminer):
temp_list.append(block(x*24,y*24,(0,0,0),screen))
list_of_rect.append(temp_list)
self.list_of_rect=list_of_rect
for y in range(0,len(self.list_of_rect)):
for x in range(0,len(list_of_rect[y])):
self.list_of_rect[y][x].old_color=(10,70,90)
self.player= self.list_of_rect[int(dimensions[1]/48)][int(dimensions[0]/48)]
self.wall_demolisher(self.x_detirminer,self.y_detirminer)
self.screen=screen
выход obj.__dict, где произошла ошибка
Подробнее здесь: https://stackoverflow.com/questions/793 ... using-json
Мобильная версия