83 lines
1.9 KiB
Python
83 lines
1.9 KiB
Python
"""This module has all the building blocks for a nice 16-is-dead user interface"""
|
|
|
|
__author__ = ""
|
|
__credits__ = ""
|
|
__email__ = ""
|
|
|
|
import time
|
|
import os
|
|
|
|
|
|
def dice_animation():
|
|
'''
|
|
This functions prints the rolling dice animation
|
|
return: None
|
|
'''
|
|
for i in range(4):
|
|
plz_print('dice_animation1.txt')
|
|
time.sleep(0.25)
|
|
clear()
|
|
plz_print('dice_animation2.txt')
|
|
time.sleep(0.25)
|
|
clear()
|
|
|
|
|
|
def plz_print(filename):
|
|
'''
|
|
This functions reads a file line by line
|
|
and prints it in on call.
|
|
return: None
|
|
'''
|
|
with open(filename, 'r', encoding='utf8') as f:
|
|
bigstring = ""
|
|
for line in f:
|
|
bigstring = bigstring + line
|
|
print('\n' + bigstring)
|
|
|
|
|
|
def clear():
|
|
'''
|
|
This functions clears the terminal screen,
|
|
it distinguishes between Linux and Windows
|
|
But it does not work in pycharm or idle.
|
|
return: None
|
|
'''
|
|
if os.name == 'nt': # for windows
|
|
os.system('cls')
|
|
else: # for linux, mac
|
|
os.system('clear')
|
|
|
|
|
|
def pling(current_roll):
|
|
'''
|
|
This functions prints the animation of the dice result
|
|
return: None
|
|
'''
|
|
with open('pling_animation', 'r', encoding='utf8') as f:
|
|
big_string = ""
|
|
animations = []
|
|
scan_lines = ''
|
|
for line in f:
|
|
big_string = big_string + line
|
|
if line[0] == '$':
|
|
animations.append(big_string[:-2])
|
|
big_string = ''
|
|
|
|
dice_result = animations[current_roll[0] - 1]
|
|
for line in dice_result:
|
|
scan_lines += line
|
|
if line[0] == '#':
|
|
clear()
|
|
print(scan_lines[:-2])
|
|
time.sleep(0.5)
|
|
scan_lines = ""
|
|
|
|
|
|
def the_end():
|
|
'''
|
|
This functions prints the end screen.
|
|
return: None
|
|
'''
|
|
print("--------------------------\n\/\/\/\ SPIELENDE /\/\/\/\n--------------------------")
|
|
|