Best Python code snippet using autotest_python
stages.py
Source:stages.py  
...26    fb.draw_text("Seja bem vindo ao µDungeon")27    # Executa a animação28    for frame in animacao_inicio:29        fb.draw_icon(frame)30        fb.update_screen()31        sleep(0.1)32    input("Digite enter para continuar")33    return perguntas # Retorna a próxima tela34def perguntas(jogador, fb, player):35    fb.clear_buffers()36    # Pergunta o nome. Como não é uma animação, o pré-cache não é necessário37    while True:38        fb.draw_icon(image_to_text(f'resource/selecao/0.png', fb.ico_buf_size))39        fb.draw_text("Primeiro, me diga o nome do aventureiro")40        fb.update_screen()41        fb.enable_cursor()42        nome = input("Digite o nome do aventureiro: ").capitalize()43        fb.disable_cursor()44        if not nome: # Se o nome estiver vazio45            fb.draw_text("Jà VIU ALGUÃM COM O NOME VAZIO?")46            fb.update_screen()47            sleep(1)48            continue49        if nome in jogador.mortos: # Verifica se o personagem "nome" está morto ou não50            fb.draw_text(f"{nome} morreu. Quem sabe onde está o corpo dele?")51            fb.update_screen()52            sleep(3)53        else:54            jogador.nome = nome55            break56    # Pergunta a idade57    while True:58        fb.draw_icon(image_to_text(f'resource/selecao/1.png', fb.ico_buf_size))59        fb.draw_text(f"Quantos anos {jogador.nome} tem?")60        fb.update_screen()61        fb.enable_cursor()62        idade = input("Digite sua idade: ")63        fb.disable_cursor()64        # Checa se a idade é um número, e se ela está entre 6 e 10065        if not idade.isdecimal() or not idade or int(idade) < 6 or int(idade) > 100:66            fb.draw_text("Tá achando que eu nasci ontem?")67            fb.update_screen()68            sleep(1)69        else:70            jogador.idade = idade71            break72    # Pergunta para propósitos questionáveis73    while True:74        fb.draw_icon(image_to_text(f'resource/selecao/2.png', fb.ico_buf_size))75        fb.draw_text("Já jogou algum outro adventure na vida?" + 76                     " (Só pra saber mesmo, não vai mudar nada no gameplay)")77        fb.update_screen()78        fb.enable_cursor()79        resposta = input("Responda com sim/não: ").lower()80        fb.disable_cursor()81        if not resposta or resposta[0] != "s" and resposta[0] != "n":82            fb.draw_text("Não é porque não vai mudar nada que tu não tem que responder")83            fb.update_screen()84            sleep(1)85        else:86            jogador.experiente = True if resposta[0] == 's' else False87            break88    # Pré-cache da animação do fim da tela89    animacao_fim = []90    for i in range(3, 16):91        animacao_fim.append(image_to_text(f'resource/selecao/{i}.png', 92                                          fb.ico_buf_size))93    # Executa a animacao94    for frame in animacao_fim:95        fb.draw_icon(frame)96        fb.update_screen()97        sleep(0.1)98    return apresentacao_1 # Próxima tela99def apresentacao_1(jogador, fb, player):100    fb.clear_buffers()101    # Pré-cache102    animacao_1 = [] # Cutscene de apresentação103    animacao_jungle = [] # Cutscende da jungle104    animacao_2 = [] # Cutscene do tesouro105    animacao_inicio = [] # Cutscene repetida do inÃcio106    for i in range(10): 107        animacao_1.append(image_to_text(f"resource/apresentacao_1/{i}.png", fb.ico_buf_size))108    109    for i in range(7):110        animacao_jungle.append(image_to_text(f"resource/apresentacao_2/{i}.png", fb.ico_buf_size))111    for i in range(29):112        animacao_2.append(image_to_text(f"resource/apresentacao_3/{i}.png", fb.ico_buf_size))113    for i in range(0, 53, 2): # 2 = frameskip114        animacao_inicio.append(image_to_text(f'resource/abertura/{i}.png', fb.ico_buf_size))115    # Inicio da apresentação116    fb.draw_text(f"Você é {jogador.nome}, um explorador de {jogador.idade} anos.")117    for frame in animacao_1: # Mostra as imagens na tela118        fb.draw_icon(frame)119        fb.update_screen()120        sleep(0.3)121    sleep(1)122    fb.draw_text("Ao longo da vida, você explorou várias cavernas e templos escondidos pelo mundo")123    124    for frame in animacao_jungle:125        fb.draw_icon(frame)126        fb.update_screen()127        sleep(0.5)128    sleep(1)129   130    fb.draw_text("Sempre achando tesouros poderosos antes perdidos")131    for frame in animacao_2:132        fb.draw_icon(frame)133        fb.update_screen()134        sleep(0.1)135    sleep(1)136   137    fb.clear_icon_buffer() # Tamanho diferentes das imagens = limpa o buffer antes138    fb.draw_text(f"Um dia {jogador.nome} acha um templo diferente")139    for frame in animacao_inicio:140        fb.draw_icon(frame)141        fb.update_screen()142        sleep(0.1)143    input("Digite enter para continuar")144    return solo145def solo(info, fb, player):146    fb.clear_buffers()147    solo_bg = image_to_text(f"resource/bg/solo.png", 148                            fb.ico_buf_size)149    # Reinicia o player150    player.cur_orientation = 0151    player.sprite_x = 0152    player.bg_size = (len(solo_bg[0]), len(solo_bg))153    player.get_sprites()154    # Desenha os itens da tela155    fb.draw_text(f"{info.nome} entra no primeiro 'andar' do terreno," +156                  "e se depara com um vaso de planta, um quadro e uma porta")157    fb.draw_icon(solo_bg)158    fb.draw_icon(player.draw(), True)159    fb.update_screen()160    fb.draw_text(f"O que {info.nome} deve fazer?")161    while True:162        fb.update_screen()163        # Liga o cursor, pergunta e desabilita logo em seguida164        fb.enable_cursor()165        resposta = input("Digite a próxima ação(Observar/Pegar/Andar até/Ajuda/Lista): ").lower().split()166        fb.disable_cursor()167        if len(resposta) == 0:168            continue169        # Verifica todos os argumentos170        if resposta[0] == "observar":171            if len(resposta) > 1:172                if resposta[1] == "vaso":173                    fb.draw_text("Um vaso de planta estranho")174                elif resposta[1] == "rachadura":175                    fb.draw_text("Uma rachadura na parede")176                elif resposta[1] == "quadro":177                    fb.draw_text("Uma pintura. Não me é estranha")178                elif resposta[1] == "porta":179                    fb.draw_text("Acho que é a próxima sala")180                else:181                    fb.draw_text(f"{resposta[1]}? Nem sei o que é isso")182            else:183                fb.draw_text("à pra observar o quê?. Tá com dificuldade? Digita ajuda")184        elif resposta[0] == "pegar":185            if len(resposta) > 1:186                if resposta[1] == "vaso":187                    return solo_pegar_vaso188                elif resposta[1] == "rachadura":189                    fb.draw_text("Como se pega uma rachadura?")190                elif resposta[1] == "quadro":191                    # Move o player para onde o quadro está192                    player.moveTo_x = 73193                    while not player.walk_loop_completed():194                        fb.draw_icon(solo_bg)195                        fb.draw_icon(player.draw(), True)196                        fb.update_screen()197                        sleep(0.1)198                    fb.draw_text("Parece caro.")199                elif resposta[1] == "porta":200                    fb.draw_text("Como se pega uma porta?")201                else:202                    fb.draw_text("Sei lá o que é isso")203            else:204                fb.draw_text("à pra pegar o que?")205        elif resposta[0] == "andar":206            # Move o player para onde o item está207            if len(resposta) > 2:208                if resposta[2] == "vaso":209                    player.moveTo_x = 28210                    while not player.walk_loop_completed():211                        fb.draw_icon(solo_bg)212                        fb.draw_icon(player.draw(), True)213                        fb.update_screen()214                        sleep(0.1)215                elif resposta[2] == "rachadura":216                    player.moveTo_x = 48217                    while not player.walk_loop_completed():218                        fb.draw_icon(solo_bg)219                        fb.draw_icon(player.draw(), True)220                        fb.update_screen()221                        sleep(0.1)222                elif resposta[2] == "quadro":223                    player.moveTo_x = 73224                    while not player.walk_loop_completed():225                        fb.draw_icon(solo_bg)226                        fb.draw_icon(player.draw(), True)227                        fb.update_screen()228                        sleep(0.1)229                elif resposta[2] == "porta":230                    player.moveTo_x = 90231                    while not player.walk_loop_completed():232                        fb.draw_icon(solo_bg)233                        fb.draw_icon(player.draw(), True)234                        fb.update_screen()235                        sleep(0.1)236                    # Entra na porta237                    return puzzle_portas_1238            else:239                fb.draw_text("Andar até onde?")240        elif resposta[0] == "ajuda":241            fb.draw_text("Digite Observar <local>; Digite Pegar <local>; Digite Andar <local>;")242            fb.update_screen()243            sleep(2)244            fb.draw_text("Digite lista pra ver uma lista de itens que estão na tela")245        elif resposta[0] == "lista":246            fb.draw_text("Vaso | Rachadura | Quadro | Porta")247        else:248            fb.draw_text("Digite alguma coisa")249def solo_pegar_vaso(info, fb, player):250    solo_bg = image_to_text(f"resource/bg/solo.png", fb.ico_buf_size)251    # Pré-cache da animação252    animacao_vaso = []253    for i in range(10):254        animacao_vaso.append(image_to_text(f"resource/animacoes/vaso{i}.png", 255                                            fb.ico_buf_size))256    fb.draw_icon(solo_bg)257    # Anda até onde o vaso está.258    player.moveTo_x = 28259    while not player.walk_loop_completed():260        fb.draw_icon(solo_bg)261        fb.draw_icon(player.draw(), True)262        fb.update_screen()263        sleep(0.1)264    # Executa a animação da cobra265    for frame in animacao_vaso:266        fb.draw_icon(frame)267        fb.draw_icon(player.draw(), True)268        fb.update_screen()269        sleep(0.1)270    271    info.mortos.append(info.nome)272    fb.draw_text( "Não era uma planta, e sim uma cobra! " +273                 f"{info.nome} infelizmente não resistiu.")274    fb.update_screen()275    input("Pressione enter para voltar pro menu principal")276    return menu_principal277def puzzle_portas_1(info, fb, player):278    fb.clear_buffers()279    andar_2_bg = image_to_text("resource/bg/portas_puzzle0.png",280                               fb.ico_buf_size)281    # Reinicia o player282    player.bg_size = (len(andar_2_bg[0]), len(andar_2_bg))283    player.get_sprites()284    player.sprite_x = 0285    # Desenha na tela286    fb.draw_text(f"{info.nome} encontra uma bifurcação")287    fb.draw_icon(andar_2_bg)288    fb.draw_icon(player.draw(), True)289    while True:290        fb.update_screen()291        # Pergunta292        fb.enable_cursor()293        resposta = input(f"Para onde {info.nome} deve ir? [esquerda/direita] ").lower()294        fb.disable_cursor()295        # Verifica os argumentos296        if resposta == "esquerda":297            player.moveTo_x = 30298            while not player.walk_loop_completed():299                fb.draw_icon(andar_2_bg)300                fb.draw_icon(player.draw(), True)301                fb.update_screen()302                sleep(0.1)303            return puzzle_portas_2304        elif resposta == "direita":305            player.moveTo_x = 59306            while not player.walk_loop_completed():307                fb.draw_icon(andar_2_bg)308                fb.draw_icon(player.draw(), True)309                fb.update_screen()310                sleep(0.1)311            # Reinicia o puzzle312            return puzzle_portas_1313def puzzle_portas_2(info, fb, player):314    fb.clear_buffers()315    andar_2_bg = image_to_text("resource/bg/portas_puzzle1.png", fb.ico_buf_size)316    # Reinicia o player317    player.bg_size = (len(andar_2_bg[0]), len(andar_2_bg))318    player.get_sprites()319    player.sprite_x = 0320    fb.draw_text(f"{info.nome} encontra outra bifurcação")321    fb.draw_icon(andar_2_bg)322    fb.draw_icon(player.draw(), True)323    while True:324        fb.update_screen()325        # Pergunta326        fb.enable_cursor()327        resposta = input(f"Para onde {info.nome} deve ir? [esquerda/direita] ").lower()328        fb.disable_cursor()329        # Verifica os argumentos330        if resposta == "esquerda":331            player.moveTo_x = 30332            while not player.walk_loop_completed():333                fb.draw_icon(andar_2_bg)334                fb.draw_icon(player.draw(), True)335                fb.update_screen()336                sleep(0.1)337            # Reinicia o puzzle338            return puzzle_portas_1339        elif resposta == "direita":340            player.moveTo_x = 59341            while not player.walk_loop_completed():342                fb.draw_icon(andar_2_bg)343                fb.draw_icon(player.draw(), True)344                fb.update_screen()345                sleep(0.1)346            # Prossegue347            return puzzle_portas_3348def puzzle_portas_3(info, fb, player):349    fb.clear_buffers()350    andar_2_bg = image_to_text("resource/bg/portas_puzzle2.png", fb.ico_buf_size)351    # Reinicia o player352    player.bg_size = (len(andar_2_bg[0]), len(andar_2_bg))353    player.get_sprites()354    player.sprite_x = 0355    fb.draw_text(f"{info.nome} agora encontra uma trifurcação. Já viu se essas portas matassem?")356    fb.draw_icon(andar_2_bg)357    fb.draw_icon(player.draw(), True)358    while True:359        fb.update_screen()360        # Pergunta361        fb.enable_cursor()362        resposta = input(f"Para onde {info.nome} deve ir? [esquerda/centro/direita] ").lower()363        fb.disable_cursor()364        if resposta == "esquerda":365            player.moveTo_x = 30366            while not player.walk_loop_completed():367                fb.draw_icon(andar_2_bg)368                fb.draw_icon(player.draw(), True)369                fb.update_screen()370                sleep(0.1)371            # Reinicia372            return puzzle_portas_1373        elif resposta == "centro":374            player.moveTo_x = 58375            while not player.walk_loop_completed():376                fb.draw_icon(andar_2_bg)377                fb.draw_icon(player.draw(), True)378                fb.update_screen()379                sleep(0.1)380            # Continua381            return puzzle_tempo_1382        elif resposta == "direita":383            player.moveTo_x = 80384            while not player.walk_loop_completed():385                fb.draw_icon(andar_2_bg)386                fb.draw_icon(player.draw(), True)387                fb.update_screen()388                sleep(0.1)389            # Reinicia390            return puzzle_portas_1391def puzzle_tempo_1(info, fb, player):392    tentativas = 0393    fb.clear_buffers()394    # Duas bg: Uma com a pergunta e uma com a porta395    bg = image_to_text("resource/bg/perguntas.png", fb.ico_buf_size)396    bg_1 = image_to_text("resource/bg/perguntas1.png", fb.ico_buf_size)397    # Pré-cache da animação398    lava_anim = []399    for frame in range(90):400        lava_anim.append(image_to_text(f"resource/animacoes/lava{frame}.png", fb.ico_buf_size))401    # Reinicia o player402    player.bg_size = (len(bg[0]), len(bg))403    player.get_sprites()404    player.sprite_x = 0405    # Escreve406    fb.draw_text(f"{info.nome} encontra uma placa com alguma coisa escrita")407    fb.draw_icon(bg)408    fb.draw_icon(player.draw(), True)409    fb.update_screen()410    while True:411        # Atualiza toda vez que for perguntar412        fb.update_screen()413        # Executa a animação da lava antes de perguntar414        if tentativas > 0: # Animação da lava415            for frame in range(15 * (tentativas - 1), 15 * tentativas):416                fb.draw_icon(lava_anim[frame])417                fb.update_screen()418        419        # Se o jogador morreu420        if tentativas > 5:421            fb.draw_text(f"{info.nome} infelizmente morreu")422            fb.update_screen()423            input("Pressione enter para continuar")424            return menu_principal425        # Pergunta426        fb.enable_cursor()427        resposta = input(f"O que {info.nome} deve fazer?[ler/responder] ").lower()428        fb.disable_cursor()429        # Verifica os argumentos430        if len(resposta) > 0:431            if resposta[0] == "l":432                fb.draw_text("A placa diz:")433                fb.update_screen()434                sleep(2)435                fb.draw_text("Para prosseguir você deverá responder uma pergunta " +436                             "não respondida á séculos pela humanidade. "+ 437                             "Caso não responda, você perecerá")438                fb.update_screen()439                sleep(4)440                fb.draw_text("PORQUE A GALINHA ATRAVESSOU A RUA?")441                fb.update_screen()442                continue # Reinicia o loop443            elif resposta[0] == "r":444                fb.draw_text(f"O que {info.nome} respondeu?")445                fb.update_screen()446                # Pergunta          447                fb.enable_cursor()448                charada_resposta = input("Digite:").lower()449                fb.disable_cursor()450                451                # Verifica se a resposta está certa452                if charada_resposta == "para chegar ao outro lado":453                    break454                else:455                    tentativas += 1456                    continue # Reinicia o loop quando a pessoa errar457        else: # Se a pessoa não digitou nada458            fb.draw_text("Digite alguma coisa")459            tentativas += 1460            fb.update_screen()461    # Caso o jogador acerte, desenha a porta462    fb.draw_icon(bg_1)463    fb.draw_icon(player.draw(), True)464    fb.draw_text("Uma porta apareceu no lugar da placa!")465    fb.draw_icon(lava_anim[15 * tentativas])466    fb.update_screen()467    # Deixa as coisas mais interessantes468    tentativas += 1469    while True:470        if tentativas > 0: # Animação da lava471            for frame in range(15 * (tentativas - 1), 15 * tentativas):472                fb.draw_icon(lava_anim[frame])473                fb.update_screen()474        # Verifica se o jogador morreu475        if tentativas > 5:476            fb.draw_text(f"{info.nome} infelizmente morreu")477            fb.update_screen()478            input("Pressione enter para continuar")479            return menu_principal480        # Pergunta481        fb.enable_cursor()482        resposta = input(f"O que {info.nome} deverá fazer?[entrar/ficar]").lower()483        fb.disable_cursor() 484        # Verifica os argumentos485        if len(resposta) > 0:486            if resposta == "entrar":487                player.moveTo_x = 3488                while not player.walk_loop_completed():489                    fb.draw_icon(bg_1)490                    fb.draw_icon(player.draw(), True)491                    fb.draw_icon(lava_anim[15 * tentativas])492                    fb.update_screen()493                    sleep(0.1)494                return tesouro495            else: # Qualquer outra resposta fará o jogador morrer496                tentativas +=1497def tesouro(info, fb, player):498    fb.clear_buffers()499    bg = image_to_text("resource/bg/tesouro.png", fb.ico_buf_size)500    501    # Reinicia o player502    player.bg_size = (len(bg[0]), len(bg))503    player.get_sprites()504    player.sprite_x = 0505    506    # Desenha na tela507    fb.draw_text(f"{info.nome} finalmente encontra o tesouro! Agora ele tem que " +508                  "descobrir como sair desse lugar")509    fb.draw_icon(bg)510    fb.draw_icon(player.draw(), fb.ico_buf_size)511    while True:512        fb.update_screen()513        # Pergunta514        fb.enable_cursor()515        resposta = input(f"O que {info.nome} deve fazer?[andar/olhar/escavar/lista]").lower().split()516        fb.disable_cursor()517        if len(resposta) == 0:518            continue519        # Verifica os argumentos520        if resposta[0] == "andar":521            if len(resposta) > 2:522                if resposta[2] == "tesouro":523                    player.moveTo_x = 45524                    while not player.walk_loop_completed():525                        fb.draw_icon(bg)526                        fb.draw_icon(player.draw(), True)527                        fb.update_screen()528                        sleep(0.1)529                elif resposta[2] == "rachadura":530                    player.moveTo_x = 90531                    while not player.walk_loop_completed():532                        fb.draw_icon(bg)533                        fb.draw_icon(player.draw(), True)534                        fb.update_screen()535                        sleep(0.1)536                else:537                    fb.draw_text("Sei lá onde é isso")538            else:539                fb.draw_text("Andar até onde?")540        elif resposta[0] == "olhar":541            if len(resposta) > 1:542                if resposta[1] == "tesouro":543                    # Anda até o tesouro544                    player.moveTo_x = 45545                    while not player.walk_loop_completed():546                        fb.draw_icon(bg)547                        fb.draw_icon(player.draw(), True)548                        fb.update_screen()549                        sleep(0.1)550                    fb.draw_text(f"{info.nome}: Puta tesourão! Vou ficar ainda mais rico")551                elif resposta[1] == "rachadura":552                    # Anda até a rachadura553                    player.moveTo_x = 90554                    while not player.walk_loop_completed():555                        fb.draw_icon(bg)556                        fb.draw_icon(player.draw(), True)557                        fb.update_screen()558                        sleep(0.1)559                    fb.draw_text(f"{info.nome} pode tentar escavar aqui!")560        elif resposta[0] == "escavar": # Final do jogo561            if len(resposta) > 1:562                if resposta[1] == "rachadura":563                    # Anda até a rachadura564                    player.moveTo_x = 90565                    while not player.walk_loop_completed():566                        fb.draw_icon(bg)567                        fb.draw_icon(player.draw(), True)568                        fb.update_screen()569                        sleep(0.1)570                    fb.draw_text(f"{info.nome} começa a escavar")571                    fb.update_screen()572                    sleep(2)573                    return fim # Vai pro final do jogo574                elif resposta[1] == "tesouro":575                    fb.draw_text("Como se escava um tesouro?")576            else:577                fb.draw_text("O que é pra escavar?")578        elif resposta[0] == "lista":579            fb.draw_text("tesouro | rachadura")    580     581def fim(info, fb, player):582    fb.clear_buffers()583    584    bg = image_to_text("resource/bg/fim.png", fb.ico_buf_size)585    # Desenha o final do jogo586    fb.draw_icon(bg)587    fb.draw_text(f"{info.nome} conseguiu sobreviver a todos os perigos " +588                  "e ainda conseguiu o tesouro!")589    fb.update_screen()590    input("Pressione enter para continuar")591    592    fb.draw_text("Obrigado por jogar!")593    fb.update_screen()594    input("Pressione enter para voltar ao menu")...Moving_lists.py
Source:Moving_lists.py  
1import os2Row1 = [1, 0, 0]3Row2 = [0, 0, 0]4Row3 = [0, 0, 0]5def update_screen():6    print (Row1)7    print (Row2)8    print (Row3)9def update_pos():10    try:11        position = Row1.index(1)12    except ValueError:13        pass14    try:15        position = Row2.index(1)16    except ValueError:17        pass18    try:19        position = Row3.index(1)20    except ValueError:21        pass22    23    return position24switch = True25print('Current Map:')26update_screen()27update_pos()28while switch == True:29    dir = input('Which direction will you travel? (North South East West) "X" to exit: ')30    31    #Exit mechanic32    if dir == 'X' or dir == 'exit':33        os.system('cls')34        break35    #North36    if dir == 'North' or dir == 'N':37        if 1 in Row1:38            os.system('cls')39            print(f"Index in list: {update_pos()}")40            print("Position in Row1")41            update_screen()42        if 1 in Row2:43            os.system('cls')44            Row1[update_pos()] = 145            Row2[update_pos()] = 046            print(f"Index in list: {update_pos()}")47            print("Position in Row1")48            update_screen()49        if 1 in Row3:50            os.system('cls')51            Row2[update_pos()] = 152            Row3[update_pos()] = 053            print(f"Index in list: {update_pos()}")54            print("Position in Row2")55            update_screen()56    57    #South58    if dir == 'South' or dir == 'S':59        if 1 in Row3:60            os.system('cls')61            print(f"Index in list: {update_pos()}")62            print("Position in Row3")63            update_screen()64        if 1 in Row2:65            os.system('cls')66            Row3[update_pos()] = 167            Row2[update_pos()] = 068            print(f"Index in list: {update_pos()}")69            print("Position in Row3")70            update_screen()71        if 1 in Row1:72            os.system('cls')73            Row2[update_pos()] = 174            Row1[update_pos()] = 075            print(f"Index in list: {update_pos()}")76            print("Position in Row2")77            update_screen()78    #East79    if dir == 'East' or dir == 'E':80        if 1 in Row3:81            if update_pos() == 0:82                os.system('cls')83                Row3[update_pos()] = 084                Row3[1] = 185                print(f"Index in list: {update_pos()}")86                print("Position in Row1")87                update_screen()88                continue89            if update_pos() == 1:90                os.system('cls')91                Row3[update_pos()] = 092                Row3[2] = 193                print(f"Index in list: {update_pos()}")94                print("Position in Row1")95                update_screen()96                continue97            if update_pos() == 2:98                os.system('cls')99                print(f"Index in list: {update_pos()}")100                print("Position in Row1")101                update_screen()102                continue103        104        if 1 in Row2:105            if update_pos() == 0:106                os.system('cls')107                Row2[update_pos()] = 0108                Row2[1] = 1109                print(f"Index in list: {update_pos()}")110                print("Position in Row1")111                update_screen()112                continue113            if update_pos() == 1:114                os.system('cls')115                Row2[update_pos()] = 0116                Row2[2] = 1117                print(f"Index in list: {update_pos()}")118                print("Position in Row1")119                update_screen()120                continue121            if update_pos() == 2:122                os.system('cls')123                print(f"Index in list: {update_pos()}")124                print("Position in Row1")125                update_screen()126                continue127        128        if 1 in Row1:129            if update_pos() == 0:130                os.system('cls')131                Row1[update_pos()] = 0132                Row1[1] = 1133                print(f"Index in list: {update_pos()}")134                print("Position in Row1")135                update_screen()136                continue137            if update_pos() == 1:138                os.system('cls')139                Row1[update_pos()] = 0140                Row1[2] = 1141                print(f"Index in list: {update_pos()}")142                print("Position in Row1")143                update_screen()144                continue145            if update_pos() == 2:146                os.system('cls')147                print(f"Index in list: {update_pos()}")148                print("Position in Row1")149                update_screen()150                continue151    152    #West153    if dir == 'West' or dir == 'W':154        155        if 1 in Row3:156            if update_pos() == 0:157                os.system('cls')158                print(f"Index in list: {update_pos()}")159                print("Position in Row1")160                update_screen()161                continue162            if update_pos() == 1:163                os.system('cls')164                Row3[update_pos()] = 0165                Row3[0] = 1166                print(f"Index in list: {update_pos()}")167                print("Position in Row1")168                update_screen()169                continue170            if update_pos() == 2:171                os.system('cls')172                Row3[update_pos()] = 0173                Row3[1] = 1174                print(f"Index in list: {update_pos()}")175                print("Position in Row1")176                update_screen()177                continue178        179        if 1 in Row2:180            if update_pos() == 0:181                os.system('cls')182                print(f"Index in list: {update_pos()}")183                print("Position in Row1")184                update_screen()185                continue186            if update_pos() == 1:187                os.system('cls')188                Row2[update_pos()] = 0189                Row2[0] = 1190                print(f"Index in list: {update_pos()}")191                print("Position in Row1")192                update_screen()193                continue194            if update_pos() == 2:195                os.system('cls')196                Row2[update_pos()] = 0197                Row2[1] = 1198                print(f"Index in list: {update_pos()}")199                print("Position in Row1")200                update_screen()201                continue202        203        if 1 in Row1:204            if update_pos() == 0:205                os.system('cls')206                print(f"Index in list: {update_pos()}")207                print("Position in Row1")208                update_screen()209                continue210            if update_pos() == 1:211                os.system('cls')212                Row1[update_pos()] = 0213                Row1[0] = 1214                print(f"Index in list: {update_pos()}")215                print("Position in Row1")216                update_screen()217                continue218            if update_pos() == 2:219                os.system('cls')220                Row1[update_pos()] = 0221                Row1[1] = 1222                print(f"Index in list: {update_pos()}")223                print("Position in Row1")224                update_screen()...Main.py
Source:Main.py  
1from Vec_operations import cross2from Ray_operations import triangle_intersect3import pygame4from pygame import K_LEFT, K_RIGHT, K_UP, K_DOWN, K_w, K_a, K_s, K_d, K_LSHIFT, K_SPACE5import time6from timeit import default_timer as timer7from Entities import *8from Ray_operations import *9from Config import *10from Renderer import *11cam1 = camera( screen_resolution, camera_start_pos, camera_start_orientation, default_fov, render_distance)12#pre_calc_angles(cam1)13ortho_factor = 0.514running = 115while running:16    if debug_mode:17        start = timer()18    keys = pygame.key.get_pressed()19    update_screen = 020    if keys[K_LEFT]:21        cam1.orient_hor -= rotate_angle22        update_screen = 123    if keys[K_RIGHT]:24        cam1.orient_hor += rotate_angle25        update_screen = 126    if keys[K_DOWN]:27        cam1.orient_vert += rotate_angle28        update_screen = 129    if keys[K_UP]:30        cam1.orient_vert -= rotate_angle31        update_screen = 132    33    if keys[K_w]:34        cam1.pos.x += move_step*cos(radians(cam1.orient_hor))35        cam1.pos.y += move_step*sin(radians(cam1.orient_hor))36        ortho_factor /= 237        update_screen = 138    if keys[K_s]:39        cam1.pos.x -= move_step*cos(radians(cam1.orient_hor))40        cam1.pos.y -= move_step*sin(radians(cam1.orient_hor))41        ortho_factor *= 242        update_screen = 143    if keys[K_a]:44        cam1.pos.x -= move_step*cos(radians(cam1.orient_hor + 90))45        cam1.pos.y -= move_step*sin(radians(cam1.orient_hor + 90))46        update_screen = 147    if keys[K_d]:48        cam1.pos.x += move_step*cos(radians(cam1.orient_hor + 90))49        cam1.pos.y += move_step*sin(radians(cam1.orient_hor + 90))50        update_screen = 151    if keys[K_SPACE]:52        cam1.pos.z += move_step53        update_screen = 154    if keys[K_LSHIFT]:55        cam1.pos.z -= move_step56        update_screen = 157    if update_screen:58        #render(cam1)59        render_orthographic(cam1, ortho_factor)60    events = pygame.event.get()61    for event in events:62        if event.type == pygame.QUIT:63            running = 064            break65    if debug_mode:66        tmp = timer() - start67        if tmp > 0.1:...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
