Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- ==============================================================================
- Project work about 'Mafia' game.
- Developer - JadeVater.
- Copyright - Semi.On Team, 2014.
- ------------------------------------------------------------------------------
- Programm is developed for creating logs of every game, simplizing of random
- defining of roles, etc.
- ------------------------------------------------------------------------------
- P.S. I very like apostrofs.
- ==============================================================================
- Проектная работа на основе игры "Мафия".
- Разработчик - JadeVater.
- Права разработки - Semi.On Team, 2014.
- ------------------------------------------------------------------------------
- Программа предназначена для создания логовой записи игры, упрощения случайного
- распределения ролей, ведения счёта и пр.
- ------------------------------------------------------------------------------
- P.S. Я очень люблю апострофы.
- ==============================================================================
- """
- """
- Importing library 'random'. It's neccesary for
- randomizing the proccess of defining the roles for players.
- ===========================================================
- Импорт библиотеки 'random', необходимой для реализации
- случайного распределения ролей среди игроков.
- """
- import random
- def copyrights():
- """
- This function is writed to increase self-esteem of developer.
- ==============================================================
- Эта функция необходима для демонстрации важности разработчика.
- """
- print('====================================================================\n')
- print('\tRandomizer for \'Mafia\' 1.1\n\tDeveloped by JadeVater, Semi.On Team, 2014.\n\tAll rights reserved.\n\tSpecial thanks to Guido Van Rossum for Python language.\n\n')
- print('====================================================================\n')
- pr_language()
- def pr_language():
- """
- Function 'pr_language' is used to selecting of user's interface language.
- It's returns variable 'lang', used to selected language of phrases.
- ==================================================================================
- Функция 'pr_language' предназначена для выбора пользовательского языка интерфейса.
- Возвращаемая ей переменная 'lang' используется для определения языка фраз.
- """
- print('Select the program interface language: (eng/rus)\n')
- lang = input()
- if lang == 'eng':
- print('\nEnglish language selected.\n')
- elif lang == 'rus':
- print('\nВыбран русский язык.\n')
- else:
- print('\nUnknown language! English language selected by default.\n')
- lang = 'eng'
- print('====================================================================\n')
- listed(lang)
- def listed(lang):
- """
- Function 'listed' is used to create tuple of players and their roles.
- It's returns lists 'player_list' and 'roles', what displays game's config.
- =======================================================================================
- Функция 'listed' предназначена для создания списков игроков и определения их ролей.
- Возвращаемые ей кортежи 'player_list' и 'roles' позволяют определить игровое положение.
- """
- # Defining number of players.
- # Определение количества игроков.
- if lang == 'eng':
- print('Select number of players:\n')
- else:
- print('Введите количество игроков:\n')
- num = int(input())
- # Defining number of mafia.
- # Определение количества мафии.
- if lang == 'eng':
- print('\nSelect number of mafias:\n')
- else:
- print('\nВведите количество мафиози:\n')
- maf_number = int(input())
- print('\n====================================================================\n')
- # Defining variables of function.
- # Определение переменных функции.
- iter = 0
- player_list = []
- # Realizing of fulfilling tuple of players and defining their roles.
- # Реализация заполнения массива с игроками и определение их ролей.
- while iter < num:
- if lang == 'eng':
- print('\nEnter name of player #', iter + 1, ':\n')
- else:
- print('\nВведите имя игрока №', iter + 1, ':\n')
- player_cash = input()
- player_list.append(player_cash)
- iter += 1
- print('====================================================================\n')
- # Defining of roles.
- # Распределение ролей.
- iter = 0
- if lang == 'eng':
- roles = ['commissar', 'doctor', 'night\'s butterfly']
- while iter < maf_number:
- roles.append('mafia')
- iter += 1
- while len(roles) < len(player_list):
- roles.append('citizen')
- else:
- roles = ['комиссар', 'доктор', 'ночная бабочка']
- while iter < maf_number:
- roles.append('мафия')
- iter += 1
- while len(roles) < len(player_list):
- roles.append('горожанин')
- """
- List is fulfillng by main game scheme.
- Function 'random.shuffle' is using to pseudorandomize
- process of defining the roles.
- ======================================================
- Кортеж заполняется согласно стандартной игровой схеме.
- Функция 'random.shuffle' используется для введения
- псевдослучайности при распределении ролей.
- """
- random.shuffle(roles)
- # Printing of player's list and roles
- # Вывод на экран игроков и ролей
- if lang == 'eng':
- print('Player\t\tRole\n')
- else:
- print('Игрок\t\tРоль\n')
- print('====================================================================\n')
- iter = 0
- while iter < len(player_list):
- print('\n', player_list[iter], '\t\t', roles[iter])
- iter += 1
- print('\n====================================================================\n')
- game(lang, player_list, roles)
- def game(lang, player_list, roles):
- """
- Today it's the cap, 'cause this
- part of code isn't completed.
- ================================
- Пока здесь всего лишь заглушка,
- т.к. эта часть кода не написана.
- """
- if lang == 'eng':
- print('Good luck \'n\' have fun!')
- moar = input('\n\nWant to randomize one more time? (y/n) ')
- else:
- print('Удачной и весёлой игры!')
- moar = input('\n\nХотите воспользоваться программой ещё раз? (y/n) ')
- if moar == 'y':
- print('\n====================================================================\n')
- listed(lang)
- """
- Планировка развития кода:
- 1. Написать функции игрового процесса
- 2. Написать функцию написания лога игрового процесса в текстовый документ
- 3. Задокументировать все функции кода
- 4. Внедрить try-except для обработки исключений при выборах.
- 5. ---
- 22.12.2014, 15:28
- """
- def start():
- copyrights()
- # Start point of script.
- # Точка старта скрипта.
- copyrights()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement