Доброго времени суток! Версий бота много. От изначального поменялось видимо много (((
Но вот новый composit_reader от уважаемого greyzza в моей версии сбоит.
[Ссылки могут видеть только зарегистрированные пользователи. ]
странный он у них конечно, и что то мне подсказывает
привет,"r_green_barble" нет в итемс, значит и обьекта такого нет,вобщем ребята переделать все таки вам придется на использование json а не так как сейчас сначала берем ключи словаря потом находим их значения и создаем новый словарь с этими значениями, делаем двойную работу, тогда и не будут выскакивать эти неиспользуемые обьекты в ошибки у которых нет параметров смещения и все такое запрос к словарю будем делать на выставляемый обьект и на обьекты на локе для определения свободного места
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
в game_engine.py
1) все строки примерно такого содержания
PHP код:
if not hasattr(self.__game_state,'rectsObjects_dict'):self.__game_state.rectsObjects_dict={}
compositions=GameCompositionReader()
objAnims=compositions.readCompositnew()
for anims in objAnims:
rectss=compositions.readComposit(anims,'compositions')
self.__game_state.rectsObjects_dict[str(anims)]=rectss
privat=["@DOG_HOUSE_1","@CAT_HOUSE_1","@A_FRUIT_CHERRY","@A_FRUIT_PEAR","@A_TRAP","@CR_HONEY","tom_west"]
animals=self.__item_reader.get('animals').items
for animal in animals:
# print animal
if animal in privat:continue
reader=self.__item_reader.get(animal)
rects={"rectX":0,"rectY":0,"rectW":1,"rectH":1}
self.__game_state.rectsObjects_dict[str(reader.objAnims[0])]=rects
if not os.path.isfile('gameSTATE.txt'):
open('gameSTATE.txt', 'w').write(str(obj2dict(self.__game_state)))
можно конечно и так, а покрасивше вкинуть функцию загрузки и чтения размеров в итем ридер соответственно класс рект ридер можно не передавать в модули а брать его из итем ридера который у нас кидается везде где можно )) , а в конструктор фриспейса кидать только итемридер и стату, ну это чисто мое вИдение
Серег, да у каждого программера свое видение ))
я вот не пойму почему словарь у меня расширяется по Y...
вот эти три строчки
PHP код:
try:
if space[x][y] == 1: continue
except: continue
пришлось так сделать т.к. натыкался на какую то 263 координату по Y и в чем косяк чет так и не смогла допереть... тестила (чисто вывод инфы) на постройке B_BAKERY
а была она вот так
не.. это не в пересчете объектов...
после всех просчетов в self.__space лежит массив из 191 х ключей и в каждом по 250 у ключей.
потом в процессе обновления свежезанятых координат вот и появляется в некоторых х словарях лишние игреки...
хотя вся область объекта проверяется до выдачи конечных координат, и лишние просто не могли пропустить.
не.. с картой все хорошо, проверила же выставив объекты с размером 1*1
какой то парадокс, не могу повторить эту ошибку... вернула строку как было и нормально работает. что это был за глюк не понимаю... да точно 263 ! я их перебирала потом принтом и выводила длину словаря.. вот по У где была эта цифра словарь отличался длиной на 1 единичку. причем если он взял этот ключ из словаря как он его в себе найти то не мог?? в общем забыли пока ) может у тестировщиков такое проявится... подождем