Percursos
/
Elixir
Elixir
/
Exercícios
/
Tabuleiro de xadrez
Tabuleiro de xadrez

Tabuleiro de xadrez

Exercício de aprendizagem

Introdução

Intervalos

Os intervalos representam uma sequência de um ou vários números inteiros consecutivos. São criados ao ligar dois números inteiros com ...

1..5

Os intervalos podem ser crescentes ou decrescentes. Incluem sempre os valores inicial e final.

Um intervalo implementa o protocolo Enumerable, o que significa que podes usar funções do módulo Enum para trabalhar com intervalos.

Instruções

Como entusiasta de xadrez, gostarias de escrever a tua própria versão do jogo. É verdade que já existem por aí muitas implementações de xadrez disponíveis online, mas a tua vai ser única!

Mas antes de poderes deixar a imaginação soltar-se à vontade, tens de tratar do básico. Vamos começar por gerar o tabuleiro.

Cada casa do tabuleiro de xadrez é identificada por um par letra-número. As colunas verticais de casas, chamadas files, são identificadas de A a H. As linhas horizontais de casas, chamadas ranks, são numeradas de 1 a 8.

1. Define o intervalo de ranks

Implementa a função rank_range/0. Deve devolver um intervalo de números inteiros, de 1 a 8.

Chessboard.rank_range()

2. Define o intervalo de files

Implementa a função file_range/0. Deve devolver um intervalo de números inteiros, do ponto de código da letra A maiúscula até ao ponto de código da letra H maiúscula.

Chessboard.file_range()

3. Transforma o intervalo de ranks numa lista de ranks

Implementa a função ranks/0. Deve devolver uma lista de números inteiros, de 1 a 8. Não escrevas a lista à mão, gera-a a partir do intervalo devolvido pela função rank_range/0.

Chessboard.ranks()
# => [1, 2, 3, 4, 5, 6, 7, 8]

4. Transforma o intervalo de files numa lista de files

Implementa a função files/0. Deve devolver uma lista de letras (strings), de "A" a "H". Não escrevas a lista à mão, gera-a a partir do intervalo devolvido pela função file_range/0.

Chessboard.files()
# => ["A", "B", "C", "D", "E", "F", "G", "H"]
Editar via GitHub A ligação abre numa nova janela ou separador
Elixir Exercism

Estás pronto para começar Tabuleiro de xadrez?

Inscreve-te no Exercism para aprenderes e dominares Elixir com 58 conceitos168 exercícios, e mentoria humana real, tudo grátis.