15
15
#define K_4 isKeyPressed(KEY_NSPIRE_4)
16
16
#define K_6 isKeyPressed(KEY_NSPIRE_6)
17
17
18
+ #define frame_skip 2
19
+
18
20
unsigned short is_in_air = 1 ;
19
21
unsigned short is_in_flip = 0 ;
20
22
Point player_point = {16 ,16 };
21
- signed short gravity = 2 ;
23
+ signed short gravity = 1 ;
22
24
Point checkpoint = {16 ,16 };
23
25
Rect src_rect ;
26
+ unsigned short frame_counter = 0 ;
24
27
25
28
void draw_tile (unsigned short * tileset , int tile_num , int x , int y )
26
29
{
@@ -132,13 +135,12 @@ int main()
132
135
initBuffering ();
133
136
while (keep_playing )
134
137
{
135
- clearBufferB ();
136
138
prev_x = player_point .x ;
137
139
prev_y = player_point .y ;
138
140
if (K_7 )
139
- player_point .x -= 2 ;
141
+ player_point .x -= 1 ;
140
142
if (K_9 )
141
- player_point .x += 2 ;
143
+ player_point .x += 1 ;
142
144
if (K_8 )
143
145
if (!is_in_air )
144
146
flip_player ();
@@ -155,13 +157,33 @@ int main()
155
157
player_point .x = prev_x ;
156
158
if (!can_move_y ())
157
159
player_point .y = prev_y ;
158
- draw_tile_map ();
159
- if (gravity == 2 )
160
- drawSpritePart (image_VVVVVV , player_point .x , player_point .y , & player_sprite );
161
- if (gravity == -2 )
162
- drawSpritePart (image_VVVVVV , player_point .x , player_point .y , & inverted_player_sprite );
163
- updateScreen ();
164
- //sleep(10);
160
+ if (is_classic )
161
+ {
162
+ if (frame_counter >= frame_skip )
163
+ {
164
+ clearBufferB ();
165
+ draw_tile_map ();
166
+ if (gravity == 1 )
167
+ drawSpritePart (image_VVVVVV , player_point .x , player_point .y , & player_sprite );
168
+ if (gravity == -1 )
169
+ drawSpritePart (image_VVVVVV , player_point .x , player_point .y , & inverted_player_sprite );
170
+ updateScreen ();
171
+ frame_counter = 0 ;
172
+ }
173
+ else
174
+ frame_counter ++ ;
175
+ }
176
+ else
177
+ {
178
+ clearBufferB ();
179
+ draw_tile_map ();
180
+ if (gravity == 1 )
181
+ drawSpritePart (image_VVVVVV , player_point .x , player_point .y , & player_sprite );
182
+ if (gravity == -1 )
183
+ drawSpritePart (image_VVVVVV , player_point .x , player_point .y , & inverted_player_sprite );
184
+ updateScreen ();
185
+ frame_counter = 0 ;
186
+ }
165
187
}
166
188
deinitBuffering ();
167
189
}
0 commit comments