Exemple #1
0
def end_game():
    txt="Obca cywilizacja jest pod wrażeniem twoich dokonań, zapraszają Cię do wspólnej podrózy w kierunku anomalii"
    ui.print_text(txt,font_color=33)
    img= ui.get_ascii("./ascii_files/alien_head.txt")
    ui.display_ascii(img,font_colors=[32], spacing=5)
    input("=>")
    os.system('memes\Twardowsky2.png')
Exemple #2
0
def ferdek(player):
    x = player['player_x_position']
    y = player['player_y_position']
    if x == 1 and y == 4:
        txt=("Tu nie ma pracy dla ludzi z moim wykształceniem")
        ui.print_text(txt,font_color=36)
        im = ui.get_ascii("./ascii_files/ferdek.txt") #import text from ASCII file
        ui.display_ascii(im,font_colors=[37],spacing=5) #displays ASCII file with color defined by number
        input(" ")
        os.system('cls')
Exemple #3
0
def meme_function(board, player):
    x = player['player_x_position']
    y = player['player_y_position']
    
    if board[x][y] == MEME_ICON:
        os.system('memes\poland-cannot-into-space.jpg')
        txt=("Odnalazłeś starożytnego mema! Zdobywasz 3 gwiazdki!")
        ui.print_text(txt,font_color=36)
        player['player_*'] += 3
        board[x][y] = ''
Exemple #4
0
def schedule_for_the_day():
    ui.blank_line()
    FILE_PATH = "timetable_simple.csv"
    timetable = storage.get_table_from_file(FILE_PATH)
    timetable = sorting_list_by_start_time_of_the_meeting(timetable)

    ui.blank_line()
    ui.line_of_equals()
    ui.print_text("Your schedule for today:")
    if len(timetable) == 0:
        ui.print_text("(empty)")
    else:
        ui.print_schedule_for_the_day(timetable)
    ui.line_of_equals()
Exemple #5
0
def choose():
    # FILE_PATH = "timetable.csv"
    # timetable = storage.get_table_from_file(FILE_PATH)
    FILE_PATH = "timetable_simple.csv"
    timetable = storage.get_table_from_file(FILE_PATH)
    timetable = sorting_list_by_start_time_of_the_meeting(timetable)

    # TODO: printing for the specific day schedule!
    # inputs = ui.get_inputs(["Please enter a name of the day of the week"])
    # ui.print_one_day(timetable, inputs[0].lower())
    # ui.print_one_day(timetable, 'monday')

    inputs = ui.get_inputs(["Please enter a letter (s/c/u/q/t/e): "], "")
    option = inputs[0]
    if option == "s":
        ui.clear_terminal()
        ui.blank_line()
        print('-----------------------------')
        # timetable = [[""] * 24 for day in range(7)]  
        # timetable[0][15] = "meeting with Jane"
        # storage.write_table_to_file(FILE_PATH, timetable)

        storage.write_table_to_file(FILE_PATH, schedule(timetable))
        ui.print_text("Meeting added")
        ui.print_schedule_for_the_day(timetable)
    elif option == "c":
        # schedule_for_the_day()
        ui.print_enumerate_table(timetable)
        cancel_meeting(FILE_PATH, timetable)
    elif option == "u":
        ui.print_enumerate_table(timetable)
        to_be_updated = ui.get_inputs(['Insert index of file to update'], "UPDATING")
        storage.write_table_to_file(FILE_PATH, edit_a_meeting(timetable, find_title_by_index_from_enumerate_table(timetable, to_be_updated)))
    elif option == "t":
        total_hours = total_number_of_meeting_hours(timetable)
        ui.print_result(total_hours, "Total number of hours today:")

    elif option == 'e':
        compact_meetings(timetable)
    elif option == "q":
        print('Im in quiting')
        sys.exit(0)
    elif option == "????":
        pass

    else:
        raise KeyError("There is no such option.")
