-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtetris.tl
75 lines (63 loc) · 1.33 KB
/
tetris.tl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
initialize_window(18, 10);
var temp_block := [
[['.....',
'..0..',
'.000.',
'..0..',
'.....']],[255,255,255], 'x'];
create_block(temp_block);
show_next_piece(True);
show_highscore(True);
increase_fall_speed(True);
var speed_list := [0.55, 0.35, 0.15];
set_level_fallspeed(speed_list);
set_window_caption("Tetris by BlockBusters");
enable_hard_drop(True);
enable_shadow(True);
var play_again := True;
var level := 0;
while (play_again)
begin
level := main_menu();
set_level(level);
var run := True;
var restart := False;
var score := 0;
init_grid();
init_blocks();
init_clock();
while (run)
begin
update_locked_grid();
update_clock();
shift_piece();
if (take_user_input())
begin
restart := paused();
if (restart)
begin
break;
end
end
draw_current_grid();
if (current_piece_locked())
begin
spawn();
score := score + clear_rows();
update_highscore(score);
end
update_window(score);
if (check_lost())
begin
run := False;
end
end
if(restart)
begin
continue;
end
else
begin
play_again := game_over();
end
end