Seu trabalho, para esse golfe, é escrever um programa que faça movimentos de um jogo de reversi (othello) e exiba o resultado para o usuário.
Entrada
Uma sequência de números tirados do intervalo [0-7]. Cada par de números representa primeiro a coordenada X, depois a coordenada Y. Quaisquer caracteres fora desse intervalo devem ser ignorados.
Resultado
Uma representação visual do resultado do jogo, incluindo quem lidera quando a entrada termina. Pode ser uma saída gráfica ou de pressionamento de tecla, mas deve ser uma grade visual do jogo, com um caractere / símbolo gráfico distinto para preto, branco e vazio.
Além disso, seu código deve emitir uma mensagem de erro e parar quando uma movimentação ilegal é inserida (o mesmo quadrado mais de uma vez ou um quadrado que não inverta nenhum bloco).
Os pulos devem ser manuseados normalmente. Um salto ocorre quando uma cor não tem movimento legal, sua vez é pulada e o outro jogador começa a jogar.
O preto sempre vai primeiro.
Exemplos
23
........
........
........
..bbb...
...bw...
........
........
........
b
232425140504032627
........
........
........
b.bbb...
bbbww...
b.b.....
..b.....
..b.....
b
2324322513
........
........
........
..bbb...
..www...
........
........
........
e
23242555
........
........
........
..bbb...
..bbw...
..b.....
........
........
e
fonte
Respostas:
Haskell - 1493 bytes
Nesta versão, não há mensagens de erro detalhadas e a saída é muito mais básica. A principal mudança foi substituída
Either String a
porMaybe a
e, uma vez que ambas são mônadas, isso foi alcançado simplesmente trocandoRight a
comJust a
eLeft String
comNothing
.Versão original - 4533 bytes
Vou jogar golfe quando houver competição! editar Chegou
Nota: Seu segundo exemplo deve ser 2324251 4 0504032627.
Testes
Com capturas de tela para evitar queimaduras nos olhos.
É possível obter
impossible move (x,y)
quando você usa as entranhas (funções das entranhas do programa e que você não deve usar) ex/y is out of bounds
.fonte
Javascript (E6) 399
412 450Edit: placa exibir menor e mais agradável, cortar um pouco de char
Ungolfed
Teste
Teste no console javascript (FireFox):
232425140504032627
, , , , , , , , , , , , , , , , , , , , , , , , , , , ,☻, ,☻,☻,☻, , , , ,☻,☻,☻,O,O, , , , ,☻, ,☻, , , , , , , , ,☻, , , , , , , , ,☻, , , , , , ☻9
fonte