Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.75 KB | None | 0 0
  1. from minigames import *
  2. import minigames
  3. from mob import *
  4. import functools
  5.  
  6.  
  7. class Level:
  8. def __init__(self, rooms, number):
  9. self.rooms = rooms
  10. self.number = number
  11. # self.games = games
  12.  
  13. def can_move(self, x, y):
  14. if x in [0, 1] and y in [0, 1, 2]:
  15. return True
  16. return False
  17.  
  18. def print_map(self, x, y):
  19. print(""" ___________________
  20. | | |
  21. |Magazyn I | |
  22. | |
  23. |__ ______| |
  24. | | Magazyn |
  25. |Toaleta|______II___|
  26. | |
  27. | | Zaplecze |
  28. |___ __|______ ___|
  29. | | |
  30. | Recepcja Biuro |
  31. | | |
  32. | | |
  33. |__________|________|""")
  34.  
  35. def is_cleared(self):
  36. rooms_with_quest = []
  37. for row in self.rooms:
  38. for room in row:
  39. if room.quest is not None:
  40. rooms_with_quest.append(room)
  41. is_cleared = True
  42. for room in rooms_with_quest:
  43. is_cleared = is_cleared and room.quest.completed
  44. return is_cleared
  45.  
  46.  
  47. class Room:
  48. def __init__(self, name, description, x, y, items, quest, enemy):
  49. self.name = name
  50. #self.description = description
  51. self.x = x
  52. self.y = y
  53. self.items = items
  54. self.quest = quest
  55. self.enemy = enemy
  56.  
  57. def __str__(self):
  58. return self.name #+ ' - ' + self.description.lower()
  59.  
  60. def __repr__(self):
  61. return self.name
  62.  
  63. #def enter(self):
  64. # print(self.description)
  65.  
  66.  
  67. def level_gen(number_of_levels):
  68. levels = []
  69. lvl_1 = open("lvl_1.txt", 'r', encoding="utf8")
  70. lvl_2 = open("lvl_2.txt", 'r', encoding="utf8")
  71. room_3 = None
  72. for n in range(number_of_levels):
  73. if n == 0:
  74. rooms = room_gen(lvl_1, n + 1)
  75. levels.append(Level(rooms, n + 1))
  76. if n == 1:
  77. rooms = room_gen(lvl_2, n + 1)
  78. levels.append(Level(rooms, n + 1))
  79. lvl_1.close()
  80. lvl_2.close()
  81. return levels
  82.  
  83.  
  84. def room_gen(rooms_d, lvl_no):
  85. rooms_out = []
  86. if lvl_no == 1:
  87. for i in range(3):
  88. rooms_in = []
  89. for j in range(2):
  90. rooms_desc = (rooms_d.readline().rstrip(), rooms_d.readline().rstrip(), rooms_d.readline().rstrip(), rooms_d.readline().rstrip(), rooms_d.readline().rstrip())
  91. if i == 2 and j == 0:
  92. rooms_in.append(Room(rooms_desc[0], rooms_desc[1], j, i, [], Quest(minigames.tic_tac_toe), None))
  93.  
  94. elif i == 1 and j == 0:
  95. rooms_in.append(Room(rooms_desc[0], rooms_desc[1], j, i, [], Quest(minigames.hangman), None))
  96.  
  97. elif i == 0 and j == 0:
  98. rooms_in.append(Room(rooms_desc[0], rooms_desc[1], j, i, [], Quest(minigames.guess_number), None))
  99.  
  100. elif i == 2 and j == 1:
  101. rooms_in.append(Room(rooms_desc[0], rooms_desc[1], j, i, [], Quest(minigames.what_is_it), None))
  102.  
  103. elif i == 1 and j == 1:
  104. rooms_in.append(Room(rooms_desc[0], rooms_desc[1], j, i, [], Quest(minigames.rock_paper_scissors), None))
  105.  
  106. elif i == 0 and j == 1:
  107. rooms_in.append(Room(rooms_desc[0], rooms_desc[1], j, i, [], None, Enemy(
  108. "troll", {"health": 200, "strength": 50}
  109. )))
  110.  
  111. if lvl_no == 2:
  112. for i in range(3):
  113. rooms_in = []
  114. for j in range(2):
  115. rooms_desc = (rooms_d.readline().rstrip(), rooms_d.readline().rstrip(), rooms_d.readline().rstrip(), rooms_d.readline().rstrip(), rooms_d.readline().rstrip())
  116. if i == 2 and j == 0:
  117. rooms_in.append(Room(rooms_desc[0], rooms_desc[1], j, i, [], Quest(minigames.tic_tac_toe), None))
  118.  
  119. elif i == 1 and j == 0:
  120. rooms_in.append(Room(rooms_desc[0], rooms_desc[1], j, i, [], Quest(minigames.hangman), None))
  121.  
  122. elif i == 0 and j == 0:
  123. rooms_in.append(Room(rooms_desc[0], rooms_desc[1], j, i, [], Quest(minigames.guess_number), None))
  124.  
  125. elif i == 2 and j == 1:
  126. rooms_in.append(Room(rooms_desc[0], rooms_desc[1], j, i, [], Quest(minigames.what_is_it), None))
  127.  
  128. elif i == 1 and j == 1:
  129. rooms_in.append(Room(rooms_desc[0], rooms_desc[1], j, i, [], Quest(minigames.rock_paper_scissors), None))
  130.  
  131. elif i == 0 and j == 1:
  132. rooms_in.append(Room(rooms_desc[0], rooms_desc[1], j, i, [], None, Enemy(
  133. "troll", {"health": 200, "strength": 50}
  134. )))
  135.  
  136.  
  137. rooms_out.append(rooms_in)
  138. return rooms_out
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement