1400_SpaceCat

mdl_heroconf.py

Oct 24th, 2015
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 12.59 KB | None | 0 0
  1. from re import sub,UNICODE
  2. from os import system,path,chdir
  3. from random import randrange as rr
  4. from time import sleep as ts
  5. from mdl_magic import magic,Colors
  6.  
  7. class heroConf:
  8.     def __init__(self):
  9.         while ( True ):
  10.             magic.Clear()
  11.             magic.Dir()
  12.             hcChoice = str(input('''Выбор класса:
  13. \r1 - Воин
  14. \r2 - Волшебник
  15. \r3 - Охотник
  16.  
  17. \rОтвет: ''')).lower()
  18.  
  19.             if ( hcChoice == "1" or hcChoice == "воин" ):
  20.                 self.stuffCreator()
  21.  
  22.                 self.writeHeroStat(
  23.                     self.heroHealth,
  24.                     self.heroPunch,
  25.                     self.heroCurse,
  26.                     self.heroCurrentLocation,
  27.                     self.heroLevel,
  28.  
  29.                     self.heroHelmet,
  30.                     self.heroArmor,
  31.                     self.heroPants,
  32.                     self.heroBoots,
  33.                    
  34.                     self.heroHealthMiddle,
  35.                     self.heroHealthButtle,
  36.                     self.heroHealthButtleHPP,
  37.                     self.heroMeetingUnusually
  38.                     )
  39.  
  40.                 break
  41.            
  42.  
  43.             elif ( hcChoice == "2" or hcChoice == "волшебник" or hcChoice == "3" or hcChoice == "охотник" ):
  44.                 print("Not now")
  45.                 ts(2)
  46.  
  47.             else:
  48.                 print("Ошибка! < ",hcChoice," >")
  49.                 ts(2)
  50.  
  51.     def writeHeroStat(self,
  52.         heroHealth,
  53.         heroPunch,
  54.         heroCurse,
  55.  
  56.         heroMeetingUnusually,
  57.         heroCurrentLocation,
  58.         heroLevel,
  59.  
  60.         heroHelmet,
  61.         heroArmor,
  62.         heroPants,
  63.         heroBoots,
  64.        
  65.         heroHealthMiddle,
  66.         heroHealthButtle,
  67.         heroHealthButtleHPP):
  68.  
  69.         #var_name = lambda x:[ n for n in globals() if id(globals()[n]) == id(x) ][0]
  70.  
  71.         File = open("module/mdl_herosave.py","w+")
  72.         File.write("#-*- coding: cp1251 -*-#\nclass heroStat():")
  73.        
  74.         File.write("\n\theroHealth = "+str(self.heroHealth))
  75.         File.write("\n\theroPunch = "+str(self.heroPunch))
  76.         File.write("\n\theroCurse = "+str(self.heroCurse))
  77.  
  78.         File.write("\n\n\theroMeetingUnusually = "+str(self.heroMeetingUnusually))
  79.         File.write("\n\theroCurrentLocation = "+"u"+"\""+self.heroCurrentLocation+"\"")
  80.         File.write("\n\theroLevel = "+str(self.heroLevel))
  81.  
  82.         File.write("\n\n\theroHelmet = "+"u"+"\""+self.heroHelmet+"\"")
  83.         File.write("\n\theroArmor = "+"u"+"\""+self.heroArmor+"\"")
  84.         File.write("\n\theroPants = "+"u"+"\""+self.heroPants+"\"")
  85.         File.write("\n\theroBoots = "+"u"+"\""+self.heroBoots+"\"")
  86.  
  87.         File.write("\n\n\theroHealthMiddle = "+str(self.heroHealthMiddle))
  88.         File.write("\n\theroHealthButtle = "+str(self.heroHealthButtle))
  89.         File.write("\n\theroHealthButtleHPP = "+str(self.heroHealthButtleHPP))
  90.  
  91.         File.close()
  92.  
  93.     def stuff(self,stuffList):
  94.         for em in stuffList:
  95.             print(em[0])
  96.            
  97.         listQuanity = [value[0] for value in stuffList]
  98.  
  99.         self.chooseStuff = int(input("Выбор: "))
  100.         while( self.chooseStuff < ((len(listQuanity)-len(listQuanity))+1) or self.chooseStuff > len(listQuanity) ):
  101.             self.chooseStuff = int(input("Ошибка! Ввод: "))
  102.  
  103.     def stuffCreator(self):
  104.         while ( True ):
  105.        
  106.             '''
  107.              ___
  108.             /---\  -- helmet ; if heroLevel > 5 ; in fight: punch - (heroHealth + heroHealthMiddle);
  109.             \___/               if heroLevel < 5 ; in fight: punch - heroHealth
  110.            /|   |\ -- armor
  111.           //|___|\\
  112.           o \___/ o -- pants
  113.             | | |
  114.             | | |
  115.            === ===  -- boots
  116.             '''
  117.  
  118.             self.heroHealth = 0
  119.             self.heroPunch = 0
  120.             self.heroHealthMiddle = 0
  121.            
  122.             self.heroPower = 5
  123.             self.heroLucky = 5
  124.             self.heroSmart = 5
  125.             self.heroAttention = 5
  126.             self.heroAgility = 5
  127.  
  128.             self.heroMeetingUnusually = 0
  129.             self.heroCurrentLocation = ""
  130.            
  131.             self.heroHelmet = ""
  132.             self.heroArmor = ""
  133.             self.heroPants = ""
  134.             self.heroBoots = ""
  135.  
  136.             self.heroHealthButtle = 0
  137.             self.heroHealthButtleHPP = 0
  138.  
  139.             self.heroCurse = 0
  140.  
  141.             magic.Clear()
  142.             print("ВЫБОР ШЛЕМА\n========================================================")
  143.             self.heroHelmetList = [
  144.             #xNum "Stuff name", Hero middle health, Number of a unusually meeting
  145.             ("1 \"Стальной шлем славного рыцаря славного королества\"",3,1),
  146.             ("2 \"Древний древесный шлем из южных ведьменских лесов\"",2,2),
  147.             ("3 \"Проклятый стальной шлем из лесов тёмных ведьм\"",3,3),
  148.             ("4 \"Раскалённый шлем огненно-каменных земель Кронуса\"",4,4),
  149.             ("5 \"Зелёная, обтянутая сеткой каска с игральной картой\"",5,5),
  150.             ("6 \"Золотой шлем самого сэра Марка Мак-Миллона\"",6,6),
  151.             ]
  152.  
  153.             self.stuff(self.heroHelmetList)
  154.             self.heroHelmet = self.heroHelmetList[self.chooseStuff-1][0]
  155.             self.heroHelmet = sub('[\d+\"]','',self.heroHelmet)
  156.             self.heroHelmet = self.heroHelmet.lstrip(" ")
  157.             self.heroHealthMiddle += self.heroHelmetList[self.chooseStuff-1][1]
  158.             self.heroMeetingUnusually += self.heroHelmetList[self.chooseStuff-1][2]
  159.             print("//DEBUG: ",self.heroHelmet,self.heroHealthMiddle,self.heroMeetingUnusually)
  160.  
  161.             magic.Clear()
  162.             print("ВЫБОР БРОНИ\n==========================================================================")
  163.             self.heroArmorList = [
  164.             ("1 \" Поношенная стальная броня храброго рыцаря\"",6,1),
  165.             ("2 \" Древняя на вид броня из старого дерева из западных ведьменских лесов\"",4,2),
  166.             ("3 \" Проклятая-треснувшая броня из проклятых лесов\"",5,3),
  167.             ("4 \" Раскалённая броня из пасти древнего дракона\"",6,4),
  168.             ("5 \" Зелёная, немного поношенная рубаха со стильным карманчиком на груди\"",4,5),
  169.             ("6 \" Золотая броня Марка Мак-Миллона с рельефом на торсе\"",5,6),
  170.             ]
  171.  
  172.             self.stuff(self.heroArmorList)
  173.             self.heroArmor = self.heroArmorList[self.chooseStuff-1][0]
  174.             self.heroArmor = sub('[\d+\"]','',self.heroArmor)
  175.             self.heroArmor = self.heroArmor.lstrip(" ")
  176.             self.heroHealthMiddle += self.heroArmorList[self.chooseStuff-1][1]
  177.             self.heroMeetingUnusually += self.heroArmorList[self.chooseStuff-1][2]
  178.             print("//DEBUG: ",self.heroArmor,self.heroHealthMiddle,self.heroMeetingUnusually)
  179.  
  180.             magic.Clear()
  181.             self.heroPantsList = [
  182.             ("1 \" Немного потёртые штаны из кольчуги рыцаря\"",3,1),
  183.             ("2 \" Старые каштановые штаны с древесными наколенниками\"",2,2),
  184.             ("3 \" Почерневшие от чумы штаны обездвиженного война, с пятнами крови, из города Тромб\"",3,3),
  185.             ("4 \" Штаны прислужника огненного всадника третьей кавалерии странной крепости Пустых\"",4,4),
  186.             ("5 \" Тёмно-зелёные штаны с пятнами крови на правой штанине\"",5,5),
  187.             ("6 \" Золотые штаны самого Марка Мак-Миллона с прекрасным узором\"",5,6),
  188.             ]
  189.  
  190.             self.stuff(self.heroPantsList)
  191.             self.heroPants = self.heroPantsList[self.chooseStuff-1][0]
  192.             self.heroPants = sub('[\d+\"]','',self.heroPants)
  193.             self.heroPants = self.heroPants.lstrip(" ")
  194.             self.heroHealthMiddle += self.heroPantsList[self.chooseStuff-1][1]
  195.             self.heroMeetingUnusually += self.heroPantsList[self.chooseStuff-1][2]
  196.             print("//DEBUG: ",self.heroPants,self.heroHealthMiddle,self.heroMeetingUnusually)
  197.            
  198.             magic.Clear()
  199.             self.heroBootsList = [
  200.             ("1 \" Ботинки из кожи буйвола с металическими вставками на носках для смелых рыцарей\"",2,1),
  201.             ("2 \" Старые кожанные ботинки с деревянными вставками на носках\"",1,2),
  202.             ("3 \" Сапоги, покрытые сгустками тёмной, плохо пахнущей кровью второго полка мертвецов\"",2,3),
  203.             ("4 \" Обожённые сапоги солдата огненной армии с явными признаками опасности\"",3,4),
  204.             ("5 \" Ботинки, запачканные грязью тропических лесов славного парня 13-ой пехоты\"",2,5),
  205.             ("6 \" Золотые ботинки самого Марка Мак-Миллона с изящным узором вокруг носки\"",1,6),
  206.             ]
  207.  
  208.             self.stuff(self.heroBootsList)
  209.             self.heroBoots = self.heroBootsList[self.chooseStuff-1][0]
  210.             self.heroBoots = sub('[\d+\"]','',self.heroBoots)
  211.             self.heroBoots = self.heroBoots.lstrip(" ")
  212.             self.heroHealthMiddle += self.heroBootsList[self.chooseStuff-1][1]
  213.             self.heroMeetingUnusually += self.heroBootsList[self.chooseStuff-1][2]
  214.             print("//DEBUG: ",self.heroPants,self.heroHealthMiddle,self.heroMeetingUnusually)
  215.  
  216.             if ( self.heroMeetingUnusually == 4 ):
  217.                 print("Неплохие доспехи, о, славный рыцарь! Надеюсь, не заржавеешь.")
  218.                 self.heroCurrentLocation = "Деревня Мраморного Титана"
  219.                 self.heroHealthButtle += 3
  220.                 self.heroHealthButtleHPP += rr(2,6)
  221.                 self.heroCurse = 0
  222.  
  223.             elif ( self.heroMeetingUnusually == 8):
  224.                 print('Древесина -- это дешёвая и "сердитая" броня. Надеюсь, не сгоришь.')
  225.                 self.heroCurrentLocation = "Лес ведьм Оа"
  226.                 self.heroHealthButtle += 4
  227.                 self.heroHealthButtleHPP += rr(3,8)
  228.                 self.heroCurse = 0
  229.  
  230.             elif ( self.heroMeetingUnusually == 16 ):
  231.                 print("Кровь, гниль, запах разлагающийся плоти... Ты откуда, чёрт тебя побери?")
  232.                 self.heroCurrentLocation = "Город 'Тромб'"
  233.                 self.heroHealthButtle += 2
  234.                 self.heroHealthButtleHPP += rr(1,10)
  235.                 self.heroCurse = 1
  236.  
  237.             elif ( self.heroMeetingUnusually == 20 ):
  238.                 print("Запах серы и жар твоего тела дают понять, что в сосуде твоём неисчислимое множество гневных душ.")
  239.                 self.heroCurrentLocation = "Ржавий лес"
  240.                 self.heroHealthButtle += 2
  241.                 self.heroHealthButtleHPP += rr(3,10)
  242.                 self.heroCurse = 1
  243.  
  244.             elif ( self.heroMeetingUnusually == 24 ):
  245.                 print("Грязь и кровь чужой родины оставили кровавые язвы в твоём проклятом сердце.")
  246.                 self.heroCurrentLocation = "Центр мира"
  247.                 self.heroHealthButtle += 2
  248.                 self.heroHealthButtleHPP += rr(2,7)
  249.                 self.heroCurse = 0
  250.  
  251.             elif ( self.heroMeetingUnusually == 26 ):
  252.                 print("Ты похожь на золотистый самовар.")
  253.                 self.heroCurrentLocation = "Деревня Мак-Миллона"
  254.                 self.heroHealthButtle += 3
  255.                 self.heroHealthButtleHPP += rr(2,6)
  256.                 self.heroCurse = 0
  257.  
  258.             else:
  259.                 print("Что ж, вперёд на встречу приключениям.")
  260.                 self.heroCurrentLocation = "Пристань 'Центр Мира'"
  261.                 self.heroHealthButtle += rr(2,4)
  262.                 self.heroHealthButtleHPP += rr(2,10)
  263.                 self.heroCurse = 0
  264.  
  265.             self.heroHealthMiddle = self.heroHealthMiddle / 4
  266.             self.heroLevel = 1
  267.             self.heroHealth = 40
  268.             self.heroPunch = 5
  269.  
  270.             endQuestion = str(input("Вас устраивают характеристики вашего героя? [y/n] ")).lower()
  271.             if ( endQuestion == "y" ):
  272.                 break
  273.  
  274.             elif ( endQuestion == "n" ):
  275.                 continue
  276.  
  277.             else:
  278.                 print("М-м-м? Что-то не так, странник?")
  279.                
  280.                
  281.     def characteristicsCreator(self):
  282.         for c in range(2):
  283.             print("Выбор качеств персонажа\n===============================Выберите "+magic.Colors.sred+"ДВЕ"+magic.Colors.endc+"характеристики!")
  284.            
  285.             #1 "CharName", CharPoint
  286.             self.heroCharsList = [
  287.             ("Сила",5),
  288.             ("Ловкость",4),
  289.             ("Ум",2),
  290.             ("Бдительность",3),
  291.             ("Удача",2)
  292.             ]
  293.            
  294.             self.stuff(self.heroCharsList)
  295.            
  296.             heroHealthMiddle += self.heroPantsList[self.chooseStuff-1][1]
  297.            
  298.             if ( self.chooseStuff == 1 ):   self.heroPower     += self.heroCharsList[self.chooseStuff-1][1]
  299.             elif ( self.chooseStuff == 2 ): self.heroAgility   += self.heroCharsList[self.chooseStuff-1][1]
  300.             elif ( self.chooseStuff == 3 ): self.heroSmart     += self.heroCharsList[self.chooseStuff-1][1]
  301.             elif ( self.chooseStuff == 4 ): self.heroAttention += self.heroCharsList[self.chooseStuff-1][1]
  302.             elif ( self.chooseStuff == 5 ): self.heroLucky     += self.heroCharsList[self.chooseStuff-1][1]
  303.            
  304.             self.heroPower += self.heroPunch
  305.             #self.heroAgility +=
  306.             #self.heroSmart +=
  307.             #self.heroAttention +=
  308.             #self.heroLucky +=
Advertisement
Add Comment
Please, Sign In to add comment