Ejemplo n.º 1
0
 def meetGodImpl(person):
   '''Реализация случайного благославления'''
   choice = random.choice([0, 1, 2, 3, 4, 5, 6])
   god_say = ""
   if choice == 0:
     god_say += cl.b("Да увеличится, офигенно, твоя понтовость среди гопоты!\n")
     god_say += cl.b("Получи 100!")
     person.pont += 100
   elif choice == 1:
     god_say += cl.b("Да увеличится твоя понтовость!")
     person.increaseExp(self.person.nextLevelSkill() - person.skill)
   elif choice == 2:
     god_say += cl.b("Да увеличится твоя сила!")
     person.strength += 1
     person.current_health = person.getMaxHealth()
   elif choice == 3:
     god_say += cl.b("Да возрастут твои силы жизненные!")
     person.vitality += 1
     person.current_health = person.getMaxHealth()
   elif choice == 4:
     god_say += cl.b("Да уменьшится твоя корявость!")
     person.agility += 1
   elif choice == 5:
     god_say += cl.b("Накладываю на тебя защиту!")
     person.shield += 1
   elif choice == 6:
     god_say += cl.b("Дарю тебе феньку!")
     variants = [artefacts.GodSaveRing(), artefacts.GodHelpRing(), artefacts.MegaRing(), artefacts.GodForgiveRing()]
     artefact = random.choice(variants)
     if artefact.description != "":
       god_say += "\n" + cl.b(artefact.description)
     person.artefacts.append(artefact)
   input(god_say)
Ejemplo n.º 2
0
 def spyForCheaters(self):
   if self.person.money < 22:
     print(cl.r("Не хватает"))
   else:
     self.person.money -= 22
     self.person.luck += 1
     print(cl.g("Ты прокачиваешь удачу"))
     print(cl.b("Удача +1"))
Ejemplo n.º 3
0
 def party(self):
   if self.person.money < 15:
     print(cl.r("Не хватает"))
   else:
     self.person.money -= 15
     self.person.agility += 1
     print(cl.g("Ты прокачиваешь ловкость"))
     print(cl.b("Ловкость +1"))
Ejemplo n.º 4
0
 def trainShield(self):
   if self.person.money < 20:
     print(cl.r("Не хватает"))
   else:
     self.person.money -= 20
     self.person.shield += 1
     print(cl.g("Ты прокачиваешь пресс"))
     print(cl.b("Броня +1"))
Ejemplo n.º 5
0
 def trainSkill(self):
   if self.person.money < 10:
     print(cl.r("Не хватает"))
   else:
     self.person.money -= 10
     self.person.increaseExp(10)
     print(cl.g("Ты тренируешься"))
     print(cl.b(" +10 качков опыта"))
Ejemplo n.º 6
0
 def trainVitality(self):
   if self.person.money < 20:
     print(cl.r("Не хватает"))
   else:
     self.person.money -= 20
     self.person.vitality += 1
     print(cl.g("Ты прокачиваешь выносливость"))
     print(cl.b("Выносливость +1"))
Ejemplo n.º 7
0
 def trainStrength(self):
   if self.person.money < 20:
     print(cl.r("Не хватает"))
   else:
     self.person.money -= 20
     self.person.strength += 1
     print(cl.g("Ты прокачиваешь силу"))
     print(cl.b("Сила +1"))
Ejemplo n.º 8
0
 def levelUp(self, silent=False):
     s = self.strength + self.agility + self.vitality + self.luck
     v = random.randint(0, s - 1)
     descr = ""
     if v < self.strength:
         self.strength += 1
         descr = "Сила +1 "
     elif v < self.strength + self.agility:
         self.agility += 1
         descr = "Ловкость +1 "
     elif v < self.strength + self.agility + self.vitality:
         self.vitality += 1
         descr = "Живучесть +1 "
     else:
         self.luck += 1
         descr = "Удача +1 "
     v = random.randint(0, s - 1)
     if v < self.strength:
         self.strength += 1
         descr += "Сила +1"
     elif v < self.strength + self.agility:
         self.agility += 1
         descr += "Ловкость +1"
     elif v < self.strength + self.agility + self.vitality:
         self.vitality += 1
         descr += "Живучесть +1"
     else:
         self.luck += 1
         descr += "Удача +1"
     self.skill -= self.nextLevelSkill()
     old_level_str = self.levelStr()
     self.level += 1
     new_level_str = self.levelStr()
     if not silent:
         print(cl.b("Был ты " + old_level_str + " а стал " + new_level_str))
         print(cl.b("Понтовость увеличивается: " + descr))
     self.current_health = self.getMaxHealth()
Ejemplo n.º 9
0
 def finishBattle(self):
   #TODO надо вычислить и добавить очки опыта персонажу
   exp = self.enemy.eff_strength() + self.enemy.eff_agility() + self.enemy.eff_vitality() + self.enemy.eff_luck()
   print(cl.y("За отпин врага ты получаешь {0} качков опыта".format(exp)))
   skillToLevel = self.person.nextLevelSkill() - self.person.skill
   #self.person.increaseExp()
   if exp < skillToLevel:
     self.person.increaseExp(exp)
     print(cl.y("Ты запинал слишком слабого мудака для увеличения понтовости"))
     print(cl.y("Сейчас у тебя {0} качков опыта, А для прокачки надо {1}".format(self.person.skill, self.person.nextLevelSkill())))
   else:
     self.person.increaseExp(exp)
     print(cl.y("Сейчас у тебя {0} качков опыта. До следующей прокачки надо {1}".format(self.person.skill, self.person.nextLevelSkill())))
   print(cl.b("Пиво победителю!"))
   self.person.beer += 2.0
   #TODO надо обобрать побеждённого врага
   self.person.money += self.enemy.money
   self.person.stuff += self.enemy.stuff
   if self.enemy.artefacts:
     print(cl.b("Оба на! Колечко! Вот свезло так свезло!"))
     print(cl.b(self.enemy.artefacts[0].description))
     self.person.artefacts.extend(self.enemy.artefacts)
   self.enemy = None
   self.state = GameLoop.STATE_WAIT_CMD
Ejemplo n.º 10
0
 def greetings(self):
   lines = [
     "┌─── ┌───┐ ┌───┐ ╷   ╷ ╷   ╷ ╷   ╷",
     "│    │   │ │   │ │   │ │   │ │  ╱ ",
     "│    │   │ │   │ │   │ │   │ │ ╱  ",
     "│    │   │ │   │ ├───┤ │  ╱│ │╱   ",
     "│    │   │ │   │ │   │ │ ╱ │ │╲   ",
     "│    │   │ │   │ │   │ │╱  │ │ ╲  ",
     "│    │   │ │   │ │   │ │   │ │  ╲ ",
     "╵    └───┘ ╵   ╵ ╵   ╵ ╵   ╵ ╵   ╵",
     "                      Версия 2.00 ",
   ]
   print(cl.grey(lines[0]))
   print(cl.b(lines[1]))
   print(cl.g(lines[2]))
   print(cl.cyan(lines[3]))
   print(cl.r(lines[4]))
   print(cl.magenta(lines[5]))
   print(cl.y(lines[6]))
   print(cl.w(lines[7]))
   print(cl.g(lines[8]))
Ejemplo n.º 11
0
  def meetGod(self):
    def meetGodImpl(person):
      '''Реализация случайного благославления'''
      choice = random.choice([0, 1, 2, 3, 4, 5, 6])
      god_say = ""
      if choice == 0:
        god_say += cl.b("Да увеличится, офигенно, твоя понтовость среди гопоты!\n")
        god_say += cl.b("Получи 100!")
        person.pont += 100
      elif choice == 1:
        god_say += cl.b("Да увеличится твоя понтовость!")
        person.increaseExp(self.person.nextLevelSkill() - person.skill)
      elif choice == 2:
        god_say += cl.b("Да увеличится твоя сила!")
        person.strength += 1
        person.current_health = person.getMaxHealth()
      elif choice == 3:
        god_say += cl.b("Да возрастут твои силы жизненные!")
        person.vitality += 1
        person.current_health = person.getMaxHealth()
      elif choice == 4:
        god_say += cl.b("Да уменьшится твоя корявость!")
        person.agility += 1
      elif choice == 5:
        god_say += cl.b("Накладываю на тебя защиту!")
        person.shield += 1
      elif choice == 6:
        god_say += cl.b("Дарю тебе феньку!")
        variants = [artefacts.GodSaveRing(), artefacts.GodHelpRing(), artefacts.MegaRing(), artefacts.GodForgiveRing()]
        artefact = random.choice(variants)
        if artefact.description != "":
          god_say += "\n" + cl.b(artefact.description)
        person.artefacts.append(artefact)
      input(god_say)

    input(cl.w("Бродя по окрестностям с самыми грязными намерениями..."))
    input(cl.w("Ты наткнулся на храм Божий."))
    if self.church_visited_ctr == 0:
      input(cl.w("Раз такая батва..."))
      input(cl.w("Надо типа помолиться Господу Богу..."))
      input(cl.w("Как делают новые руссские."))
      input(cl.g("\"Господи, Братан, прости грешника\". - Начал было ты..."))
      input(cl.b("Громовой голос: \"Да пошёл ты нахрен!\""))
      input(cl.g(" - Эээ.. типа.. а чё?.."))
      input(cl.b(" - \"а чё?\" блин! ") + self.person.name + cl.b("-" + str(self.person.person_type) + " чёртов!"))
      input(cl.g("Ну.."))
      input(cl.b("Ладна насылаю на тебя, типа, \"моё благославление\""))
      meetGodImpl(self.person)
      print(cl.b("А теперь вали отсюда и никогда здесь не появляйся!"))
      print("")
      print(cl.w("Ты идёшь дальше"))
      print(cl.w("Ничё не происходит"))
    elif self.church_visited_ctr == 1:
      input(cl.w("В прошлый раз Бог сказал чтобы ты не осквернял своей рожей святой храм"))
      input(cl.w("Но надо бы типа помолиться о прощении"))
      input(cl.g("\"Господи, Братан, прости грешника опять\"."))
      input(cl.b("Бог: \"Да блин, упорный чудак!\""))
      input(cl.b("Ладно насылаю на тебя, типа, \"моё благославление\" снова"))
      meetGodImpl(self.person)
    else:
      input(cl.b("Бог: \"А ты опять.\""))
      input(cl.b("Ну ладно насылаю на тебя \"благославление\""))
      meetGodImpl(self.person)
      print(cl.b("А теперь проваливай!"))
    self.church_visited_ctr += 1
Ejemplo n.º 12
0
 def __str__(self):
     result = cl.g("Ты {0} {1} уровня - {2}\n".format(
         str(self.person_type), str(self.level), self.levelStr()))
     result += cl.g("А зовут тебя: ")
     result += self.name
     result += "\n"
     result += cl.y(
         "Сейчас у тебя {0} опыта, а для прокачки надо {1}\n".format(
             self.skill, self.nextLevelSkill()))
     result += cl.w("Сл:") + self.eff_strength_s() + cl.w(
         " Лв:") + self.eff_agility_s() + cl.w(
             " Жв:") + self.eff_vitality_s() + cl.w(
                 " Уд:") + self.eff_luck_s() + "\n"
     simple_artefacts_str = cl.w("Феньки:")
     simple_artefacts_count = 0
     power_artefacts_str = cl.w("Мощные феньки:")
     power_artefacts_count = 0
     for a in self.artefacts:
         if a.is_powerful:
             power_artefacts_count += 1
             power_artefacts_str += cl.b(" {0}".format(str(a)))
         else:
             simple_artefacts_count += 1
             simple_artefacts_str += cl.b(" {0}".format(str(a)))
     if simple_artefacts_count > 0:
         result += simple_artefacts_str
         result += "\n"
     if power_artefacts_count > 0:
         result += power_artefacts_str
         result += "\n"
     if self.mobile:
         result += cl.lb("У тебя есть мобильник\n")
     if self.sun_glass:
         result += cl.lb("У тебя есть тёмные очки\n")
     if self.tattoo:
         result += cl.lb("На тебе зоновская наколка\n")
     weaponstr = "Урон {0}-{1}".format(self.getMinStrike(),
                                       self.getMaxStrike())
     if (len(self.weapons) > 0):
         weaponstr += "    "
         for w in self.weapons:
             weaponstr += str(w)
             weaponstr += " "
         weaponstr = cl.lb(weaponstr)
     else:
         weaponstr = cl.w(weaponstr)
     weaponstr += "\n"
     result += weaponstr
     healthstr = "Здоровье {0}/{1}".format(self.current_health,
                                           self.getMaxHealth())
     if self.jaw_shield:
         healthstr += cl.b(" Зубная защита")
     if self.broken_leg:
         healthstr += cl.r(" Сломана нога")
     if self.broken_jaw:
         healthstr += cl.r(" Сломана челюсть")
     healthstr += "\n"
     if self.current_health > (self.getMaxHealth() * 2 / 3):
         result += cl.g(healthstr)
     elif self.current_health > (self.getMaxHealth() * 1 / 3):
         result += cl.y(healthstr)
     else:
         result += cl.r(healthstr)
     strikes = self.getStrikesAccuracy()
     accstr = ""
     if len(strikes) == 1:
         accstr = "Точность {0}%\n".format(strikes[0])
     elif len(strikes) == 2:
         accstr = "Точность 90%,   Второй удар {0}%\n".format(strikes[1])
     else:
         accstr = "Точность 90% - {1} ударов, Точность {2} удара {3}%\n".format(
             len(strikes) - 1, len(strikes), strikes[len(strikes) - 1])
     result += cl.w(accstr)
     if (len(self.shields) > 0):
         shieldstr = "Броня {0}".format(self.shield)
         shieldstr += "    "
         for s in self.shields:
             shieldstr += str(s)
             shieldstr += " "
         shieldstr += "\n"
         result += cl.w(shieldstr)
     if (self.pot > 0):
         result += cl.w("Косяки {0}\n".format(self.pot))
     if self.beer > 0:
         result += cl.w("Пиво {0}л.\n".format(round(self.beer, 1)))
     else:
         result += cl.r("Пива нет\n")
     if self.money > 0:
         result += cl.w("Бабки {0}".format(self.money))
     else:
         result += cl.r("Бабок нет")
     if self.stuff > 0:
         result += cl.w("\nХлам {0}".format(self.stuff))
     return result
Ejemplo n.º 13
0
 def eff_luck_s(self):
     val = self.eff_luck()
     if val == self.luck:
         return cl.w(str(val))
     else:
         return cl.b("{0}".format(val))
Ejemplo n.º 14
0
 def eff_vitality_s(self):
     val = self.eff_vitality()
     if val == self.vitality:
         return cl.w(str(val))
     else:
         return cl.b("{0}".format(val))
Ejemplo n.º 15
0
 def eff_strength_s(self):
     val = self.eff_strength()
     if val == self.strength:
         return cl.w(str(val))
     else:
         return cl.b("{0}".format(val))