@@ -33,7 +33,7 @@ function get_alea(min, max)
33
33
function draw_piece ( y , x )
34
34
{
35
35
var map_elem = document . getElementById ( 'inner_map' ) ;
36
- map_elem . innerHTML += "<div class=\"piece " + active_piece + "\" style=\"top:0" + ( y * 50 ) + "px;left:" + ( x * 50 ) + "px;\"></div>" ;
36
+ map_elem . innerHTML += "<div class=\"piece " + active_piece + "\" style=\"top:0" + ( y * 25 ) + "px;left:" + ( x * 25 ) + "px;\"></div>" ;
37
37
map [ y ] [ x ] = active_piece ;
38
38
}
39
39
@@ -122,8 +122,8 @@ function move_pieces_down()
122
122
var pieces = document . getElementsByClassName ( piece_name ) ;
123
123
for ( var i = 0 ; i < pieces . length ; i ++ )
124
124
{
125
- if ( parseInt ( pieces [ i ] . style . top ) < 1050 )
126
- pieces [ i ] . style . top = parseInt ( pieces [ i ] . style . top ) + 50 + "px" ;
125
+ if ( parseInt ( pieces [ i ] . style . top ) < 525 )
126
+ pieces [ i ] . style . top = parseInt ( pieces [ i ] . style . top ) + 25 + "px" ;
127
127
}
128
128
}
129
129
@@ -186,10 +186,10 @@ function actu_map()
186
186
{
187
187
color = get_the_color ( map [ i ] [ i2 ] ) ;
188
188
if ( map [ i ] [ i2 ] == ( active_piece - 1 ) )
189
- map_elem . innerHTML += "<div class=\"piece " + ( active_piece - 1 ) + "\" style=\"background-image:radial-gradient(circle at top right," + color + ");top:" + ( i * 50 ) + "px;left:" + ( i2 * 50 ) + "px;\"></div>" ;
189
+ map_elem . innerHTML += "<div class=\"piece " + ( active_piece - 1 ) + "\" style=\"background-image:radial-gradient(circle at top right," + color + ");top:" + ( i * 25 ) + "px;left:" + ( i2 * 25 ) + "px;\"></div>" ;
190
190
else if ( map [ i ] [ i2 ] > 0 )
191
191
{
192
- fixed_block . innerHTML += "<div class=\"piece " + map [ i ] [ i2 ] + "\" style=\"background-image:radial-gradient(circle at top right," + color + ");top:" + ( i * 50 ) + "px;left:" + ( i2 * 50 ) + "px;\"></div>" ;
192
+ fixed_block . innerHTML += "<div class=\"piece " + map [ i ] [ i2 ] + "\" style=\"background-image:radial-gradient(circle at top right," + color + ");top:" + ( i * 25 ) + "px;left:" + ( i2 * 25 ) + "px;\"></div>" ;
193
193
map [ i ] [ i2 ] = - 1 ;
194
194
}
195
195
i2 ++ ;
@@ -326,22 +326,22 @@ function move_fixed_blocks(nb_deleted_lines, frst_line_deleted)
326
326
var i3 = 0 ;
327
327
while ( i < fixed_blocks . childNodes . length )
328
328
{
329
- if ( parseInt ( fixed_blocks . childNodes [ i ] . style . top ) < ( frst_line_deleted * 50 ) )
329
+ if ( parseInt ( fixed_blocks . childNodes [ i ] . style . top ) < ( frst_line_deleted * 25 ) )
330
330
{
331
- tmp = map [ ( parseInt ( fixed_blocks . childNodes [ i ] . style . top ) / 50 ) ] [ ( parseInt ( fixed_blocks . childNodes [ i ] . style . left ) / 50 ) ] ;
332
- map [ ( parseInt ( fixed_blocks . childNodes [ i ] . style . top ) / 50 ) ] [ ( parseInt ( fixed_blocks . childNodes [ i ] . style . left ) / 50 ) ] = 0 ;
333
- fixed_blocks . childNodes [ i ] . style . top = parseInt ( fixed_blocks . childNodes [ i ] . style . top ) + ( nb_deleted_lines * 50 ) + "px" ;
334
- map [ ( parseInt ( fixed_blocks . childNodes [ i ] . style . top ) / 50 ) ] [ ( parseInt ( fixed_blocks . childNodes [ i ] . style . left ) / 50 ) ] = tmp ;
331
+ tmp = map [ ( parseInt ( fixed_blocks . childNodes [ i ] . style . top ) / 25 ) ] [ ( parseInt ( fixed_blocks . childNodes [ i ] . style . left ) / 25 ) ] ;
332
+ map [ ( parseInt ( fixed_blocks . childNodes [ i ] . style . top ) / 25 ) ] [ ( parseInt ( fixed_blocks . childNodes [ i ] . style . left ) / 25 ) ] = 0 ;
333
+ fixed_blocks . childNodes [ i ] . style . top = parseInt ( fixed_blocks . childNodes [ i ] . style . top ) + ( nb_deleted_lines * 25 ) + "px" ;
334
+ map [ ( parseInt ( fixed_blocks . childNodes [ i ] . style . top ) / 25 ) ] [ ( parseInt ( fixed_blocks . childNodes [ i ] . style . left ) / 25 ) ] = tmp ;
335
335
}
336
336
i ++ ;
337
337
}
338
338
i = 0 ;
339
339
while ( i < active_blocks . childNodes . length )
340
340
{
341
- tmp = map [ ( parseInt ( active_blocks . childNodes [ i ] . style . top ) / 50 ) ] [ ( parseInt ( active_blocks . childNodes [ i ] . style . left ) / 50 ) ] ;
342
- map [ ( parseInt ( active_blocks . childNodes [ i ] . style . top ) / 50 ) ] [ ( parseInt ( active_blocks . childNodes [ i ] . style . left ) / 50 ) ] = 0 ;
343
- active_blocks . childNodes [ i ] . style . top = parseInt ( active_blocks . childNodes [ i ] . style . top ) + ( nb_deleted_lines * 50 ) + "px" ;
344
- map [ ( parseInt ( active_blocks . childNodes [ i ] . style . top ) / 50 ) ] [ ( parseInt ( active_blocks . childNodes [ i ] . style . left ) / 50 ) ] = tmp ;
341
+ tmp = map [ ( parseInt ( active_blocks . childNodes [ i ] . style . top ) / 25 ) ] [ ( parseInt ( active_blocks . childNodes [ i ] . style . left ) / 25 ) ] ;
342
+ map [ ( parseInt ( active_blocks . childNodes [ i ] . style . top ) / 25 ) ] [ ( parseInt ( active_blocks . childNodes [ i ] . style . left ) / 25 ) ] = 0 ;
343
+ active_blocks . childNodes [ i ] . style . top = parseInt ( active_blocks . childNodes [ i ] . style . top ) + ( nb_deleted_lines * 25 ) + "px" ;
344
+ map [ ( parseInt ( active_blocks . childNodes [ i ] . style . top ) / 25 ) ] [ ( parseInt ( active_blocks . childNodes [ i ] . style . left ) / 25 ) ] = tmp ;
345
345
i ++ ;
346
346
}
347
347
}
@@ -361,7 +361,7 @@ function del_line(ini_line)
361
361
}
362
362
while ( i < blocks . length )
363
363
{
364
- if ( blocks [ i ] . style . top === ( line * 50 ) + "px" )
364
+ if ( blocks [ i ] . style . top === ( line * 25 ) + "px" )
365
365
{
366
366
blocks [ i ] . parentNode . removeChild ( blocks [ i ] ) ;
367
367
i = 0 ;
@@ -399,6 +399,44 @@ function check_full_line()
399
399
}
400
400
if ( nb_deleted_lines > 0 )
401
401
move_fixed_blocks ( nb_deleted_lines , frst_line_deleted ) ;
402
+ if ( nb_deleted_lines == 1 )
403
+ score += 40 ;
404
+ if ( nb_deleted_lines == 2 )
405
+ score += 100 ;
406
+ if ( nb_deleted_lines == 3 )
407
+ score += 300 ;
408
+ if ( nb_deleted_lines >= 4 )
409
+ score += 1200 ;
410
+ }
411
+
412
+ function restart ( )
413
+ {
414
+ var inner_map = document . getElementById ( 'inner_map' ) ;
415
+ var fixed_block = document . getElementById ( 'fixed_block' ) ;
416
+ inner_map . innerHTML = "" ;
417
+ fixed_block . innerHTML = "" ;
418
+ var i = 0 ;
419
+ var i2 = 0 ;
420
+ while ( i < 22 )
421
+ {
422
+ i2 = 0 ;
423
+ while ( i2 < 10 )
424
+ {
425
+ map [ i ] [ i2 ] = 0 ;
426
+ i2 ++ ;
427
+ }
428
+ i ++ ;
429
+ }
430
+ score = 0 ;
431
+ active_piece = 1 ;
432
+ draw_alea_piece ( ) ;
433
+ actu_map ( ) ;
434
+ }
435
+
436
+ function actu_score ( )
437
+ {
438
+ var score_elem = document . getElementById ( 'score' ) ;
439
+ score_elem . innerHTML = score ;
402
440
}
403
441
404
442
function run ( )
@@ -412,6 +450,7 @@ function run()
412
450
turn ++ ;
413
451
}
414
452
actu_map ( ) ;
453
+ actu_score ( ) ;
415
454
}
416
455
417
456
window . addEventListener ( "keydown" , function ( e )
@@ -422,13 +461,14 @@ window.addEventListener("keydown", function(e)
422
461
rotate ( ) ;
423
462
else if ( e . keyCode == 39 )
424
463
move_right ( ) ;
425
- else if ( e . keyCode == 40 )
464
+ else if ( e . keyCode == 40 && check_end_of_turn ( ) == 0 )
426
465
move_bot ( ) ;
427
466
actu_map ( ) ;
428
467
} , true ) ;
429
468
430
469
var active_piece = 1 ;
431
470
var piece_type ;
471
+ var score = 0 ;
432
472
var map = new Array ( 22 ) ;
433
473
var turn = 1 ;
434
474
for ( var i = 0 ; i < 22 ; i ++ )
0 commit comments