Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import *
- from pprint import *
- from admin_pass import *
- from function import *
- words = dict()
- with open('word.txt', 'r') as file: #открываем файл для считывания
- for line in file:
- key, *value = line.split() # *value - список из слов
- words[key] = ' '.join(value) #cборка списка в 1 строку
- print('='*75)
- print(' '*25+'Курсовая работа по теме \nРазработка программного обеспечения для компьютерной игры «Поле чудес»')
- print(' '*17+'Разработана студентом группы АБ-хх, name')
- print('='*75)
- status = True
- answer = input('\n\nВыберите режим Администратор или Игрок (admin/player): \n ->').lower()
- if answer == 'admin':
- answer = input('Введите пароль: ')
- if answer == paswd:
- admin_mode = True
- while admin_mode:
- print('\nДоступные функции:')
- print('1) Cоздать список слов')
- print('2) Просмотр списка слов')
- print('3) Корректировка списка слов')
- print('4) ВЫХОД')
- answer = int(input('-> '))
- if answer == 1:
- words = newWords()
- elif answer == 2:
- words = updateWords()
- pprint(words)
- elif answer == 3:
- print('\n1. Удаление')
- print('2. Добавление')
- print('3. Корректировка')
- answer = int(input('->'))
- if answer == 1:
- pprint(words)
- answer = input('Слово для удаления - ')
- word = deleteWord(words, answer)
- elif answer == 2:
- pprint(words)
- print('Пара слово/подсказка для добавления - ')
- new_word = input('Новое слово - ').lower()
- new_hint = input('Новая подсказка - ').lower()
- words = newWord(words, new_word, new_hint)
- elif answer == 3:
- words = correctWords(words)
- elif answer == 4:
- admin_mode = False
- else:
- print('Пароль не верен! Переход в режим игрока!')
- answer = 'player'
- else:
- print('Команда не распознана. Режим игрока')
- answer = 'player'
- if answer == 'player':
- num_of_ppl = int(input('Введите количество игроков: '))
- dict_of_plyrs = dict()
- lst_name = list()
- for i in range(num_of_ppl):
- lst_name.append(input('Ник игрока [{}] - '.format(i+1))) #заводим список с именами
- dict_of_plyrs[i] = 5 #рейтинг игрока (по заданию у них уже есть какое то количество баллов)
- # получается такая система
- # список имен [masha, sasha, petya]
- # словарь с рейтингом
- # {0:5,
- # 1:5,
- # 2:5}
- # сопостовляем список и словарь - маша(индекс 0) - 5 очков, саша(индекс 1) - 5 очков тд
- close_word = choice(list(words.keys()))#выбираем случайное слово из списка слов
- hint = words[close_word] #берем подсказку для этого слова
- open_word = ['*' for i in close_word] #скрытое слово для игрока. выглядит как ********
- counter = len(close_word)#счетчик = длинне слова
- history_answer = set() #история, для букв которые уже вводились (без нее можно фармить очки вводя одну и ту же букву)
- print('\n\nНачинаем игру\nПодсказка - {}!'.format(hint))
- while counter > 0: #пока счетчик(количество скрытых букв больше 0)
- for i in range(num_of_ppl): #прокручиваем игроков
- print('\nХодит игрок - {}!'.format(lst_name[i]))
- print('Слово - ', ''.join(open_word)) #так как у нас открытое слово это список - собераем его в строку (для красоты)
- answer = input('Ваш ответ - ').lower()
- if len(answer) == 1 and answer in close_word: #если ответ это 1 буква и она находится в слове
- if answer not in history_answer: #защита от фарма
- history_answer.add(answer) #добавляем эту букву в историю
- for j in range(len(close_word)):
- if answer == close_word[j]: #проходимся по всему слову
- open_word[j] = answer #и свайпаем буквы
- counter -= 1
- dict_of_plyrs[i] += 1 #начисляем очко за каждую букву
- correctly = True
- else:
- print('Такая буква уже есть. Пропускаете ход')
- break
- elif answer not in close_word: #если буквы нет - отнимаем очко
- print('Такой буквы нет! -1 очко')
- dict_of_plyrs[i] -= 1
- correctly = False
- if correctly:
- answer = input('Вы хотите назвать слово? yes/no >').lower()
- if answer == 'yes':
- answer = input('Загаданное слово = ').lower()
- if answer == close_word:
- print('!!!! И У НАС ЕСТЬ ПОБЕДИТЕЛЬ - {} !!!!'.format(lst_name[i]))
- dict_of_plyrs[i] += len(close_word)
- counter = 0
- break
- else:
- print('Очень жаль. Идем к следующему\n\n')
- if counter == 0:
- print('Cлово найдено! - ', ''.join(open_word))
- break
- if answer == close_word: #если игрок ввел слово целиком
- print('!!!! И У НАС ЕСТЬ ПОБЕДИТЕЛЬ - {} !!!!'.format(lst_name[i]))
- dict_of_plyrs[i] += len(close_word)
- counter = 0
- break
- print('Имя / Очки')
- for i in range(num_of_ppl):
- print(lst_name[i], dict_of_plyrs[i])
- else:
- print('Команда не распознана\nexit.')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement