103 lines
2.1 KiB
JavaScript
103 lines
2.1 KiB
JavaScript
|
|
let White = {
|
|
moveLeft : 0,
|
|
Time : 0,
|
|
TimeStartMove : 0
|
|
}
|
|
|
|
let Black = {
|
|
moveLeft : 0,
|
|
Time : 0,
|
|
TimeStartMove : 0
|
|
}
|
|
let has_start = false
|
|
|
|
Block = {
|
|
Type : false,
|
|
Time : 0,
|
|
last_time : 0
|
|
}
|
|
|
|
config = {
|
|
StartTime : 600000,
|
|
StartMoveLeft : 8,
|
|
BlockTime : 180000,
|
|
last_block : true
|
|
}
|
|
|
|
inizalize_clock()
|
|
|
|
function inizalize_clock(){
|
|
toggle_trais()
|
|
White.Time = config.StartTime
|
|
White.moveLeft = config.StartMoveLeft
|
|
Black.Time = config.StartTime
|
|
Black.moveLeft = config.StartMoveLeft
|
|
Block.Time = config.BlockTime
|
|
Block.Type = !config.last_block
|
|
|
|
change_move_left_black(Black.moveLeft)
|
|
change_move_left_white(White.moveLeft)
|
|
change_time_black(Black.Time)
|
|
change_time_white(White.Time)
|
|
change_time_block(Block.Time)
|
|
}
|
|
|
|
function start(){
|
|
White.TimeStartMove = Date.now()
|
|
Black.TimeStartMove = Date.now()
|
|
Block.last_time = Date.now()
|
|
update()
|
|
has_start = true
|
|
}
|
|
|
|
function load_cube_scene(){
|
|
hide_scene("Clock")
|
|
hideGlow()
|
|
show_scene("Cube")
|
|
|
|
}
|
|
|
|
|
|
|
|
function white_touch(){
|
|
if (trais) return null
|
|
if (!has_start) return null
|
|
toggle_trais()
|
|
Black.TimeStartMove = Date.now()
|
|
White.moveLeft -= 1
|
|
change_move_left_white(White.moveLeft)
|
|
}
|
|
|
|
function black_touch(){
|
|
if (!trais) return null
|
|
if (!has_start) return null
|
|
toggle_trais()
|
|
White.TimeStartMove = Date.now()
|
|
Black.moveLeft -= 1
|
|
change_move_left_black(Black.moveLeft)
|
|
if (Black.moveLeft == 0){
|
|
load_cube_scene()
|
|
}
|
|
}
|
|
function update() {
|
|
|
|
if (!trais) {// trais au blanc
|
|
White.Time -= (Date.now() - White.TimeStartMove)
|
|
White.TimeStartMove = Date.now()
|
|
}else{
|
|
Black.Time -= (Date.now() - Black.TimeStartMove)
|
|
Black.TimeStartMove = Date.now()
|
|
}
|
|
Block.Time -= (Date.now() - Block.last_time)
|
|
Block.last_time = Date.now()
|
|
if (Block.Time <= 0){
|
|
load_cube_scene()
|
|
}
|
|
|
|
change_time_white(White.Time)
|
|
change_time_black(Black.Time)
|
|
change_time_block(Block.Time)
|
|
requestAnimationFrame(update);
|
|
}
|