delay canvas drawing, only update location.href if idle, add bhickey maps
This commit is contained in:
parent
1a69b4673a
commit
dc3726f4c0
|
@ -6,6 +6,7 @@ MAPS+=$(wildcard ../maps/flood*.map)
|
|||
MAPS+=$(wildcard ../maps/contest?.map ../maps/contest10.map)
|
||||
MAPS+=$(wildcard ../maps/ems*.map)
|
||||
MAPS+=../maps/pacman.map ../maps/pacman2.map
|
||||
MAPS+=$(wildcard ../maps/bhickey*.map)
|
||||
|
||||
all: maps.js sprites.png gui.min.js mine.min.js maps.min.js
|
||||
|
||||
|
|
61
js/gui.js
61
js/gui.js
|
@ -221,8 +221,8 @@ function mineGui_setMap(map, ndx) {
|
|||
mineGui_curmap = mineMaps[map];
|
||||
mineGui_curndx = ndx;
|
||||
mineGui_moves = mineGui_movesBackup[mineGui_curndx];
|
||||
location.href = '#' + mineGui_mapname + ';' + mineGui_moves;
|
||||
if (!mineGui_moves) mineGui_moves = "";
|
||||
location.href = '#' + mineGui_mapname + ';' + mineGui_moves;
|
||||
mineGui_updateMine();
|
||||
}
|
||||
|
||||
|
@ -239,25 +239,26 @@ function mineGui_updateMine() {
|
|||
mineGui_show();
|
||||
}
|
||||
|
||||
function mineGui_show() {
|
||||
if (!mineGui_mine) return;
|
||||
var mineGui_drawQueued = false;
|
||||
function mineGui_draw() {
|
||||
if (!mineGui_drawQueued) {
|
||||
mineGui_drawQueued = true;
|
||||
window.setTimeout(mineGui_draw_queued, 0);
|
||||
}
|
||||
}
|
||||
function mineGui_draw_queued() {
|
||||
mineGui_drawQueued = false;
|
||||
|
||||
location.href = '#' + mineGui_mapname + ';' + mineGui_moves;
|
||||
var state = "";
|
||||
var spriteOffset = mineGui_spriteOffset;
|
||||
switch (mineGui_mine.state) {
|
||||
case Mine.ALIVE:
|
||||
state = "Still mining";
|
||||
break;
|
||||
case Mine.LOST:
|
||||
state = "Robot broken - " + mineGui_mine.reason;
|
||||
spriteOffset = mineGui_spriteOffset_Lost;
|
||||
break;
|
||||
case Mine.ABORTED:
|
||||
state = "Aborted";
|
||||
break;
|
||||
case Mine.WON:
|
||||
state = "Won - " + mineGui_mine.reason;
|
||||
spriteOffset = mineGui_spriteOffset_Won;
|
||||
break;
|
||||
}
|
||||
|
@ -278,7 +279,7 @@ function mineGui_show() {
|
|||
ctx.fillStyle = "black";
|
||||
ctx.fillRect(0,0,canv.width, canv.height);
|
||||
var sprites = mineGui_images.sprites;
|
||||
|
||||
|
||||
for (var y = 0; y < mineGui_mine.height; ++y) {
|
||||
for (var x = 0; x < mineGui_mine.width; ++x) {
|
||||
ctx.drawImage(sprites, 0, spriteOffset[map[y][x]] * 16, 16, 16, 16*x, 16*y, 16, 16);
|
||||
|
@ -294,7 +295,45 @@ function mineGui_show() {
|
|||
mapNode.style.display = '';
|
||||
mapNode.style.visibility = 'visible';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var mineGui_fragmentQueued = false;
|
||||
function mineGui_updateFragment() {
|
||||
if (false !== mineGui_fragmentQueued) window.clearTimeout(mineGui_fragmentQueued);
|
||||
mineGui_fragmentQueued = window.setTimeout(mineGui_updateFragment_queued, 100);
|
||||
}
|
||||
function mineGui_updateFragment_queued() {
|
||||
mineGui_fragmentQueued = false;
|
||||
|
||||
location.href = '#' + mineGui_mapname + ';' + mineGui_moves;
|
||||
}
|
||||
|
||||
function mineGui_show(queued) {
|
||||
if (!mineGui_mine) return;
|
||||
|
||||
mineGui_updateFragment();
|
||||
|
||||
var state = "";
|
||||
switch (mineGui_mine.state) {
|
||||
case Mine.ALIVE:
|
||||
state = "Still mining";
|
||||
break;
|
||||
case Mine.LOST:
|
||||
state = "Robot broken - " + mineGui_mine.reason;
|
||||
break;
|
||||
case Mine.ABORTED:
|
||||
state = "Aborted";
|
||||
break;
|
||||
case Mine.WON:
|
||||
state = "Won - " + mineGui_mine.reason;
|
||||
break;
|
||||
}
|
||||
|
||||
var waterLevel = Math.max(mineGui_mine.water_level, 0);
|
||||
var map = mineGui_mine.toString().split(/\n/);
|
||||
|
||||
mineGui_draw();
|
||||
|
||||
if (waterLevel > 0) {
|
||||
document.getElementById("mineGui_mineMapWater").textContent = map.splice(-waterLevel).join("\n");
|
||||
} else {
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,26 @@
|
|||
################################ ##
|
||||
#******#******#******#**********L #
|
||||
##*****##*****##*****##********* #
|
||||
#*#****#*#****#*#****#*#*******## #
|
||||
# *#***# *#***# *#***# *#*****# # #
|
||||
# *#**# *#**# *#**# *#***# # #
|
||||
# *#*# *#*# *#*# *#*# # #
|
||||
# *A* *B* *C* *D* # #
|
||||
# \ \ \ \ # #
|
||||
# * * * * # #
|
||||
#*******************************# #
|
||||
#R..............................# #
|
||||
#\ # #
|
||||
#1 # #
|
||||
# # #
|
||||
################################# #
|
||||
# WE #
|
||||
###################################
|
||||
|
||||
Growth 1
|
||||
Trampoline A targets 1
|
||||
Trampoline B targets 1
|
||||
Trampoline C targets 1
|
||||
Trampoline D targets 1
|
||||
Trampoline E targets 1
|
||||
Author bhickey (https://gist.github.com/3115673)
|
|
@ -0,0 +1,28 @@
|
|||
###L######################
|
||||
#W#R #*****#!#\\\\\\\\\##
|
||||
#*# ..\.. #\\\\\\\*\##
|
||||
#*#A 2####### ########.###
|
||||
#*# #*****# #*****#B 3##
|
||||
#*# ..\.. ..\.. ##
|
||||
#**E 5 ############## ##
|
||||
#***.##C 1\ D# ####
|
||||
#***. #****###****# ***##
|
||||
#*** #G...\4 ...H# ..\ #
|
||||
#\## ################# ##
|
||||
#\\# #*****#F 6##*** ##
|
||||
#\\# ..\.. ... ##
|
||||
####################### ##
|
||||
##########################
|
||||
|
||||
Water 0
|
||||
Flooding 20
|
||||
Waterproof 18
|
||||
Trampoline A targets 1
|
||||
Trampoline B targets 1
|
||||
Trampoline C targets 2
|
||||
Trampoline D targets 3
|
||||
Trampoline E targets 4
|
||||
Trampoline F targets 4
|
||||
Trampoline G targets 5
|
||||
Trampoline H targets 6
|
||||
Author bhickey (https://gist.github.com/3114986)
|
Loading…
Reference in New Issue