-
Notifications
You must be signed in to change notification settings - Fork 1
/
setup.agc
172 lines (140 loc) · 4.68 KB
/
setup.agc
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
// Project: Tetris
// Created: 2021-06-09
global none_sprite as integer = 0
global blue_sprite as integer = 0
global red_sprite as integer = 0
global yellow_sprite as integer = 0
global green_sprite as integer = 0
global orange_sprite as integer = 0
global purple_sprite as integer = 0
global cyan_sprite as integer = 0
global white_sprite as integer = 0
global dance_sprite as integer = 0
global dance_animation as integer = 0
global saber_dance_sprite as integer = 0
global saber_dance_animation as integer = 0
global tetris_font as integer = 0
global game_over_text as integer = 0
global music as integer = 0
global music_offset as float = 0
global game_over as integer = 0
global speed_time as float = 0
global fonts as integer = 0
function setup()
SetErrorMode(2)
// set window properties
SetWindowTitle( "Tetris" )
SetWindowSize( 900, 800, 0 )
SetWindowAllowResize( 0 ) // allow the user to resize the window
// set display properties
SetVirtualResolution( 1400, 1000 ) // doesn't have to match the window
SetOrientationAllowed( 1, 1, 1, 1 ) // allow both portrait and landscape on mobile devices
SetSyncRate( 30, 0 ) // 30fps instead of 60 to save battery
SetScissor( 0,0,0,0 ) // use the maximum available screen space, no black borders
UseNewDefaultFonts( 1 ) // since version 2.0.22 we can use nicer default fonts
music = LoadMusic("musics/song.mp3")
music_sync()
id = 1
infos[0] = 3
infos[1] = 0
infos[2] = 0
fonts = LoadFont("fonts/tetris.ttf")
score_display = CreateText("0")
SetTextSize(score_display,80)
SetTextFont(score_display, fonts )
SetTextPosition(score_display,630,0)
SetTextColor(score_display,120,120,130,255)
game_over_text = CreateText("GAME OVER")
SetTextSize(game_over_text,80)
SetTextFont(game_over_text, fonts )
SetTextPosition(game_over_text,50,150)
SetTextColor(game_over_text,255,255,0,255)
SetTextBold(game_over_text,1)
SetTextVisible(game_over_text,0)
endfunction
function music_sync()
StopMusic()
PlayMusic(music,1)
music_offset = Timer()
endfunction
function reset()
score = 0
SetTextString(score_display,"0")
SetTextVisible(game_over_text,0)
ClearGrid()
music_sync()
speed_time = -music_offset
id = 1
infos[0] = 3
infos[1] = 0
infos[2] = 0
stack_index = block_stack.length-1
next_block()
game_over = 0
SetSpriteVisible(dance_animation,0)
SetSpriteVisible(saber_dance_animation,0)
endfunction
function GameOverCheck()
result = CheckColision(infos)
endfunction result
function load_sprites()
none_sprite = LoadImage("blocks/none.png")
blue_sprite = LoadImage("blocks/blue.png")
red_sprite = LoadImage("blocks/red.png")
yellow_sprite = LoadImage("blocks/yellow.png")
green_sprite = LoadImage("blocks/green.png")
orange_sprite = LoadImage("blocks/orange.png")
purple_sprite = LoadImage("blocks/purple.png")
cyan_sprite = LoadImage("blocks/cyan.png")
dance_sprite = LoadImage("dance/dance_1.png")
saber_dance_sprite = LoadImage("saber_dance/dance_1.png")
saber_dance_animation = createsprite(saber_dance_sprite)
SetSpriteVisible(saber_dance_animation,0)
dance_animation = createsprite(dance_sprite)
SetSpriteVisible(dance_animation,0)
for i = 2 to 12
AddSpriteAnimationFrame(dance_animation,LoadImage("dance/dance_"+str(i)+".png"))
AddSpriteAnimationFrame(saber_dance_animation,LoadImage("saber_dance/dance_"+str(i)+".png"))
next
SetSpriteSize(dance_animation,800,800)
SetSpritePosition(dance_animation,480,0)
SetSpriteSize(saber_dance_animation,420,420)
SetSpritePosition(saber_dance_animation,640,160)
SetImageTransparentColor(none_sprite,255,255,255)
SetImageTransparentColor(blue_sprite,255,255,255)
SetImageTransparentColor(red_sprite,255,255,255)
SetImageTransparentColor(yellow_sprite,255,255,255)
SetImageTransparentColor(green_sprite,255,255,255)
SetImageTransparentColor(orange_sprite,255,255,255)
SetImageTransparentColor(purple_sprite,255,255,255)
SetImageTransparentColor(cyan_sprite,255,255,255)
endfunction
function playdance()
tm as float
tm = Timer()-music_offset
curr_sprite = 0
if tm >= 129.7
curr_sprite = saber_dance_animation
if not GetSpriteVisible(saber_dance_animation)
SetSpriteVisible(dance_animation,0)
StopSprite(dance_animation)
SetSpriteVisible(saber_dance_animation,1)
PlaySprite ( saber_dance_animation, 25, 1, 1, 12 )
endif
elseif tm >= 13.9
curr_sprite = dance_animation
if not GetSpriteVisible(dance_animation)
SetSpriteVisible(saber_dance_animation,0)
StopSprite(saber_dance_animation)
SetSpriteVisible(dance_animation,1)
PlaySprite( dance_animation, 25, 1, 1, 12 )
endif
endif
if curr_sprite <> 0
if speed_time-music_offset >= tm
SetSpriteSpeed(curr_sprite,50)
else
SetSpriteSpeed(curr_sprite,25)
endif
endif
endfunction