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

Tabuleiro de xadrez

Exercício de aprendizagem

Introdução

Intervalos

Intervalos representam uma sequência de um ou mais números inteiros consecutivos. Eles são criados ao conectar dois números inteiros com ...

1..5

Os intervalos podem ser crescentes ou decrescentes. Eles sempre incluem o primeiro e o último valor.

Um intervalo implementa o protocolo Enumerable, o que significa que as funções do módulo Enum podem ser usadas para trabalhar com intervalos.

Instruções

Como entusiasta de xadrez, você gostaria de escrever a sua própria versão do jogo. Sim, talvez já existam várias implementações de xadrez disponíveis online, mas a sua vai ser única!

Mas antes de soltar a imaginação, você precisa cuidar do básico. Vamos começar gerando o tabuleiro.

Cada casa do tabuleiro de xadrez é identificada por um par de letra e número. As faixas verticais de casas, chamadas de colunas, são identificadas pelas letras de A a H. As faixas horizontais de casas, chamadas de fileiras, são numeradas de 1 a 8.

1. Defina o intervalo de fileiras

Implemente a função rank_range/0. Ela deve retornar um intervalo de números inteiros, de 1 a 8.

Chessboard.rank_range()

2. Defina o intervalo de colunas

Implemente a função file_range/0. Ela deve retornar um intervalo de números inteiros, do ponto de código da letra A maiúscula até o ponto de código da letra H maiúscula.

Chessboard.file_range()

3. Transforme o intervalo de fileiras em uma lista de fileiras

Implemente a função ranks/0. Ela deve retornar uma lista de números inteiros, de 1 a 8. Não escreva a lista à mão, gere-a a partir do intervalo retornado pela função rank_range/0.

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

4. Transforme o intervalo de colunas em uma lista de colunas

Implemente a função files/0. Ela deve retornar uma lista de letras (strings), de "A" a "H". Não escreva a lista à mão, gere-a a partir do intervalo retornado pela função file_range/0.

Chessboard.files()
# => ["A", "B", "C", "D", "E", "F", "G", "H"]
Editar via GitHub O link abre em uma nova janela ou aba
Elixir Exercism

Tudo pronto para começar Tabuleiro de xadrez?

Crie sua conta no Exercism para aprender e dominar Elixir com 58 conceitos168 exercícios e mentoria humana de verdade, tudo de graça.