Не может печатать ASCII искусство - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь напечатать рисунок ASCII для моей очень простой игры.

Когда я пытаюсь запустить программу, она просто мигает в течение 0,01 секунды и исчезает. Я также пытался использовать оператор print для каждой новой строки.

turtle1 = (r'''\                         ___-------___
                                 _-~~             ~~-_
                             _-~                    /~-_
          /^\__/^\          /~  \                   /    \
         /|  O|| O|       /     \_______________/          \
        | |___||__|      /       /                \          \
        |          \    /      /                    \          \
        |   (_______) /______/                        \_________ \
        |         / /         \                      /             \
         \         \^\\         \                  /                 \     /
          \         ||           \______________/      _-_          //\__//
           \       ||------_-~~-_ ------------- \ --/~   ~\        || __/)
            ~-----||====/~      |==================|       |/~~~~~
             (_(__/  ./       /                   \_\      \.
                       (_(___/                       \_____)_)''')

Если это легко исправить и я тупой, извините. Я просто новичок. ;)

Это мой код (также доступен здесь ):

import random
import os
import time
import sys

mageLvl = 1

def exit():
    sys.exit()


def refreshScreen():
    clear = lambda: os.system('cls')
    clear()


def titleScreen():
    print("  _ ___           _                  _    ___  _ ")
    print(" | |__ \         (_)                | |  |__ \| |")
    print(" | |  ) |_      ___ ______ _ _ __ __| |___  ) | |")
    print(" | | / /\ \ /\ / / |_  / _` | '__/ _` / __|/ /| |")
    print(" |_||_|  \ V  V /| |/ / (_| | | | (_| \__ \_| |_|")
    print(" (_)(_)   \_/\_/ |_/___\__,_|_|  \__,_|___(_) (_)")
    print("                                                 ")
    startOrExit = input("Start or exit? (y/n) ")
    if(startOrExit == "y"):
        refreshScreen()
        loading1()
    else:
        exit()
    refreshScreen()

def lvl1():
    print(turtle1)


def character():
    print("              _,._       ")
    print("  .||,       /_ _\\      ")
    print(" \.`',/      |'L'| |     ")
    print(" = ,. =      | -,| L     ")
    print(" / || \    ,-'\"/,'`.    ")
    print("   ||     ,'   `,,. `.   ")
    print("   ,|____,' , ,;' \| |   ")
    print("  (3|\    _/|/'   _| |   ")
    print("   ||/,-''  | >-'' _,\\  ")
    print("   ||'      ==\ ,-'  ,'  ")
    print("   ||       |  V \ ,|    ")
    print("   ||       |    |` |    ")
    print("   ||       |    |   \   ")
    print("   ||       |    \    \  ")
    print("   ||       |     |    \ ")
    print("   ||       |      \_,-' ")
    print("   ||       |___,,--')_\ ")
    print("   ||         |_|   ccc/ ")
    print("   ||        ccc/        ")
    print("   ||                    ")

turtle1 = (r'''\                         ___-------___
                                     _-~~             ~~-_
                                 _-~                    /~-_
              /^\__/^\          /~  \                   /    \
             /|  O|| O|       /     \_______________/          \
            | |___||__|      /       /                \          \
            |          \    /      /                    \          \
            |   (_______) /______/                        \_________ \
            |         / /         \                      /             \
             \         \^\\         \                  /                 \     /
              \         ||           \______________/      _-_          //\__//
               \       ||------_-~~-_ ------------- \ --/~   ~\        || __/)
                ~-----||====/~      |==================|       |/~~~~~
                 (_(__/  ./       /                   \_\      \.
                           (_(___/                       \_____)_)''')

def turtle():
        print("                             ___-------___                           ")
        print("                        _-~~             ~~-_                        ")
        print("                     _-~                    /~-_                     ")
        print("  /^\__/^\          /~  \                   /    \                   ")
        print(" /|  O|| O|       /     \_______________/          \                 ")
        print("| |___||__|      /       /                \          \               ")
        print("|          \    /      /                    \          \             ")
        print("|   (_______) /______/                        \_________ \           ")
        print("|         / /         \                      /             \         ")
        print(" \         \^\\         \                  /                 \     / ")
        print("  \         ||           \______________/      _-_          //\__//  ")
        print("   \       ||------_-~~-_ ------------- \ --/~   ~\        || __/)   ")
        print("    ~-----||====/~      |==================|       |/~~~~~           ")
        print("     (_(__/  ./       /                   \_\      \.                ")
        print("               (_(___/                       \_____)_)               ")

def charName():
    name = input("Enter your name: ")
    print("Hello there", name, "lvl", mageLvl,"young mage!")
    time.sleep(2)
    lvl1()

def loading1():
    for i in range(2):
        print("You are a young wizard with a passion towards your fathers craft... You want to become the best and beat everyone! Survive every tournament!")
        print("Loading.")
        time.sleep(0.7)
        print("Loading..")
        time.sleep(0.7)
        print("Loading...")
        refreshScreen()
    readyNo = input("Are you ready? (y/n): ")
    if(readyNo == "y" or "yes"):
        refreshScreen()
        charName()

name = "no one"

titleScreen()

Ответы [ 2 ]

0 голосов
/ 05 января 2019

Вы забыли сделать отступ в refreshScreen() в последней строке функции titleScreen() (из вашего примера кода). Он обновлял экран перед выходом из программы, который удалил ASCII art.

Это исправленная функция titleScreen:

def titleScreen():
    print("  _ ___           _                  _    ___  _ ")
    print(" | |__ \         (_)                | |  |__ \| |")
    print(" | |  ) |_      ___ ______ _ _ __ __| |___  ) | |")
    print(" | | / /\ \ /\ / / |_  / _` | '__/ _` / __|/ /| |")
    print(" |_||_|  \ V  V /| |/ / (_| | | | (_| \__ \_| |_|")
    print(" (_)(_)   \_/\_/ |_/___\__,_|_|  \__,_|___(_) (_)")
    print("                                                 ")
    startOrExit = input("Start or exit? (y/n) ")
    if(startOrExit == "y"):
        refreshScreen()
        loading1()
    else:
        exit()
        refreshScreen()
0 голосов
/ 05 января 2019

Учитывая ваш код print_ascii_art.py

turtle = (r'''\                         ___-------___
                                 _-~~             ~~-_
                             _-~                    /~-_
          /^\__/^\          /~  \                   /    \
         /|  O|| O|       /     \_______________/          \
        | |___||__|      /       /                \          \
        |          \    /      /                    \          \
        |   (_______) /______/                        \_________ \
        |         / /         \                      /             \
         \         \^\\         \                  /                 \     /
          \         ||           \______________/      _-_          //\__//
           \       ||------_-~~-_ ------------- \ --/~   ~\        || __/)
            ~-----||====/~      |==================|       |/~~~~~
             (_(__/  ./       /                   \_\      \.
                       (_(___/                       \_____)_)''')

print(turtle)

Откройте командную строку и перейдите в папку, где находится интересующий файл.

Как только вы окажетесь в нужном каталоге, введите:

python print_ascii_art.py

Это должно решить вашу проблему.

ПРИМЕЧАНИЕ: Если вы хотите запустить свой сценарий, просто дважды щелкнув по нему, вам следует добавить строку input() в конце кода. Таким образом, ascii art будет напечатан, и программа будет ждать ввода с клавиатуры, прежде чем закрыться.

...