Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. '''This class describes government officials, the only enemies of the game.'''
  2.  
  3. import random
  4. import time
  5. from blessings import Terminal
  6.  
  7. import text
  8.  
  9. t = Terminal()
  10.  
  11.  
  12. class Bureaucrat:
  13.     '''A government employee who works at the Institution.'''
  14.     def __init__(self):
  15.         self.gender = random.random()
  16.         if self.gender >= 0.505:
  17.             self.gender = 'Her'  # the gender is female (~49,5%)
  18.         elif self.gender < 0.505 and self.gender >= 0.01:
  19.             self.gender = 'His'  # the gender is male (~49,5%)
  20.         else:
  21.             self.gender = "The bureaucrat's"  # the gender is intersex (~1%)
  22.         self.rank = random.choice(['low', 'medium', 'high'])
  23.         self.mood = random.choice(['bad', 'average', 'good'])
  24.         self.greet()  # new bureaucrats automatically greet the player
  25.         time.sleep(1)
  26.  
  27.     def greet(self):
  28.         '''A random greeting from a government employee.'''
  29.         if self.rank == 'low':
  30.             self.stars = ' ★ '  # stars are displayed depending on the rank
  31.         elif self.rank == 'medium':
  32.             self.stars = ' ★★ '
  33.         else:  # the bureauract's rank is high
  34.             self.stars = ' ★★★ '
  35.         if self.mood == 'bad':
  36.             print(self.stars + random.choice(text.emoticons_bad_mood) +
  37.                   self.stars)  # emoticons are displayed with stars
  38.         elif self.mood == 'average':
  39.             print(self.stars + random.choice(text.emoticons_average_mood) +
  40.                   self.stars)
  41.         else:  # the bureaucrat's mood is good
  42.             print(self.stars + random.choice(text.emoticons_good_mood) +
  43.                   self.stars)
  44.         # a random greeting is chosen from the list
  45.         print('\n' + random.choice(text.bureaucrat_greetings) + '\n')
  46.         time.sleep(1)
  47.         print('A wild bureaucrat of a {} rank appears!\n'.format(
  48.               t.bold(self.rank)) + '{} mood seems to be {}.\n'.format(
  49.               self.gender, t.bold(self.mood)))