Tablice dwuwymiarowe i random

0

Potrzebuję pomocy z zadaniem które męczę już dłuższą chwilę jako żółtodziób. O ile pierwsze trzy dwa punkty ogarniam to mam problem z resztą. poniżej treść:

  • należy stworzyć abstrakcyjną klasę Pion reprezentującą ogólny element (pion) z abstrakcyjną metodą getName() zwracającą wartość typu String
  • należy stworzyć trzy klasy dziedziczące po klasie Pion reprezentujące konkretne elementy (pion) występujące w szachach np. skoczek, wieża, hetman, pion itp.
  • implementacje metody getName() powinny zwracać dwuliterowy opis Pionu np. "BP" jako skrót od black pown czyli czarny pion itd.
  • w głównej klasie Szachy należy przechowywać układ szachownicy w dwuwymiarowej tablicy elementów abstrakcyjnego typu Pion
  • przy starcie programu należy wylosować 5 elementów (pionu) i rozmieść je losowo na szachownicy wg ogólnych zasad gry w szachy
    (np. nie mogą istnieć 2 wieże tego samego koloru, nie mogą na jednym polu stać dwa piony itd.)
  • w uproszczony sposób należy wyświetlić aktualny stan szachownicy.
1
onewedel napisał(a):

. O ile pierwsze trzy dwa punkty ogarniam

To pokaż.

0

Utworzyłem klasę abstrakcyjną:

public abstract class Pion {
    abstract String getName();
}

Do tego 3 inne klasy dla figur: poniżej jedna dla przykładu:

public class King extends Pion {
    @Override
    String getName() {
        return "KB";
    }
}

Natomiast nie wiem jak się zabrać za tą szachownicę i korzystanie z funkcji random w tym przypadku

0

@onewedel:

Król nie dziedziczy z pionka.

Problem jest już w samym zadaniu "z pion odziedzicz pion". Klasa bazową jest coś w rodzaju Figura / Figure. Sądzę, ze to taki przypadek, ze głupiego polecenia nie należy realizować

Dziedziczenie to relacja "jest", czyli jabłko "jest" owocem itd.

0

Zmień klasę abstrakcyjną z Pion na Figura, bo pion też jest figurą, powód napisany wyżej.
Dalej musisz zrobić klasę Szachownica (zgodnie z zadaniem) i ona musi mieć pole Figura[][]. Czyli dwuwymiarowa tablica o wymiarach 8x8 czy tam ile chcesz. Zrób tak, że każda komórka ma null jako wartość, ustal sobie, że null na szachownicy to brak pionka. Wylosuj dwie liczby z przedziału 0-7 (bo numerowanie tablic jest od 0). Sprawdzasz czy szachownica[i][j] czyli pole na szachownicy w wylosowanej pozycji jest null czy nie (czy stoi już tam figura czy nie). Jeżeli jest null czyli dwa razy wylosowała się ta sama pozycja to losujesz raz jeszcze tak długo aż trafisz na puste pole. Wtedy wpisujesz tam nową figurę (new King()).
W ten sposób rozmieścisz figury po szachownicy.

Drugie zadanie to nie wpisywanie zawsze new King tylko wylosowanie figury do umieszczenia.

Trzecie zadanie to sprawdzenie czy pole jest czarne czy białe i umieszczenie tam figury o właściwym kolorze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1