import java.util.Arrays;
class Main{
public static void main
(String[] a
){ Main m = new Main();
m.drawMap(19, 19, '+', 'C', 2, 5);
m.drawMap(10, 10, '.', 'X', 4, 2);
m.drawMap(5, 5, 'a', 'B', 5, 5);
}
/*
* Prints a block of sizeX by sizeY of the filler character,
* where the character at position {posX, posY} (1-indexed) is replaced with the replacement character
*
* TODO: Validation checks. Currently assumes posX and posY are always within range of the matrix
*/
public void drawMap(int sizeX, int sizeY, char fillerChar, char replacementChar, int posX, int posY){
// Create a char-matrix of dimensions sizeX by sizeY
char[][] matrix = new char[sizeX][sizeY];
// Fill this matrix initially with the mapP character
for(char[] row : matrix)
// Replace the character at position {currX, currY} (1-indexed) with the mapC character
matrix[posX-1][posY-1] = replacementChar;
// Print the matrix
prettyPrintMatrix(matrix);
}
private void prettyPrintMatrix(char[][] matrix){
for(char[] row : matrix){
for(char ch : row)
}
}
}
aW1wb3J0IGphdmEudXRpbC5BcnJheXM7CgpjbGFzcyBNYWluewogIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGEpewogICAgTWFpbiBtID0gbmV3IE1haW4oKTsKICAgIG0uZHJhd01hcCgxOSwgMTksICcrJywgJ0MnLCAyLCA1KTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwogICAgbS5kcmF3TWFwKDEwLCAxMCwgJy4nLCAnWCcsIDQsIDIpOwogICAgU3lzdGVtLm91dC5wcmludGxuKCk7CiAgICBtLmRyYXdNYXAoNSwgNSwgJ2EnLCAnQicsIDUsIDUpOwogIH0KCiAgLyoKICAgKiBQcmludHMgYSBibG9jayBvZiBzaXplWCBieSBzaXplWSBvZiB0aGUgZmlsbGVyIGNoYXJhY3RlciwKICAgKiB3aGVyZSB0aGUgY2hhcmFjdGVyIGF0IHBvc2l0aW9uIHtwb3NYLCBwb3NZfSAoMS1pbmRleGVkKSBpcyByZXBsYWNlZCB3aXRoIHRoZSByZXBsYWNlbWVudCBjaGFyYWN0ZXIKICAgKiAKICAgKiBUT0RPOiBWYWxpZGF0aW9uIGNoZWNrcy4gQ3VycmVudGx5IGFzc3VtZXMgcG9zWCBhbmQgcG9zWSBhcmUgYWx3YXlzIHdpdGhpbiByYW5nZSBvZiB0aGUgbWF0cml4CiAgICovCiAgcHVibGljIHZvaWQgZHJhd01hcChpbnQgc2l6ZVgsIGludCBzaXplWSwgY2hhciBmaWxsZXJDaGFyLCBjaGFyIHJlcGxhY2VtZW50Q2hhciwgaW50IHBvc1gsIGludCBwb3NZKXsKICAgIC8vIENyZWF0ZSBhIGNoYXItbWF0cml4IG9mIGRpbWVuc2lvbnMgc2l6ZVggYnkgc2l6ZVkKICAgIGNoYXJbXVtdIG1hdHJpeCA9IG5ldyBjaGFyW3NpemVYXVtzaXplWV07CgogICAgLy8gRmlsbCB0aGlzIG1hdHJpeCBpbml0aWFsbHkgd2l0aCB0aGUgbWFwUCBjaGFyYWN0ZXIKICAgIGZvcihjaGFyW10gcm93IDogbWF0cml4KQogICAgICBBcnJheXMuZmlsbChyb3csIGZpbGxlckNoYXIpOwoKICAgIC8vIFJlcGxhY2UgdGhlIGNoYXJhY3RlciBhdCBwb3NpdGlvbiB7Y3VyclgsIGN1cnJZfSAoMS1pbmRleGVkKSB3aXRoIHRoZSBtYXBDIGNoYXJhY3RlcgogICAgbWF0cml4W3Bvc1gtMV1bcG9zWS0xXSA9IHJlcGxhY2VtZW50Q2hhcjsKCiAgICAvLyBQcmludCB0aGUgbWF0cml4CiAgICBwcmV0dHlQcmludE1hdHJpeChtYXRyaXgpOwogIH0KCiAgcHJpdmF0ZSB2b2lkIHByZXR0eVByaW50TWF0cml4KGNoYXJbXVtdIG1hdHJpeCl7CiAgICBmb3IoY2hhcltdIHJvdyA6IG1hdHJpeCl7CiAgICAgIGZvcihjaGFyIGNoIDogcm93KQogICAgICAgIFN5c3RlbS5vdXQucHJpbnQoY2gpOwogICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKTsKICAgIH0KICB9Cn0=