Exemple #6
0
def schedule(table):
    INDEX_OF_START_TIME_OF_MEETING = 2  
    # INDEX_OF_DURATION_OF_MEETING = 1      # NOT USED right nows

    is_running = True
    while is_running:
        ui.print_text('Schedule a new meeting')
        TITLE_LIST = ['Enter a meeting title ', 'Enter duration in hours (1 or 2): ', 'Enter start time: ']
        ask_input = ui.get_inputs(TITLE_LIST, 'Please enter information about a meeting')
        
        input_meeting_hour = int(ask_input[INDEX_OF_START_TIME_OF_MEETING])
        # input_meeting_duration = int(ask_input[INDEX_OF_DURATION_OF_MEETING]) # NOT USED right now
        # input_end_meeting_time = input_meeting_hour + input_meeting_duration      # NOT USED right now

        if input_meeting_hour >= 8 and input_meeting_hour <= 17:        # TODO: change magic numbers
            table.append(ask_input)
            is_running = False
            
            # TODO: It should not be possible to schedule a meeting that overlaps with existing meeting!!!!!!!!!!!!!!!!!!!!
            # for meeting in table:
            #     meeting_time = int(meeting[INDEX_OF_START_TIME_OF_MEETING])
            #     meeting_duration = int(meeting[INDEX_OF_DURATION_OF_MEETING])
            #     meeting_end_time = meeting_time + meeting_duration
                
            #     print(meeting_time)
            #     print(type(meeting_time))
            #     print(input_meeting_hour)
            #     print(type(input_meeting_hour))
                
            #     if meeting_time == input_meeting_hour or meeting_time == input_end_meeting_time or meeting_end_time == input_meeting_hour or meeting_end_time == input_end_meeting_time:
            #         ui.print_error_message("ERROR: Meeting overlaps with existing meeting!")
            #         break
            #     else:
            #         table.append(ask_input)
            #         print('I AM HEEEERE')
            #         is_running = False
            #         break
        else:
            ui.print_error_message("ERROR: Meeting is outside of your working hours (8 to 18)!")        # TODO: should ask again only about start time!
    
    # while True:
    #     copied_table = copy_table(table)
        
    #     if copied_table != table:
    #         break

    return table
Exemple #7
0
def quiz_function(board, player):
    x = player['player_x_position']
    y = player['player_y_position']
    quizzes = util.quiz_file_reader('quizzes.csv')
    if board[x][y] == QUIZ_ICON:
        quiz = random.choice(quizzes)
        quiz_read = quiz[0].split('|')
        for i in quiz_read:
            print(i)
        answer = input('Podaj odp.: ').lower
        if answer == quiz[1].lower:
            txt=('Dobra robota! Zdobywasz 5 gwiazdek!')
            ui.print_text(txt,font_color=36)
            player['player_*'] += 5
        else:
            txt=('Nie dobrze. Tracisz 30 HP')
            ui.print_text(txt,font_color=36)
            player['player_hp'] -= 30
        board[x][y] = ''
        quizzes.remove(quiz)
Exemple #8
0
def exchange_of_goods(player, inventory):
    x = player['player_x_position']
    y = player['player_y_position']
    if x == 9 and y == 13:
        im = ui.get_ascii("./ascii_files/meta.txt") #import text from ASCII file
        ui.display_ascii(im,font_colors=[37],spacing=5) #displays ASCII file with color defined by number
        txt=("Cześć, chcesz wymienić bigos i pierogi na ODLOTOWY PREPARAT?")
        ui.print_text(txt,font_color=36)
        choice = input("T / N: ")
        os.system('cls')
        if choice == "t":
            if inventory["Pierogi"] > 0 and inventory["Bigos"] > 0:
                inventory["Pierogi"] -= 1
                inventory["Bigos"] -= 1
                inventory["Ropa"] += 1
                return inventory
            if choice == "n":
                return inventory
    else:
        return inventory
Exemple #9
0
def edit_a_meeting(table, title_of_meeting):
    ui.print_text('Schedule a new meeting')
    TITLE_LIST = ['Enter a meeting title ', 'Enter duration in hours (1 or 2): ', 'Enter start time: ']
    ask_input = ui.get_inputs(TITLE_LIST, 'Please enter information about a meeting')
    
    INDEX_OF_TITLE_OF_MEETING_IN_TIMETABLE = 0
    INDEX_OF_DURATION_TIME_OF_MEETING_IN_TIMETABLE = 1
    INDEX_OF_START_TIME_OF_MEETING_IN_TIMETABLE = 2
    
    INDEX_OF_TITLE_OF_MEETING_IN_ASK_INPUT = 0
    INDEX_OF_DURATION_TIME_OF_MEETING_IN_ASK_INPUT = 1
    INDEX_OF_START_TIME_OF_MEETING_IN_ASK_INPUT = 2
    
    for title_of_meeting_to_edit, meeting in enumerate(table):
        if meeting[0] == title_of_meeting:
            meeting[INDEX_OF_TITLE_OF_MEETING_IN_TIMETABLE] = ask_input[INDEX_OF_TITLE_OF_MEETING_IN_ASK_INPUT]
            meeting[INDEX_OF_DURATION_TIME_OF_MEETING_IN_TIMETABLE] = ask_input[INDEX_OF_DURATION_TIME_OF_MEETING_IN_ASK_INPUT]
            meeting[INDEX_OF_START_TIME_OF_MEETING_IN_TIMETABLE] = ask_input[INDEX_OF_START_TIME_OF_MEETING_IN_ASK_INPUT]

    return table
Exemple #10
0
def remove(table, title):
    TITLE_INDEX_POSITION = 0
    list_with_meeting_to_remove = []

    for index, meeting in enumerate(table):
        if meeting[TITLE_INDEX_POSITION] == title:
            table.pop(index)
            list_with_meeting_to_remove.append(index)

    length_of_list_if_list_is_empty = 0
    if len(list_with_meeting_to_remove) == length_of_list_if_list_is_empty:
        ui.blank_line
        ui.print_dashes_for_canceling_error()
        ui.print_error_message("ERROR: There is no meeting starting at that time!")
        ui.print_dashes_for_canceling_error()
        ui.blank_line
    else:
        ui.print_text("Meeting canceled")

    return table
Exemple #11
0
def get_blasters(player, inventory):
    x = player['player_x_position']
    y = player['player_y_position']
    if x == 2 and y == 1:
        txt=("Czekasz w kolejce do pokoju, po chwili słyszysz swoje nazwisko i wchodzisz do środka")
        ui.print_text(txt,font_color=36)
        input(" ")
        os.system('cls')
        im = ui.get_ascii("./ascii_files/urzednik.txt") #import text from ASCII file
        ui.display_ascii(im,font_colors=[37],spacing=5) #displays ASCII file with color defined by number
        input(" ")
        txt=("Po obszernym wywiadzie dotyczącym Twojej sytuacji zawodowej otrzymujesz zasiłek dla bezrobotnych")
        ui.print_text(txt,font_color=36)
        input(" ")
        os.system('cls')
        im = ui.get_ascii("./ascii_files/banknoty.txt") #import text from ASCII file
        ui.display_ascii(im,font_colors=[32],spacing=5) #displays ASCII file with color defined by number
        input(" ")
        os.system('cls')
        txt=("Odpalasz swojego smatrfona i kupujesz blastery do startku")
        ui.print_text(txt,font_color=36)
        input(" ")
        im = ui.get_ascii("./ascii_files/allezlo.txt") #import text from ASCII file
        ui.display_ascii(im,font_colors=[32],spacing=5) #displays ASCII file with color defined by number
        input(" ")
        os.system('cls')
        inventory["Działko"] += 1
        return inventory
    else:
        return inventory
Exemple #12
0
def going_to_the_moon():
    txt=("Spotykasz typowego Sebę. Który pyta czy masz jakiś problem?\nPo krótkiej wymianie zdań, postanawia ci pomóc...")
    ui.print_text(txt,font_color=36)
    im = ui.get_ascii("./ascii_files/ziomek.txt") #import text from ASCII file
    ui.display_ascii(im,font_colors=[37],spacing=5) #displays ASCII file with color defined by number
    input()
    os.system('cls')
    txt="Ruszamy w kosmos!"
    ui.print_text(txt,font_color=36)
    im = ui.get_ascii("./ascii_files/gulf.txt") #import text from ASCII file
    ui.display_ascii(im,font_colors=[37],spacing=5) #displays ASCII file with color defined by number
    input()
    os.system('cls')
    txt=("Trzeciego dnia podróży postanawiacie wypić wódkę zabraną przez Twojego kompana i zasypiacie. Budzicie się a Waszym oczom ukazuje się wileki labirynt!")
    ui.print_text(txt,font_color=36)
    im = ui.get_ascii("./ascii_files/flaszka.txt") #import text from ASCII file
    ui.display_ascii(im,font_colors=[37],spacing=5) #displays ASCII file with color defined by number
    input()
