fdai7012
11 months ago
committed by
Julian
2 changed files with 106 additions and 0 deletions
@ -1,7 +1,78 @@ |
|||
package pacmanGame; |
|||
|
|||
import java.util.HashMap; |
|||
|
|||
public class Map { |
|||
public final String[] mapClassic = { |
|||
"wwwwwwwwwwwwwwwwwwwwwwwwwwwwww", |
|||
"wwwwwwwwwwwwwwwwwwwwwwwwwwwwww", |
|||
"ww............ww............ww", |
|||
"ww.wwww.wwwww.ww.wwwww.wwww.ww", |
|||
"ww.wwww.wwwww.ww.wwwww.wwww.ww", |
|||
"ww.wwww.wwwww.ww.wwwww.wwww.ww", |
|||
"ww..........................ww", |
|||
"ww.wwww.ww.wwwwwwww.ww.wwww.ww", |
|||
"ww.wwww.ww.wwwwwwww.ww.wwww.ww", |
|||
"ww......ww....ww....ww......ww", |
|||
"wwwwwww.wwwwwewwewwwww.wwwwwww", |
|||
"wwwwwww.wwwwwewwewwwww.wwwwwww", |
|||
"wwwwwww.wweeeeeeeeeeww.wwwwwww", |
|||
"wwwwwww.wwewwwwwwwweww.wwwwwww", |
|||
"wwwwwww.wweweeeeeeweww.wwwwwww", |
|||
"eeeeeee.eeeweeeeeeweee.eeeeeee", |
|||
"wwwwwww.wweweeeeeeweww.wwwwwww", |
|||
"wwwwwww.wweweeeeeeweww.wwwwwww", |
|||
"wwwwwww.wwewwwwwwwweww.wwwwwww", |
|||
"wwwwwww.wweeeeeeeeeeww.wwwwwww", |
|||
"wwwwwww.wwewwwwwwwweww.wwwwwww", |
|||
"ww............ww............ww", |
|||
"ww.wwww.wwwww.ww.wwwww.wwww.ww", |
|||
"ww.wwww.wwwww.ww.wwwww.wwww.ww", |
|||
"ww...ww................ww...ww", |
|||
"wwww.ww.ww.wwwwwwww.ww.ww.wwww", |
|||
"wwww.ww.ww.wwwwwwww.ww.ww.wwww", |
|||
"ww......ww....ww....ww......ww", |
|||
"ww.wwwwwwwwww.ww.wwwwwwwwww.ww", |
|||
"ww.wwwwwwwwww.ww.wwwwwwwwww.ww", |
|||
"ww..........................ww", |
|||
"wwwwwwwwwwwwwwwwwwwwwwwwwwwwww", |
|||
"wwwwwwwwwwwwwwwwwwwwwwwwwwwwww" |
|||
}; |
|||
|
|||
public final HashMap<String, String> mapTypes = new HashMap<String,String>(){{ |
|||
this.put("e", "empty"); |
|||
this.put(".", "dot"); |
|||
this.put("w", "wall"); |
|||
}}; |
|||
|
|||
public Cell[][] cells; |
|||
public Vector2 size; |
|||
|
|||
public Map() { |
|||
GenerateMap(mapClassic); |
|||
} |
|||
|
|||
public Map(String[] mapData) { |
|||
GenerateMap(mapData); |
|||
} |
|||
|
|||
public void GenerateMap(String[] mapData) { |
|||
|
|||
int sizeY = mapData.length; |
|||
int sizeX = mapData[0].length(); |
|||
|
|||
size = new Vector2(sizeX, sizeY); |
|||
|
|||
cells = new Cell[size.x][size.y]; |
|||
|
|||
for(int x = 0; x < size.x; x++) { |
|||
for(int y = 0; y < size.y; y++) { |
|||
Vector2 cellPos = new Vector2(x,y); |
|||
|
|||
String cellType = mapTypes.get(String.valueOf(mapData[y].charAt(x))); |
|||
|
|||
cells[x][y] = new Cell(cellPos, cellType); |
|||
} |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,35 @@ |
|||
package pacmanTests; |
|||
|
|||
import static org.assertj.core.api.Assertions.assertThat; |
|||
import static org.junit.jupiter.api.Assertions.*; |
|||
|
|||
import org.junit.jupiter.api.Test; |
|||
|
|||
import pacmanGame.*; |
|||
|
|||
|
|||
class MapTest { |
|||
|
|||
@Test |
|||
void Map_differentCellTypes_areInterpretedCorrectly() { |
|||
// arrange |
|||
String[] mapTest = { |
|||
"wew", |
|||
"w..", |
|||
"ee." |
|||
}; |
|||
String expectedTopLeft = "wall"; |
|||
String expectedMiddle = "dot"; |
|||
String expectedBottomRight = "dot"; |
|||
// act |
|||
Map testMap = new Map(mapTest); |
|||
|
|||
String topLeft = testMap.cells[0][0].type; |
|||
String middle = testMap.cells[1][1].type; |
|||
String bottomRight = testMap.cells[2][2].type; |
|||
// assert |
|||
assertThat(expectedTopLeft).isEqualTo(topLeft); |
|||
assertThat(expectedMiddle).isEqualTo(middle); |
|||
assertThat(expectedBottomRight).isEqualTo(bottomRight); |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue