4

Solution to level 5 in Untrusted: http://alex.nisnevich.com/untrusted/

 2 years ago
source link: https://gist.github.com/Untrusted-Game/7fb4cd71249306d79a80c72ffa4c88b6
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
http://alex.nisnevich.com/untrusted/ · GitHub

Instantly share code, notes, and snippets.

Solution to level 5 in Untrusted: http://alex.nisnevich.com/untrusted/

/****************** * minesweeper.js * ****************** * * So much for Asimov's Laws. They're actually trying to kill * you now. Not to be alarmist, but the floor is littered * with mines. Rushing for the exit blindly may be unwise. * I need you alive, after all. * * If only there was some way you could track the positions * of the mines... */

function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; }

function startLevel(map) { for (x = 0; x < map.getWidth(); x++) { for (y = 0; y < map.getHeight(); y++) { map.setSquareColor(x, y, '#f00'); } }

map.placePlayer(map.getWidth() - 5, 5);

for (var i = 0; i < 75; i++) { var x = getRandomInt(0, map.getWidth() - 1); var y = getRandomInt(0, map.getHeight() - 1); if ((x != 2 || y != map.getHeight() - 1) && (x != map.getWidth() - 5 || y != 5)) { // don't place mine over exit or player! map.placeObject(x, y, 'mine'); map.setSquareColor(x,y, '#fff'); } }

map.placeObject(2, map.getHeight() - 1, 'exit'); }

function validateLevel(map) { map.validateAtLeastXObjects(40, 'mine'); map.validateExactlyXManyObjects(1, 'exit'); }


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK