Commit a75dc2f9 authored by Torstein Strømme's avatar Torstein Strømme
Browse files

Update README.md

parent 93ec7f5c
......@@ -78,6 +78,12 @@ static final PieceShape S = new PieceShape(
);
```
- Når vi skal implementere iteratoren til PositionedPiece, kan vi benytte samme generelle idé som vi gjorde i iteratoren til Grid: opprett en liste `a`, legg til CoordinateItem<Tile> for de riktige posisjonene i listen, og så returnere `a.iterator()`.
- For å legge til de riktige posisjonene i listen, benytt en nøstet for-løkke som itererer igjennom posisjonene til selve fasongen (returverdien til getShape -metoden til PieceShape -objektet). Dersom verdien er `true`, opprett et Coordinate hvor raden er summen av den raden du itererer over i selve fasongen + raden som brikken har som helhet. Tilsvarende for kolonnen: den er summen av kolonnen i selve fasongen + kolonnen til brikken som helhet.
- For å tegne brikken: tilgjengeliggjør flisene til den fallende brikken *på akkurat samme måte* som vi tilgjengeliggjorde flisene til brettet. Det vil si, opprett en ny metode i TetrisViewable som returnerer `Iterable<CoordinateItem<Tile>>`. I TetrisView kan denne tegnes nøyaktig på samme måte som brettet, men ved å iterere over flisene man får fra denne metoden i stedet for flisene man får som kommer fra brettet.
### Steg 5 (rotasjon)
- Det finnes ulike standarder for hvordan brikken skal rotere, og avhengig av hvordan man implementerer `PieceShape`, kan noen former for rotasjon være enklere å implementere. Dersom `boolean[][]` som representerer fasongen i PieceShape alltid er kvadratisk, vil det ikke være nødvendig å flytte brikken tilbake til "sentrum" i rotasjonssteget. Ulempen er at vi må gjøre litt mer arbeid for å sikre at brikken plasseres øverst på brettet når den blir laget. Begge varianter vil bli godtatt, så lenge rotasjonen fremstår som pen (rundt ca midten av seg selv) og uten å drifte etter fire rotasjoner.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment