Advertisement
Guest User

Untitled

a guest
Mar 29th, 2020
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. def printStart():
  2. import random
  3. print(r"""
  4. _ _
  5. | | | |
  6. | |__| | __ _ _ __ __ _ _ __ ___ __ _ _ __
  7. | __ |/ _` | '_ \ / _` | '_ ` _ \ / _` | '_ \
  8. | | | | (_| | | | | (_| | | | | | | (_| | | | |
  9. |_| |_|\__,_|_| |_|\__, |_| |_| |_|\__,_|_| |_|
  10. __/ |
  11. |___/""" ,"6")
  12.  
  13.  
  14.  
  15. def try_update_letter_guessed(letter_guessed, old_letters_guessed):
  16. if letter_guessed.isalpha() and len(letter_guessed)==1 and letter_guessed.lower() not in old_letters_guessed:
  17. old_letters_guessed.append(letter_guessed.lower())
  18. return True
  19. else:
  20. print('X')
  21. old_letters_guessed.sort()
  22. print(' -> '.join(old_letters_guessed))
  23. return False
  24.  
  25.  
  26. def show_hidden_word(secret_word, old_letters_guessed):
  27. hidden_word = secret_word
  28. for letter in secret_word:
  29. if letter not in old_letters_guessed:
  30. hidden_word = hidden_word.replace(letter, "_")
  31. return " ".join(hidden_word)
  32.  
  33.  
  34. def check_valid_input(letter_guessed, old_letters_guessed):
  35. if letter_guessed.isalpha() and len(letter_guessed)==1 and letter_guessed.lower() not in old_letters_guessed:
  36. return True
  37. else:
  38. return False
  39.  
  40.  
  41. def print_hangman(num_of_tries):
  42. photo = {1 : r"""x-------x""", 2 : r"""x-------x
  43. |
  44. |
  45. |
  46. |
  47. |""", 3 : r"""x-------x
  48. | |
  49. | 0
  50. |
  51. |
  52. |""", 4 : r"""x-------x
  53. | |
  54. | 0
  55. | |
  56. |
  57. |""", 5 : r"""x-------x
  58. | |
  59. | 0
  60. | /|\
  61. |
  62. |""", 6 : r"""x-------x
  63. | |
  64. | 0
  65. | /|\
  66. | /
  67. |""", 7 : r"""x-------x
  68. | |
  69. | 0
  70. | /|\
  71. | / \
  72. |"""}
  73.  
  74. print(photo[num_of_tries])
  75.  
  76. return
  77.  
  78. def choose_word(file_path, index):
  79. finish_list = []
  80. open_f = open(file_path, "r")
  81. read_f = open_f.read()
  82.  
  83. split_list = read_f.split(" ")
  84. number = index - 1
  85. while number >= len(split_list):
  86. number = number- len(split_list)
  87. choice = split_list[number]
  88. for word in split_list:
  89. if word not in finish_list:
  90. finish_list.append(word)
  91. finish = (len(finish_list), choice)
  92. return finish
  93.  
  94.  
  95.  
  96. def check_win(secret_word, old_letters_guessed):
  97. count=0
  98. for letter in secret_word:
  99. if letter in old_letters_guessed:
  100. count +=1
  101. if count == len(secret_word):
  102. return True
  103. else:
  104. return False
  105.  
  106.  
  107. printStart()
  108.  
  109. win = False
  110. num_of_tries=0
  111.  
  112. file_path = input("Enter file path: ")
  113. index= int(input("Enter index: "))
  114. secret_word = choose_word(file_path, index)
  115. print_hangman(num_of_tries)
  116. print(show_hidden_word(secret_word, old_letters_guessed))
  117. print("Let's start!")
  118.  
  119. while win != True and win<7:
  120. show_hidden_word(secret_word, old_letters_guessed)
  121. while check == False:
  122. letter_guessed = input("guess a letter:")
  123. check= try_update_letter_guessed(letter_guessed, old_letters_guessed)
  124. if letter_guessed in secret_word:
  125. print(show_hidden_word(secret_word, old_letters_guessed))
  126. else:
  127. print(":(")
  128. num_of_tries = num_of_tries+1
  129. print_hangman(num_of_tries)
  130. print(show_hidden_word(secret_word, old_letters_guessed))
  131.  
  132. win = check_win(secret_word, old_letters_guessed)
  133. print(num_of_tries)
  134. check= False
  135. if num_of_tries == 7:
  136. print("LOSE")
  137. if win == True:
  138. print("WIN")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement