2014-05-25 23:53:02 +00:00
var prevGameState ;
2014-05-31 23:37:23 +00:00
function showText ( text ) {
var messages = {
2014-06-01 01:45:25 +00:00
'paused' : "<div class='centeredHeader unselectable'>Paused</div><br><div class='unselectablecenteredSubHeader'>Press p to resume</div>" ,
2014-06-21 20:58:18 +00:00
'start' : "<div class='centeredHeader unselectable' style='line-height:80px;' >Press enter to start</div>" ,
'gameover' : "<div class='centeredHeader unselectable'> Game Over: " + score + " pts</div><br><div class='unselectablecenteredSubHeader'>Press enter to restart</div>" ,
2014-06-01 01:45:25 +00:00
} ;
2014-06-01 01:43:12 +00:00
2014-05-31 23:37:23 +00:00
var pt = document . getElementById ( "overlay" ) ;
pt . className = '' ;
pt . innerHTML = messages [ text ] ;
}
2014-06-01 01:43:12 +00:00
2014-05-31 23:37:23 +00:00
function hideText ( text ) {
var pt = document . getElementById ( "overlay" ) ;
pt . className = 'faded' ;
pt . innerHTML = '' ;
}
2014-06-21 20:58:18 +00:00
function gameOverDisplay ( ) {
var c = document . getElementById ( "canvas" ) ;
c . className = "blur" ;
showText ( 'gameover' ) ;
}
2014-06-01 01:43:12 +00:00
2014-05-31 15:26:15 +00:00
function pause ( x , o , message ) {
message = 'paused' ;
var c = document . getElementById ( "canvas" ) ;
if ( gameState == - 1 ) {
2014-05-31 23:37:23 +00:00
hideText ( ) ;
2014-05-31 15:26:15 +00:00
c . className = '' ;
setTimeout ( function ( ) {
2014-05-27 01:05:58 +00:00
gameState = prevGameState ;
2014-05-31 15:26:15 +00:00
} , 300 ) ;
2014-05-31 15:13:40 +00:00
2014-05-31 15:26:15 +00:00
}
2014-06-22 17:25:20 +00:00
else if ( gameState != - 2 && gameState !== 0 && gameState !== 2 ) {
2014-05-31 15:26:15 +00:00
c . className = "blur" ;
2014-05-31 23:37:23 +00:00
showText ( message ) ;
2014-05-31 15:26:15 +00:00
prevGameState = gameState ;
gameState = - 1 ;
}
2014-05-31 15:13:40 +00:00
}
2014-05-27 01:05:58 +00:00
2014-05-17 16:41:54 +00:00
keypress . register _combo ( {
2014-05-18 18:15:13 +00:00
keys : "left" ,
2014-05-19 21:07:18 +00:00
on _keydown : function ( ) {
2014-05-24 19:56:29 +00:00
if ( MainClock ) {
MainClock . rotate ( 1 ) ;
}
2014-05-18 18:15:13 +00:00
}
2014-05-17 16:41:54 +00:00
} ) ;
keypress . register _combo ( {
2014-05-18 18:15:13 +00:00
keys : "right" ,
2014-05-19 21:07:18 +00:00
on _keydown : function ( ) {
2014-05-24 19:56:29 +00:00
if ( MainClock ) {
MainClock . rotate ( - 1 ) ;
}
2014-05-18 18:15:13 +00:00
}
2014-05-17 16:41:54 +00:00
} ) ;
2014-05-17 22:34:02 +00:00
2014-05-23 04:51:03 +00:00
keypress . register _combo ( {
keys : "p" ,
2014-05-27 01:05:58 +00:00
on _keydown : function ( ) { pause ( ) ; }
2014-05-23 04:51:03 +00:00
} ) ;
2014-05-22 21:04:57 +00:00
keypress . register _combo ( {
keys : "q" ,
on _keydown : function ( ) {
toggleDevTools ( ) ;
}
} ) ;
2014-05-22 20:36:32 +00:00
keypress . register _combo ( {
keys : "e" ,
on _keydown : function ( ) {
2014-05-22 21:04:57 +00:00
exportHistory ( ) ;
2014-05-22 20:36:32 +00:00
}
} ) ;
keypress . register _combo ( {
keys : "i" ,
on _keydown : function ( ) {
importHistory ( ) ;
}
} ) ;
2014-05-31 13:56:38 +00:00
keypress . register _combo ( {
2014-05-31 14:22:42 +00:00
keys : "space" ,
2014-05-31 13:56:38 +00:00
on _keydown : function ( ) {
spaceModifier = 2 ;
} ,
on _keyup : function ( ) {
spaceModifier = 1 ;
}
} ) ;
2014-05-25 04:44:25 +00:00
keypress . register _combo ( {
keys : "enter" ,
on _keydown : function ( ) {
2014-05-31 22:11:26 +00:00
if ( gameState != - 2 && gameState != - 1 ) {
2014-05-26 01:49:03 +00:00
init ( ) ;
}
}
2014-05-25 04:44:25 +00:00
} ) ;
2014-05-31 22:11:26 +00:00
$ ( document ) . ready ( function ( ) {
2014-06-01 01:43:12 +00:00
$ ( "#pauseBtn" ) . on ( 'touchstart mousedown' , function ( ) {
2014-05-31 22:11:26 +00:00
pause ( ) ;
if ( $ ( $ ( "#pauseBtn" ) . children ( ) [ 0 ] ) . attr ( 'class' ) . indexOf ( 'pause' ) == - 1 ) {
$ ( "#pauseBtn" ) . html ( '<i class="fa fa-pause fa-2x"></i>' ) ;
} else {
$ ( "#pauseBtn" ) . html ( '<i class="fa fa-play fa-2x"></i>' ) ;
}
return false ;
} ) ;
document . body . addEventListener ( 'mousedown' , function ( e ) {
handleClickTap ( e . clientX ) ;
} , false ) ;
2014-05-22 20:36:32 +00:00
2014-05-31 22:11:26 +00:00
document . body . addEventListener ( 'touchstart' , function ( e ) {
handleClickTap ( e . changedTouches [ 0 ] . clientX ) ;
} , false ) ;
} , false ) ;
function handleClickTap ( x ) {
if ( x < window . innerWidth / 2 ) {
2014-06-01 00:10:32 +00:00
if ( gameState != 1 && gameState != - 2 && gameState != - 1 ) {
2014-05-26 01:49:03 +00:00
init ( ) ;
}
MainClock . rotate ( 1 ) ;
}
2014-05-31 22:11:26 +00:00
if ( x > window . innerWidth / 2 ) {
2014-06-01 00:10:32 +00:00
if ( gameState != 1 && gameState != - 2 && gameState != - 1 ) {
2014-05-26 01:49:03 +00:00
init ( ) ;
}
MainClock . rotate ( - 1 ) ;
}
2014-05-31 23:39:07 +00:00
}