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

Update README.md

parent 3071fcd5
......@@ -42,7 +42,28 @@ TetrisBoard(int rows, int cols) {
Dette vil gjøre at konstruktøren til superklassen (altså Grid) blir utført.
- I guiden står det at vi skal opprette en metode som returnerer en `Iterable<CoordinateItem<Tile>>`. Merk at en *Iterable* ikke er det samme som en *Iterator*. Guiden spesifiserer ikke hva metoden skal hete, men kall den gjerne noe som beskriver *hva* som itereres over. I Torstein sitt løsningsforslag (se [uml](./tetris-uml.pdf)) kaller han den `tilesInBoard`.
- I guiden står det at vi skal definere en metode i TertrisViewable som returnerer en `Iterable<CoordinateItem<Tile>>`. Merk at en *Iterable* ikke er det samme som en *Iterator*. Guiden spesifiserer ikke hva metoden skal hete, men kall den gjerne noe som beskriver *hva* som itereres over. I Torstein sitt løsningsforslag (se [uml](./tetris-uml.pdf)) kaller han den `tilesInBoard`.
- Et objekt av typen `TetrisBoard` har flere typer. For eksempel har det typen `TetrisBoard`, slik at vi kan si `TetrisBoard tetrisBoard = new TetrisBoard(15, 10);`. Men fordi TetrisBoard utvider Grid&lt;Tile&gt;, har objektet også typen `Grid<Tile>`. Vi kan med andre ord si `Grid<Tile> gridOfTiles = tetrisBoard;` uten at noe blir feil. Grid&lt;Tile&gt; implementerer IGrid&lt;Tile&gt; -- derfor har objekter i klassen TetrisBoard også typen `IGrid<Tile>`. IGrid&lt;Tile&gt;, på sin side, utvider `Iterable<CoordinateItem<Tile>>`. Ergo har et `TetrisBoard` -objekt typen `Iterable<CoordinateItem<Tile>>`.
- Når hjørnene skal fargelegges, sier guiden at vi fargelegger hjørnene i konstruktøren til `TetrisModel`, etter at feltvariabelen med TetrisBoard blir initiert. For eksempel vil dette sette fargen til hjørnet oppe til venstre til grønn:
```java
TetrisModel( ... ) {
this.tetrisBoard = new TetrisBoard( ... );
this.tetrisBoard.set(new Coordinate(0, 0), new Tile('g', Color.GREEN));
}
```
- Når brettet skal tegnes, gjelder det å vite hvilken farge som skal tegnes hvor på brettet. Dette er tilgjengelig i TetrisView via metoden som returnerer en `Iterable<CoordinateItem<Tile>>`. Dersom metoden som returnerer en slik er kalt *tilesInBoard*, kan vi se igjennom alle flisene på brettet slik:
```java
for (CoordinateItem<Tile> coordinateItem : this.mittNavnPåEtTetrisViewableObjektSomRepresentererModellenSomSkalTegnes.tilesInBoard()) {
int row = coordinateItem.coordinate.row;
int col = coordinateItem.coordinate.col;
Tile tile = coordinateItem.item;
...
}
### Steg 5 (rotasjon)
......
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