Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int [][] map = { // 20 x 20
- { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
- {154, 155, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
- {163, 164, 165, 166, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
- { -1, -1, -1, -1, -1, -1, -1, -1, 153, 154, 155, 156, -1, -1, -1, 153, 154, 155, 156, -1},
- { -1, -1, 153, 154, 155, 156, -1, -1, 162, 163, 164, 165, 166, -1, -1, 162, 163, 164, 165, 166},
- { -1, -1, 162, 163, 164, 165, 166, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
- { -1, 8, -1, -1, -1, 8, -1, -1, -1, -1, -1, 153, 154, 155, 156, -1, -1, -1, 8, -1},
- { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 162, 163, 164, 165, 166, -1, -1, -1, -1},
- { -1, -1, 135, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
- {101, 65, 65, 37, 38, 39, 40, 41, 42, 46, 46, -1, -1, -1, -1, 136, -1, -1, 33, -1},
- {110, -1, -1, -1, 47, 48, 49, 50, -1, 55, 55, -1, 46, 37, 38, 39, 40, 41, 42, 101},
- {110, -1, -1, -1, 56, 57, 58, 59, -1, 64, 55, 46, 55, -1, 47, 48, 49, 50, -1, 110},
- {110, 72, 73, -1, -1, 66, 67, 78, 79, -1, 64, 55, 64, -1, 56, 57, 58, 59, -1, 101},
- {110, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, 64, -1, -1, -1, 66, 67, -1, -1, 110},
- {110, -1, 91, 92, 93, 94, 95, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101},
- {110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101},
- {110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101},
- {110, 121, 122, 123, -1, -1, -1, -1, -1, 121, 122, 123, -1, -1, -1, -1, 121, 122, 123, 101},
- {110, 130, 131, 132, -1, -1, -1, -1, -1, 130, 131, 132, -1, -1, -1, -1, 130, 131, 132, 101},
- {110, 139, 140, 141, 144, 146, -1, -1, -1, 139, 140, 141, -1, -1, -1, 146, 139, 140, 141, 110}
- };
- PImage
- tiles,
- tile; // ismanusvaikas.lt/data/tileset2.png - 288 x 608
- int
- mapSize = 20,
- tileSize = 32,
- tilesWidth = 9, // columns
- tilesHeight = 19, // rows // actually not used
- tilesX = tileSize * (mapSize + 2),
- chosen = -1;
- boolean showTile = false;
- void setup () {
- size(31 * 32, 20 * 32);
- noFill();
- stroke(255, 50);
- textSize(tileSize);
- tiles = loadImage("data/tileset2.png"); // 9 x 19
- }
- void grid () { // gal ir galima daryti su linijomis, bet tinka ir taip (nežinau, kas paprasčiau)
- for (int y = 0; y < mapSize; ++y) {
- for (int x = 0; x < mapSize; ++x)
- square(x * tileSize, y * tileSize, tileSize);
- }
- }
- void _map () {
- for (int y = 0; y < mapSize; ++y) {
- for (int x = 0; x < mapSize; ++x){
- int temp = map[y][x]; // atrodo pakankamai keistai, tačiau taip ir yra –
- // aš pirmiausia susirandu didelę ląstelę, ir tuomet joje ieškau konkrečios
- if (!(temp == -1)){
- tile = tiles.get(temp % tilesWidth * tileSize, temp / tilesWidth * tileSize, tileSize, tileSize);
- image(tile, x * tileSize, y * tileSize);
- }
- }
- }
- }
- void keyPressed () {
- if (key == TAB)
- showTile = !showTile;
- }
- void paint () {
- if (mouseX > tilesX && mouseX < tilesX + tiles.width && mousePressed) {
- chosen = ((mouseX - tilesX) / tileSize) + (mouseY / tileSize * tilesWidth);
- showTile = true;
- }
- if (showTile) {
- tile = tiles.get(chosen % tilesWidth * tileSize, chosen / tilesWidth * tileSize, tileSize, tileSize);
- image(tile, mouseX - tileSize/2, mouseY - tileSize/2);
- }
- if (mouseX > 0 && mouseX < mapSize * tileSize && mouseY > 0 && mouseY < height && mousePressed)
- map[mouseY/tileSize][mouseX/tileSize] = chosen;
- }
- void draw () {
- background(85, 180, 250);
- image(tiles, tilesX, 0, tiles.width, tiles.height); // available tiles
- grid();
- _map();
- paint();
- text(chosen, width * 0.95, height * 0.95);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement