Skip to content

Commit 00b4701

Browse files
author
Lucas CHARVOLIN
committed
rectifs tetris
1 parent 31d4e71 commit 00b4701

File tree

2 files changed

+58
-45
lines changed

2 files changed

+58
-45
lines changed

tetris/js/main.js

+52-39
Original file line numberDiff line numberDiff line change
@@ -20,26 +20,6 @@ function console_log_map()
2020
console.log(map[17]);
2121
console.log(map[18]);
2222
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]);
4323
}
4424

4525
function get_alea(min, max)
@@ -336,38 +316,67 @@ function check_end_of_turn()
336316
return(0);
337317
}
338318

339-
function del_line(line)
319+
function move_fixed_blocks(nb_deleted_lines, frst_line_deleted)
340320
{
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;
341353
var i2 = 0;
342354
var tmp = 0;
355+
var i3 = 0;
356+
var blocks = document.getElementsByClassName('piece');
343357
while (i2 < 10)
344358
{
345359
map[line][i2] = 0;
346360
i2++;
347361
}
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+
}
364371
}
365372

366373
function check_full_line()
367374
{
368-
var i = 19;
375+
var i = 21;
369376
var i2;
370377
var count;
378+
var nb_deleted_lines = 0;
379+
var frst_line_deleted = 21;
371380
while (i >= 0)
372381
{
373382
count = 0;
@@ -381,11 +390,15 @@ function check_full_line()
381390
if (count == 10)
382391
{
383392
del_line(i);
384-
// return(check_full_line());
393+
if (i <= frst_line_deleted)
394+
frst_line_deleted = i;
395+
nb_deleted_lines++;
385396
}
386397
count = 0;
387398
i--;
388399
}
400+
if (nb_deleted_lines > 0)
401+
move_fixed_blocks(nb_deleted_lines, frst_line_deleted);
389402
}
390403

391404
function run()

tetris/js/rotate.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ function rotate_barre()
22
{
33
var i = 0;
44
var i2;
5-
while (i < 20)
5+
while (i < 21)
66
{
77
i2 = 0;
88
while (i2 < 10)
@@ -45,7 +45,7 @@ function rotate_z1()
4545
{
4646
var i = 0;
4747
var i2;
48-
while (i < 20)
48+
while (i < 21)
4949
{
5050
i2 = 0;
5151
while (i2 < 10)
@@ -86,7 +86,7 @@ function rotate_z2()
8686
{
8787
var i = 0;
8888
var i2;
89-
while (i < 20)
89+
while (i < 21)
9090
{
9191
i2 = 0;
9292
while (i2 < 10)
@@ -127,7 +127,7 @@ function rotate_triangle()
127127
{
128128
var i = 0;
129129
var i2;
130-
while (i < 20)
130+
while (i < 21)
131131
{
132132
i2 = 0;
133133
while (i2 < 10)
@@ -176,7 +176,7 @@ function rotate_l1()
176176
{
177177
var i = 0;
178178
var i2;
179-
while (i < 20)
179+
while (i < 21)
180180
{
181181
i2 = 0;
182182
while (i2 < 10)
@@ -241,7 +241,7 @@ function rotate_l2()
241241
{
242242
var i = 0;
243243
var i2;
244-
while (i < 20)
244+
while (i < 21)
245245
{
246246
i2 = 0;
247247
while (i2 < 10)

0 commit comments

Comments
 (0)