Kurzusok
/
Haskell
Haskell
/
Feladatok
/
Királynőtámadás
Királynőtámadás

Királynőtámadás

Közepes

Utasítások

Két vezér helyzete adott egy sakktáblán. Állapítsd meg, hogy állnak-e úgy, hogy meg tudják támadni egymást.

A sakkban a vezér azokat a bábukat tudja megtámadni, amelyek ugyanabban a sorban, oszlopban vagy átlóban vannak.

A sakktábla egy 8×8-as tömbbel ábrázolható.

Ha tehát azt mondják, hogy a fehér vezér a c5 mezőn áll (nullától indexelve a 2. oszlopban, a 3. sorban), a fekete vezér pedig az f2 mezőn (nullától indexelve az 5. oszlopban, a 6. sorban), akkor tudod, hogy az elrendezés így néz ki:

Sakktábla két vezérrel. A c5 mezőn álló vezérből kiinduló nyilak mutatják a lehetséges ütési irányokat vonal, sor és átló mentén.

Arra is válaszolsz majd, hogy a vezérek meg tudják-e támadni egymást. Ebben az esetben a válasz igen, képesek rá, mert mindkét bábu ugyanabban az átlóban van.

Köszönet

A sakktábla képét habere-et-dispertire készítette LaTeX és Ulrike Fischer chessboard package csomagjának felhasználásával.

Tippek

A feladat megoldásához az alábbi függvényeket kell megvalósítanod:

  • boardString
  • canAttack

A típusszignatúrák már a helyükön vannak, a függvényeket viszont neked kell definiálnod.

A pozíciókat két elemből álló párokkal adod meg:

  • Az első elem a sor (sakknyelven a rank).
  • A második elem az oszlop (sakknyelven a file).
  • A (0, 0) a tábla bal felső sarka, a (0, 7) a jobb felső,
  • a (7, 0) a bal alsó, a (7, 7) pedig a jobb alsó.
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Haskell Exercism

Készen állsz elkezdeni a(z) Királynőtámadás feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Haskell nyelvet 107 feladat segítségével, valódi emberi mentorálással, mindez ingyen.