Track
/
Elixir
Elixir
/
Esercizi
/
Scacchiera
Scacchiera

Scacchiera

Esercizio di apprendimento

Introduzione

I range

I range rappresentano una sequenza di uno o più numeri interi consecutivi. Si creano collegando due numeri interi con ...

1..5

I range possono essere ascendenti o discendenti: includono sempre il primo e l'ultimo valore.

Un range implementa il protocollo Enumerable: le funzioni del modulo Enum possono essere usate per lavorare con i range.

Istruzioni

Da appassionato di scacchi, ti piacerebbe scrivere la tua versione del gioco. Sì, probabilmente ci sono già molte implementazioni di scacchi disponibili online, ma la tua sarà unica!

Ma prima di dare libero sfogo alla tua immaginazione, devi occuparti delle basi. Iniziamo generando la scacchiera.

Ogni casella della scacchiera è identificata da una coppia lettera-numero. Le colonne verticali di caselle, chiamate file, sono contrassegnate dalle lettere da A a H. Le righe orizzontali di caselle, chiamate ranks, sono numerate da 1 a 8.

1. Definisci l'intervallo dei rank

Implementa la funzione rank_range/0. Deve restituire un intervallo di numeri interi, da 1 a 8.

Chessboard.rank_range()

2. Definisci l'intervallo dei file

Implementa la funzione file_range/0. Deve restituire un intervallo di numeri interi, dal code point della lettera maiuscola A al code point della lettera maiuscola H.

Chessboard.file_range()

3. Trasforma l'intervallo dei rank in un array di rank

Implementa la funzione ranks/0. Deve restituire un array di numeri interi, da 1 a 8. Non scrivere l'array a mano, generalo dall'intervallo restituito dalla funzione rank_range/0.

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

4. Trasforma l'intervallo dei file in un array di file

Implementa la funzione files/0. Deve restituire un array di lettere (stringhe), da "A" a "H". Non scrivere l'array a mano, generalo dall'intervallo restituito dalla funzione file_range/0.

Chessboard.files()
# => ["A", "B", "C", "D", "E", "F", "G", "H"]
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Elixir Exercism

Vuoi iniziare Scacchiera?

Iscriviti a Exercism per imparare e padroneggiare Elixir con 58 concetti168 esercizi e il mentoring di persone reali, tutto gratis.