Example #1
0
void main_menu() {
	/* Play a simulated game in the background */
	unsigned char _;
	initialize();
	while (1) {
		unsigned char key;

		screen_clear(screen);
		draw_actors();
		draw_string(screen, 28, 0, "-- Pong --");
		draw_string(screen, 8, 10, "Press ENTER to begin");
		screen_draw(screen);
		update_ai(&left_paddle);
		update_ai(&right_paddle);
		update_ball();

		key = app_get_key(&_);
		switch (key) {
		case KEY_ENTER:
			return;
		case KEY_MODE:
			exit(0);
			break;
		}
		
		ksleep(5);
	}
}
Example #2
0
void main() {
	load_library("/lib/core");
	get_lcd_lock();
	get_keypad_lock();
	screen = screen_allocate();
	init();
	while(1){
		draw_sprite_xor(screen, 88, posY, player_height, &player_sprite);
		draw_rect_or(screen, 8, 96, 56, 0);
		
		if(!forTime){
			gen=get_random()%3;
			forTime=2+get_random()%3;
		}
		else{
			forTime--;
		}
		switch(gen){
			case 1:
				if(height>1) height--;
				break;
			case 2:
				if(height<56-space) height++;
					break;
			default:
				break;
		}

		//Right Shift
		for(i=0; i<768; i++) {
		    bit2 = screen[i] & 0x01;
		    screen[i] >>= 1;
		    screen[i] |= bit1 << 7;
		    bit1 = bit2;
		}

		for(i=0;i<56;i++){reset_pixel(screen, 0, i);}
		for(i=0;i<height;i++){set_pixel(screen, 0, i);}
		for(i=height+space;i<56;i++){set_pixel(screen, 0, i);}

		key = app_get_key(&_);
		if(key==KEY_UP) {posY--;}
		if(key==KEY_DOWN) {posY++;}
		draw_sprite_xor(screen, 88, posY, player_height, &player_sprite);
		draw_rect_and(screen, 7, 96, 57, 0);
		draw_string(screen, 1, 58, "Score:");
		draw_short(screen, 26, 58, score);
		draw_string(screen, 55, 58, "Best:");
		draw_short(screen, 76, 58, bestscore);
		screen_draw(screen);

		if(getPixel(screen, 95, posY) &&
			getPixel(screen, 95, posY+7) &&
			getPixel(screen, 92, posY+3) &&
			getPixel(screen, 92, posY+4)){
		}
		else{
			if(score>bestscore){
				bestscore=score;
			}
			init();
		}

		
		score++;
		if(score%1000==0 && space>12){
			space--;
		}
		if(score==60000){
			space=0;
		}
	}
}