Dagaz: Erros

imagem O trabalho de ajudar as pessoas a se afogar -
a obra dos afogando-se.

I. Ilf e E. Petrov.


Erros são erros. Enquanto trabalho no projeto , mantenho minha classificação de erro pessoal. Algo é consertado com muita facilidade; no primeiro começo, algo é muito pregado na arquitetura e, portanto, vem envenenando a vida há anos. Alguns erros congelam. Quando você os corrige, sente que está vivendo. Eu amo esses erros.

Escrever os mesmos jogos o tempo todo não seria interessante. Felizmente, os jogos são diferentes. Alguns jogos são mais diferentes que outros. Honestamente, eu empreendo algo por eles, principalmente por causa da singularidade de sua mecânica de jogo. Para mim, esses jogos são um tipo de desafio.


Hanga roa
Este jogo quebra estereótipos e quebra padrões. Não se deixe enganar pela semelhança superficial com o xadrez . É completamente diferente do xadrez. O objetivo do jogo é levar o seu " Moai " para a borda oposta do tabuleiro. Só isso, por si só, Moai não sabe andar no quadro. Esta figura caminha apenas “em pedras” (estritamente de sua própria cor), movendo-se para uma célula adjacente em qualquer uma das oito direções (a pedra usada é removida do tabuleiro). Os passos podem ser repetidos o maior tempo possível.

O MataToa (parece um peão no tabuleiro) também dá um passo em qualquer uma das oito direções e pode destruir as "estradas" inimigas pegando pedras da cor de outra pessoa (é claro, também pode se mover ao longo de campos vazios). Caso contrário, “captura de xadrez” não é usada no jogo, as peças são removidas do tabuleiro de uma maneira completamente diferente. Para remover uma peça do tabuleiro, é necessário cercá-la com suas pedras de forma que não possa se mover (é óbvio que é impossível pegar MataToa dessa maneira). Se você conseguiu cercar Moai - o jogo termina aqui. Com Ariki , a última figura restante, as coisas são diferentes.

Ariki - a figura de um construtor (descrito como uma torre no tabuleiro), que joga as mesmas “pedras” no tabuleiro. O movimento é realizado da seguinte maneira: a peça se move a qualquer distância em qualquer uma das oito direções (como uma rainha do xadrez, apenas sem luta), após o que dispara dois "tiros". As pedras também voam a qualquer distância, em qualquer uma das oito direções. Se você conseguir apedrejar o inimigo Ariki com pedras, ele será removido do tabuleiro, mas não para sempre. O jogador a quem ela pertence pode colocá-la no tabuleiro novamente, em um dos movimentos a seguir, mas apenas na primeira horizontal. Talvez essa seja a mecânica de xadrez mais incrível que eu já vi.

É tudo sobre essas figuras muito "atiradoras". O "tiro" em si é codificado de maneira bastante simples, mas, para ter a oportunidade de "atirar" duas vezes seguidas, tive que subir no núcleo . O fato é que, desde o tempo com Zillions , essa sequência de ações tem sido interpretada como um movimento composto, ou seja, uma sequência de movimentos parciais executados por uma peça e um "tiro" está, de fato, movendo a mesma peça para outra posição. Não é aquele com o qual o próximo movimento parcial deve ser realizado (segundo "tiro"). Eu tive que mexer com isso.

Como ainda não descobri como implementar um bot para este jogo, eu o fiz no modo “smart board”, que controla a observância das regras, mas sem a IA do jogo. Isso me enganou. O erro não se manifestou no controle manual das figuras, mas ficou óbvio assim que comecei a fazer um bot para as Amazonas .

A rigor, há outro jogo com mecânica semelhante

Mas para ela, eu também não fiz bot. Eu acho que você entende o porquê.

No caso das Amazonas, encontrei uma solução alternativa e não subi no núcleo, mas para Hanga Roa essa solução não era adequada. Como ainda não havia bot para o jogo, joguei essa coisa em uma caixa comprida (e ela continuou me mordendo de dentro para fora). Teria continuado assim se, enquanto trabalhava na Quantum Morris , eu não tivesse encontrado tanta sujeira aqui:


O problema foi agravado pelo fato de que o erro, aparentemente, se manifestou dependendo das fases da lua. Isso (assim como vários outros casos) mostrou claramente que chegou a hora de reescrever o código de animação para formas em movimento, a partir do qual o projeto quase começou. Não me interpretem mal, não me apressei em reescrever a visualização imediatamente. Eu me convenci de que isso era necessário por cerca de um mês. E no final, convencido . O código tornou-se mais simples e mais compreensível. Ao longo do caminho, outros erros que me atormentaram por muito tempo se tornaram mais óbvios.


A imagem é clicável. Admire como a bola preta, depois de concluir o percurso, se torna branca (embora não deva fazer isso). Com a visão antiga, ela permaneceu preta e o erro não era tão óbvio. Na visão, a figura permaneceu preta, mas o jogador não podia mais controlá-la (já que, no modelo, era branca) e ficou furiosa. Estritamente falando, esse é um erro de modelo, mas muitas perguntas já foram acumuladas (assim como o utilitário para converter o código ZRF em JavaScript).

Para sempre, tudo precisa ser reescrito lá, mas ainda não estou preparado mentalmente para isso. Portanto, fiz outra " solução rápida " e, em Fanorona , agora você pode jogar normalmente, sem acompanhar milagres. Em " Damas Russas ", a propósito, também. Houve um erro relacionado à implementação da regra " greve turca ", que foi inesperadamente corrigida com facilidade por essa correção simples. Então eu trabalho com os bugs. Então, eu melhoro o projeto.

Source: https://habr.com/ru/post/pt440116/


All Articles