@@ -20,26 +20,6 @@ function console_log_map()
20
20
console . log ( map [ 17 ] ) ;
21
21
console . log ( map [ 18 ] ) ;
22
22
console . log ( map [ 19 ] ) ;
23
- console . log ( map [ 20 ] ) ;
24
- console . log ( map [ 21 ] ) ;
25
- console . log ( map [ 22 ] ) ;
26
- console . log ( map [ 23 ] ) ;
27
- console . log ( map [ 24 ] ) ;
28
- console . log ( map [ 25 ] ) ;
29
- console . log ( map [ 26 ] ) ;
30
- console . log ( map [ 27 ] ) ;
31
- console . log ( map [ 28 ] ) ;
32
- console . log ( map [ 29 ] ) ;
33
- console . log ( map [ 30 ] ) ;
34
- console . log ( map [ 31 ] ) ;
35
- console . log ( map [ 32 ] ) ;
36
- console . log ( map [ 33 ] ) ;
37
- console . log ( map [ 34 ] ) ;
38
- console . log ( map [ 35 ] ) ;
39
- console . log ( map [ 36 ] ) ;
40
- console . log ( map [ 37 ] ) ;
41
- console . log ( map [ 38 ] ) ;
42
- console . log ( map [ 39 ] ) ;
43
23
}
44
24
45
25
function get_alea ( min , max )
@@ -336,38 +316,67 @@ function check_end_of_turn()
336
316
return ( 0 ) ;
337
317
}
338
318
339
- function del_line ( line )
319
+ function move_fixed_blocks ( nb_deleted_lines , frst_line_deleted )
340
320
{
321
+ var fixed_blocks = document . getElementById ( 'fixed_block' ) ;
322
+ var active_blocks = document . getElementById ( 'inner_map' ) ;
323
+ var i = 0 ;
324
+ var tmp = 0 ;
325
+ var i2 = 0 ;
326
+ var i3 = 0 ;
327
+ while ( i < fixed_blocks . childNodes . length )
328
+ {
329
+ if ( parseInt ( fixed_blocks . childNodes [ i ] . style . top ) < ( frst_line_deleted * 50 ) )
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 ;
335
+ }
336
+ i ++ ;
337
+ }
338
+ i = 0 ;
339
+ while ( i < active_blocks . childNodes . length )
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 ;
345
+ i ++ ;
346
+ }
347
+ }
348
+
349
+ function del_line ( ini_line )
350
+ {
351
+ var i = 0 ;
352
+ var line = ini_line ;
341
353
var i2 = 0 ;
342
354
var tmp = 0 ;
355
+ var i3 = 0 ;
356
+ var blocks = document . getElementsByClassName ( 'piece' ) ;
343
357
while ( i2 < 10 )
344
358
{
345
359
map [ line ] [ i2 ] = 0 ;
346
360
i2 ++ ;
347
361
}
348
- // line--;
349
- // while (line >= 0)
350
- // {
351
- // i2 = 0;
352
- // while (i2 < 10)
353
- // {
354
- // if (map[line][i2] == 0 && map[line - 1][i2] != 0)
355
- // {
356
- // tmp = map[line - 1][i2];
357
- // map[line - 1][i2] = 0;
358
- // map[line][i2] = tmp;
359
- // }
360
- // i2++;
361
- // }
362
- // line--;
363
- // }
362
+ while ( i < blocks . length )
363
+ {
364
+ if ( blocks [ i ] . style . top === ( line * 50 ) + "px" )
365
+ {
366
+ blocks [ i ] . parentNode . removeChild ( blocks [ i ] ) ;
367
+ i = 0 ;
368
+ }
369
+ i ++ ;
370
+ }
364
371
}
365
372
366
373
function check_full_line ( )
367
374
{
368
- var i = 19 ;
375
+ var i = 21 ;
369
376
var i2 ;
370
377
var count ;
378
+ var nb_deleted_lines = 0 ;
379
+ var frst_line_deleted = 21 ;
371
380
while ( i >= 0 )
372
381
{
373
382
count = 0 ;
@@ -381,11 +390,15 @@ function check_full_line()
381
390
if ( count == 10 )
382
391
{
383
392
del_line ( i ) ;
384
- // return(check_full_line());
393
+ if ( i <= frst_line_deleted )
394
+ frst_line_deleted = i ;
395
+ nb_deleted_lines ++ ;
385
396
}
386
397
count = 0 ;
387
398
i -- ;
388
399
}
400
+ if ( nb_deleted_lines > 0 )
401
+ move_fixed_blocks ( nb_deleted_lines , frst_line_deleted ) ;
389
402
}
390
403
391
404
function run ( )
0 commit comments