PlayLib - Galeria de Exemplos
Segunda, 10 Setembro 2012 22:51

Controle Pelo Teclado

Avaliação:
(3 votos)

Descrição: Este exemplo é pequeno jogo que permite ao jogador controlar um carro usando as setas direcionais do teclado.

Autor: Edirlei Soares de Lima

Download: Exemplos04.zip

 

 

 

 

Código Fonte:

#include "Graphics.h"

Graphics graphics;

Image bloco_chao;
Image carro[4];

//Direcao na qual o carro esta virando
int carro_direcao = 2;

//Posicao X do carro
double carro_x = 336;

//Posicao Y do carro
double carro_y = 236;

void MainLoop()
{
	int x, y;
	for (x = 0; x < 800; x+=256)
	{
		for (y = 0; y < 600; y+=256)
		{
			graphics.DrawImage2D(x, y, 256, 256, bloco_chao); //Desenha blocos do chao
		}
	}

	graphics.DrawImage2D(carro_x, carro_y, 128, 128, carro[carro_direcao]); //Desenha carro
}

void KeyboardInput(int key, int state, int x, int y)
{

	if ((key == KEY_LEFT)&&(state == KEY_STATE_DOWN))
	{
		carro_direcao = 1;
		carro_x -= 4;
	}
	if ((key == KEY_RIGHT)&&(state == KEY_STATE_DOWN))
	{
		carro_direcao = 3;
		carro_x += 4;
 	}
	if ((key == KEY_UP)&&(state == KEY_STATE_DOWN))
	{
		carro_direcao = 2;
		carro_y += 4;
 	}
	if ((key == KEY_DOWN)&&(state == KEY_STATE_DOWN))
	{
		carro_direcao = 0;
		carro_y -= 4;
 	}
}

int main(void)
{
	graphics.CreateMainWindow(800, 600, "Exemplo 04 - Controle pelo Teclado");
	graphics.SetBackgroundColor(152,209,250);

	//Carrega as imagens
	bloco_chao.LoadPNGImage("car_ground.png");
	carro[0].LoadPNGImage("car_down.png");
	carro[1].LoadPNGImage("car_left.png");
	carro[2].LoadPNGImage("car_up.png");
	carro[3].LoadPNGImage("car_right.png");	

	graphics.SetKeyboardInput(KeyboardInput);
	graphics.SetMainLoop(MainLoop);
	graphics.StartMainLoop();
	return 0;
}
Visualizado 624 vezes Última modificação em Quinta, 17 Janeiro 2013 23:15