Exemple #13
0
def main():
    player = create_player()
    board = engine.create_board(BOARD_WIDTH, BOARD_HEIGHT)
    util.clear_screen()
    level = 1

    inventory = {
        "Pierogi": 5,
        "Bigos": 5,
        "Złom": 5,
        "Sliptape": 5,
        "Ropa": 5,
        "Działko": 5
    }

    if level == 1:
        # import text from ASCII file
        title = ui.get_ascii("./ascii_files/poland_can_into_space.txt")
        # displays ASCII file with color defined by number
        ui.display_ascii(title, font_colors=[34], spacing=5)
        input(" ")
        os.system('cls')
        print("\n\n")
        txt = "Rok 2030. Trwa wyścig światowych mocarstw o każdy kawłek lądu. Pewnej nocy na niebie pojawia się tajemnicza anomalia... "
        ui.print_text(txt, font_color=33)

        # import text from ASCII file
        anomaly = ui.get_ascii("./ascii_files/saturn.txt")
        # displays ASCII file with color defined by number
        ui.display_ascii(anomaly, font_colors=[35], spacing=5)
        input(" ")
        os.system('cls')
        # import text from ASCII file
        im = ui.get_ascii("./ascii_files/roz1.txt")
        # displays ASCII file with color defined by number
        ui.display_ascii(im, font_colors=[31], spacing=1)
        input(" ")
        os.system('cls')
        txt = ('''
        
        Po Twojej głowie wędruje wyłącznie jedna myśl. To jest mój czas. Muszę polecieć i zbadać tajemniczą anomalię. 
        Postanawiasz przerobić swojego Golfa 1.9 TDI pieszczotliwie nazywanego Gulfem na statek kosmiczny i niezwłocznie wyruszyć w drogę.'''
               )
        ui.print_text(txt, font_color=33)
        input(" ")
        os.system('cls')

        mum_house = engine.generate_game_board_1(board)

        is_running = True
        while is_running:
            x = player['player_x_position']
            y = player['player_y_position']
            engine.add_to_inventory(player, mum_house, inventory)
            temporary_board = deepcopy(mum_house)
            engine.put_player_on_board(temporary_board, player)
            ui.display_board(temporary_board)
            engine.display_players_card(inventory)
            # print(f"Player position: ({x},{y})")
            key = util.key_pressed()
            if key == 'q':
                is_running = False
            else:
                engine.player_moves(key, mum_house, player)
            util.clear_screen()
            pass_condition = engine.chceck_inventory(inventory, level)
            if engine.exit_board(level, player) == True:
                if pass_condition == True:
                    is_running = False
                    level = 2

            else:
                is_running = True

    if level == 2:
        txt = (
            '''Wyszedłeś na miasto. Uzupełnij zasoby, zdobądź paliwo, osłony i działa do statku.'''
        )
        ui.print_text(txt, font_color=33)
        input(" ")
        os.system('cls')
        city = engine.generate_game_board_2(board)
        is_running = True
        while is_running:
            x = player['player_x_position']
            y = player['player_y_position']
            engine.add_to_inventory(player, city, inventory)
            temporary_board = deepcopy(city)
            engine.put_player_on_board(temporary_board, player)
            ui.display_board(temporary_board)
            engine.display_players_card(inventory)
            # print(f"Player position: ({x},{y})")
            key = util.key_pressed()
            if key == 'q':
                is_running = False
            else:
                engine.player_moves(key, city, player)
            util.clear_screen()
            inventory = engine.exchange_of_goods(player, inventory)
            engine.ferdek(player)
            inventory = engine.get_blasters(player, inventory)
            pass_condition = engine.chceck_inventory(inventory, level)
            if engine.exit_board(level, player) == True:
                if pass_condition == True:
                    engine.going_to_the_moon()
                    level = 3
                    is_running = False
            elif engine.exit_board(level, player) == False:
                is_running = True

    if level == 3:
        player['player_x_position'] = PLAYER_START_X
        player['player_y_position'] = PLAYER_START_Y
        board = engine.create_board(21, 15)
        util.clear_screen()
        board_level_2 = engine.maze_generator(board)
        engine.put_quizzes(board_level_2)
        engine.put_memes(board_level_2)
        is_running = True
        level_2 = True
        while is_running:
            engine.level_2_start()
            while level_2:
                engine.quiz_function(board_level_2, player)
                engine.meme_function(board_level_2, player)
                temporary_board = deepcopy(board_level_2)
                engine.put_player_on_board(temporary_board, player)
                engine.display_maze_status(player)
                ui.display_maze(temporary_board, player)

                key = util.key_pressed()

                if key == 'q':
                    is_running = False
                else:
                    engine.player_moves(key, temporary_board, player)
                util.clear_screen()
                level_4 = player['player_*']
                if level_4 > 7:
                    level = 4
                    is_running = False
                    level_2 = False
    if level == 4:
        txt = (
            "Po latach podrózy i licznych przeszkodach na horyzoncie ukazuje się anomalia. Aby do niej dotrzeć musisz zmierzyć się z obcymi..."
        )
        ui.print_text(txt, font_color=33)
        input()
        os.system("cls||clear")
        level_3 = True
        player['player_x_position'] = PLAYER_START_X
        player['player_y_position'] = PLAYER_START_Y

        board_level_3 = engine.create_board(BOARD_WIDTH_lvl3,
                                            BOARD_HEIGHT_lvl3)
        im = ui.get_ascii(
            "./ascii_files/battle.txt")  #import text from ASCII file
        ui.display_ascii(
            im, font_colors=[31],
            spacing=1)  #displays ASCII file with color defined by number
        input()
        os.system('cls')
        counter = 0
        engine.intro_lvl3()
        while level_3:
            counter += 1

            temporary_board = deepcopy(board_level_3)
            engine.put_player_on_board(temporary_board, player)
            level_3 = engine.play_level3(temporary_board, player, counter)
            if level_3:
                ui.display_board(temporary_board)

        is_running = False
        util.clear_screen()
        level = 5

    if level == 5:
        engine.end_game()
Exemple #14
0
def play_level3(temporary_board,player,counter):
    global enemy_state,enemy_shots_quantity

    x = player['player_x_position']
    y = player['player_y_position']

    print("PLAYER LIFE: ","".join(player_live),"\t\t\t\t\t","ALIEN LIFE: ","".join(alien_live))

    PLAYER_SHOT_ICON= ALKO_ICON#[PLAYER_SHOT1_ICON, PLAYER_SHOT2_ICON]

    if enemy_state<1:
        temporary_board[2][10] = PLAYER_SHOT_ICON[0]
    elif enemy_state==1:
        temporary_board[1][20] = PLAYER_SHOT_ICON[1]
    elif enemy_state>1:
        temporary_board[2][3] = PLAYER_SHOT_ICON[2]

    if enemy_state<1:
        enemy= ui.get_ascii("./ascii_files/alien_standing.txt")
        ui.display_ascii(enemy,font_colors=[32], spacing=5)
    elif enemy_state==1:
        enemy= ui.get_ascii("./ascii_files/alien_in_ufo.txt")
        ui.display_ascii(enemy, spacing=(counter%10))
    elif enemy_state>1:
        enemy = ui.get_ascii("./ascii_files/enemy2.txt")
        display_ascii_with_move(enemy,counter,7,[30,31,33])

    key = util.key_pressed()
    if key == 'q':
        input("You left the game")
        return False
    else:
        player_moves(key, temporary_board, player)
    util.clear_screen()

    #generate PLAYER shot
    if temporary_board[x][y] in PLAYER_SHOT_ICON:

        shot_result = level3_shot()

        player['player_x_position'] = main.PLAYER_START_X 
        player['player_y_position'] = main.PLAYER_START_Y

        if shot_result:
            if enemy_state==0:
                enemy_shots_quantity = ENEMY_SHOTS_NUMBER
                first_shot()
            elif enemy_state==1:
                txt = "Po przejściu na wino, przeciwnik ma probnlemy z kontrolą lotu. Zwycięstwo jest blisko!"
                ui.print_text(txt,font_color=33)
            enemy_state+=1
            del alien_live[-1]

    #generate and puts on board enemy shots
    enemy_shots_position = list(get_random_position(temporary_board,enemy_shots_quantity))

    for position in enemy_shots_position:
        temporary_board[position[0]][position[1]] = ENEMY_SHOT_ICON

        if (position[0],position[1])==(x,y):
            txt=("Mały zielony kosmita wygrywa starcie. Po rozmowie z Posejdonem wracasz do walki.")
            ui.print_text(txt,font_color=33)
            input()
            player['player_x_position'] = main.PLAYER_START_X 
            player['player_y_position'] = main.PLAYER_START_Y
            del player_live[-1]
            break

    if len(alien_live)==0:
        img= ui.get_ascii("./ascii_files/koniec.txt")
        ui.display_ascii(img,font_colors=[31], spacing=0)
        input()
        return False
    elif len(player_live)==0 or counter >200:
        input("Poległeś w walce !")
        return False
    else:
        return True
Exemple #15
0
def intro_lvl3():
    txt=("W obliczu konfrontacji z obcymi, topowe ziemskie technologie zdają się być zawodne. Załoga postnawia zdobyć cel podstępem... \nProponujecie grę w alchemika: zamiana procentów na promile")
    ui.print_text(txt,font_color=33)
    input()
Exemple #16
0
def first_shot():
    txt=("Potrzymaj mi piwo! I patrz!!!\n")
    ui.print_text(txt,font_color=36)
    enemy= ui.get_ascii("./ascii_files/alien_sitting_to_ufo.txt")
    ui.display_ascii(enemy,font_colors=[32], spacing=7)