Skip to content

Commit e0bf64c

Browse files
authored
Update main.js
1 parent 34de878 commit e0bf64c

File tree

1 file changed

+56
-16
lines changed

1 file changed

+56
-16
lines changed

tetris/js/main.js

+56-16
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function get_alea(min, max)
3333
function draw_piece(y, x)
3434
{
3535
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>";
3737
map[y][x] = active_piece;
3838
}
3939

@@ -122,8 +122,8 @@ function move_pieces_down()
122122
var pieces = document.getElementsByClassName(piece_name);
123123
for (var i = 0; i < pieces.length; i++)
124124
{
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";
127127
}
128128
}
129129

@@ -186,10 +186,10 @@ function actu_map()
186186
{
187187
color = get_the_color(map[i][i2]);
188188
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>";
190190
else if (map[i][i2] > 0)
191191
{
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>";
193193
map[i][i2] = -1;
194194
}
195195
i2++;
@@ -326,22 +326,22 @@ function move_fixed_blocks(nb_deleted_lines, frst_line_deleted)
326326
var i3 = 0;
327327
while (i < fixed_blocks.childNodes.length)
328328
{
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))
330330
{
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;
335335
}
336336
i++;
337337
}
338338
i = 0;
339339
while (i < active_blocks.childNodes.length)
340340
{
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;
345345
i++;
346346
}
347347
}
@@ -361,7 +361,7 @@ function del_line(ini_line)
361361
}
362362
while (i < blocks.length)
363363
{
364-
if (blocks[i].style.top === (line * 50) + "px")
364+
if (blocks[i].style.top === (line * 25) + "px")
365365
{
366366
blocks[i].parentNode.removeChild(blocks[i]);
367367
i = 0;
@@ -399,6 +399,44 @@ function check_full_line()
399399
}
400400
if (nb_deleted_lines > 0)
401401
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;
402440
}
403441

404442
function run()
@@ -412,6 +450,7 @@ function run()
412450
turn++;
413451
}
414452
actu_map();
453+
actu_score();
415454
}
416455

417456
window.addEventListener("keydown", function(e)
@@ -422,13 +461,14 @@ window.addEventListener("keydown", function(e)
422461
rotate();
423462
else if(e.keyCode == 39)
424463
move_right();
425-
else if(e.keyCode == 40)
464+
else if(e.keyCode == 40 && check_end_of_turn() == 0)
426465
move_bot();
427466
actu_map();
428467
}, true);
429468

430469
var active_piece = 1;
431470
var piece_type;
471+
var score = 0;
432472
var map = new Array(22);
433473
var turn = 1;
434474
for (var i = 0; i < 22; i++)

0 commit comments

Comments
 (0)