+ Ответить в теме
Страница 3 из 6 ПерваяПервая ... 234 ... ПоследняяПоследняя
Показано с 41 по 60 из 108

Тема: Осваиваем питон (от простого к сложному)

  1. #41
    <div class='quotetop'>Цитата(Moonlight Shadow New * 10.9.2009, 16:08) [snapback]306497[/snapback]</div>
    Знатоки питона, скажите пожалуйста какой смысл несет параметр bRecalculate (булевское значение, используется в нескольких функциях)[/b]
    Булевские переменные обично используются в качестве разрешений на использование какого либа кода. Но для подробного ответа надо название файла
    продвинь это сообщение в соцсеть:  
    Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
    Мой мод

  2. #42
    Булевые значения принимают варианты либо 0 - false (ложное), либо 1 - true (истинное) - применение булевых значений у функций зависит от ситуации - чаще всего разрешение или запрет, но иногда не только это
    продвинь это сообщение в соцсеть:  

  3. #43
    Полководец Аватар для Gesse


    Регистрация
    26.12.2007
    Адрес
    Россия,Магнитогорск
    Сообщений
    454
    Такой вопрос, как определить тип улучшения (feature) на заданной клетке ? Какая функция за это отвечает ?

    P.S. Вопрос снят, уже разобрался
    продвинь это сообщение в соцсеть:  
    Не важно... что было сказано или написано... все это от незнания и неумения выбрать верное среди многого...

    Мои взгляды на то какой должна быть глобальная стратегия

  4. #44
    Король Аватар для Blacksun


    Регистрация
    10.05.2006
    Адрес
    М.О. г. Раменское
    Сообщений
    1,873
    <div class='quotetop'>Цитата(Gesse * 23.9.2009, 20:37) [snapback]308121[/snapback]</div>
    Такой вопрос, как определить тип улучшения (feature) на заданной клетке ? Какая функция за это отвечает ?

    P.S. Вопрос снят, уже разобрался
    [/b]
    Мог бы и написать... КАК ?
    продвинь это сообщение в соцсеть:  
    Программирование - это не то, что ты думаешь.... - Это то, что думает о тебе компьютер.
    http://blacksun.civfanatics.ru
    -------------------------------------------------
    MTDG2 - [civ]christianity[/civ]Монархия
    ---------------------------------
    Председатель CFR Awards 2007
    ---------------------------------
    Председатель CFR Awards 2008

  5. #45
    Полководец Аватар для Gesse


    Регистрация
    26.12.2007
    Адрес
    Россия,Магнитогорск
    Сообщений
    454
    Да там все элементарно
    Я просто не знал как точно функция называется, для запроса типа улучшения.
    Допустим нам нужно узнать тип улучшения на клетке с координатами x и y
    тогда мы пишем:

    Код:
    thisPlot = CyMap().plot(iX,iY)
    iFeature = gc.getInfoTypeForString(thisPlot.getFeatureType())
    и для вывода инфы на экран:
    [code]
    CvUtil.pyPrint(&#39;feature type is&#39;
    продвинь это сообщение в соцсеть:  
    Не важно... что было сказано или написано... все это от незнания и неумения выбрать верное среди многого...

    Мои взгляды на то какой должна быть глобальная стратегия

  6. #46
    Полководец


    Регистрация
    31.03.2007
    Адрес
    Киев
    Сообщений
    381
    Хочу предупредить что при установке Eclipse+PyDev версию PyDev стоит брать 1.3.23, а не новую, поскольку в новой может не работать outline.
    продвинь это сообщение в соцсеть:  
    <div align="center">Дополнительная информация на главном экране Civ4 Bts | Колонизация
    Обучающие видеозаписи игр</div>

  7. #47
    Cod:
    self.recon[unit.getID()] = (unit,plot.getX(),plot.getY())

    Вопрос: что записывается в "unit"? Ведь unit.getID() не тоже что и unit?

    Как узнать есть ли ещё у Плеера(2) юнит с ID=1216257, не убит ли он или т.п.?

    Спасибо за ответы.
    продвинь это сообщение в соцсеть:  

  8. #48
    <div class='quotetop'>Цитата(Igor3 * 15.12.2009, 17:50) [snapback]318017[/snapback]</div>
    Cod:
    self.recon[unit.getID()] = (unit,plot.getX(),plot.getY())

    Вопрос: что записывается в "unit"? Ведь unit.getID() не тоже что и unit?

    Как узнать есть ли ещё у Плеера(2) юнит с ID=1216257, не убит ли он или т.п.?

    Спасибо за ответы.
    [/b]
    unit - указатель на конкретный юнит в игре
    unit.getID() - порядковый индекс юнита в файле Assets\XML\Units\CIV4UnitInfos.xml (тип юнита:танк, мечник, лучник и т.д.)
    продвинь это сообщение в соцсеть:  
    Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
    Мой мод

  9. #49
    <div class='quotetop'>Цитата</div>
    unit.getID() - порядковый индекс юнита в файле Assets\XML\Units\CIV4UnitInfos.xml (тип юнита:танк, мечник, лучник и т.д.) [/b]
    (тип юнита:танк, мечник, лучник и т.д.) - Тип юнита выдаёт Int getUnitType.
    C этим .getID() основная засада - я думал, что это уникальный номер юнита в игре. Всё таки, что эта функция выдаёт?

    Код:
    CvUtil.pyPrint("unit %s %s %d %d autorecon execute %d %d" %(unit, player.getUnit(unit.getID()), unit.getID(), ARunit, x, y))
    Логи:
    <div class='quotetop'>Цитата</div>
    PY:unit <CvPythonExtensions.CyUnit object at 0x28778E68> <CvPythonExtensions.CyUnit object at 0x184F3B58> 114689 114689 autorecon execute 81 35[/b]
    Можно ли "unit" представить в виде числа, если это уникальный номер игрока в игре?


    продвинь это сообщение в соцсеть:  

  10. #50
    unit.getID()
    мне кажется что:
    unit - это указатель или ссылка на класс. Задается в 16-ричной системе
    getID() - метод класса unit. Если он возвращает не тип юнита, тогда, может, индекс юнита в игре.
    продвинь это сообщение в соцсеть:  
    Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
    Мой мод

  11. #51
    Помогите разобраться с кодом.

    В папку мода /Assets/Python помещаю файл CvEventManager.py, в нём такой код. Смысл в том, чтобы каждый ход сканировалась карта и с определённой вероятностью удаляла ресурс, в данном случае нефть.

    [code]def onEndPlayerTurn(self, argsList):
    продвинь это сообщение в соцсеть:  

  12. #52
    <div class='quotetop'>Цитата(Lilit09304 * 18.4.2010, 13:54) [snapback]333362[/snapback]</div>
    Помогите разобраться с кодом.
    В папку мода /Assets/Python помещаю файл CvEventManager.py, в нём такой код. Смысл в том, чтобы каждый ход сканировалась карта и с определённой вероятностью удаляла ресурс, в данном случае нефть.
    Запускаю игру, и ничего не происходит, такое ощущение, что Цива вообще не читает этот файл. Пробовал вызывать функции из другого PY файла, всё равно не работает. Помогите, пожалуйста, разобраться, что я делаю неправильно.
    [/b]
    Во-первых строчка iGameTurn, iPlayer = argsList для даного кода ненужна (Может эти переменные в другом месте задействованы)
    Во-вторых циклы for x in range(1, 123) и for y in range(1, 67) будут перебирать координаты X с 1 до 123 и Y c 1 до 67 это неправильно: координаты начинаются с 0 и заканчуются CyMap().getGridWidth() - 1 и CyMap().getGridHeight() - 1.
    В-третих не определена con.iOil. Заменим ее на CvUtil.findInfoTypeNum(gc.getBonusInfo, gc.getNumBonusInfos(), &#39;BONUS_OIL&#39
    В-четвертых после pCurrent.getBonusType должны быть дужки pCurrent.getBonusType()
    В-пятых в pCurrent.setBonusType(NONE) термин NONE скорей всего неправилен. Заменим его на BonusTypes.NO_BONUS или на (-1)

    Так как приведенные мною функции выполняются относительно медленно, а количество их вызовов в каждом ходу будет равно количеству тайлов на карте (тоесть несколько тысяч раз), то будем использовать переменные.

    [code]
    продвинь это сообщение в соцсеть:  
    Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
    Мой мод

  13. #53
    <div class='quotetop'>Цитата(NeseryozniyVET * 18.4.2010, 20:59) [snapback]333407[/snapback]</div>
    P.S. если все равно не заработало, то вылажи логи.
    [/b]
    Спасибо, но всё равно не работает

    Вот конец файла PythonErr2.log:
    [code]load_module CvEventManager
    Traceback (most recent call last):
    продвинь это сообщение в соцсеть:  

  14. #54
    Заблокируй диезом (#) выражения CyInterface().addImmediateMessage(szText, "") и szText = u"Oil abandoned: %d, %d" %(x,y)
    продвинь это сообщение в соцсеть:  
    Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
    Мой мод

  15. #55
    <div class='quotetop'>Цитата(NeseryozniyVET * 18.4.2010, 22:33) [snapback]333421[/snapback]</div>
    Заблокируй диезом (#) выражения CyInterface().addImmediateMessage(szText, "") и szText = u"Oil abandoned: %d, %d" %(x,y)
    [/b]
    Всё равно не помогает. Может, я не в той функции код пишу, или нужны ещё какие-нибудь файлы в папке Assets/Python? Я правильно понимаю, что onEndPlayerTurn вызывается каждый раз после хода игрока? Извините, возможно вопросы глупые, но я только начал разбираться. Заранее спасибо.
    продвинь это сообщение в соцсеть:  

  16. #56
    Вот рабочий код[code]
    продвинь это сообщение в соцсеть:  
    Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
    Мой мод

  17. #57
    Спасибо, теперь всё работает!
    продвинь это сообщение в соцсеть:  

  18. #58
    Как можно проверить, есть ли у цивилизации определённое чудо света? Скажем, есть ли у игрока iPlayer чудо света BUILDING_EIFFEL_TOWER (для примера). Может быть, у кого-нибудь есть образец кода. Заранее спасибо.
    продвинь это сообщение в соцсеть:  

  19. #59
    <div class='quotetop'>Цитата(Lilit09304 * 24.5.2010, 10:20) [snapback]336853[/snapback]</div>
    Как можно проверить, есть ли у цивилизации определённое чудо света? Скажем, есть ли у игрока iPlayer чудо света BUILDING_EIFFEL_TOWER (для примера). Может быть, у кого-нибудь есть образец кода. Заранее спасибо[/b]
    [code]
    продвинь это сообщение в соцсеть:  
    Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
    Мой мод

  20. #60


    Спасибо!
    продвинь это сообщение в соцсеть:  

+ Ответить в теме
Страница 3 из 6 ПерваяПервая ... 234 ... ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru

free counters