Estou finalizando um livro sobre programação em C++ para iniciantes utilizando jogos digitais. Ainda estou em fase de negociação com as editoras, mas a biblioteca desenvolvida para dar suporte ao material você encontra aqui: http://sourceforge.net/projects/biblaureano/
Com o livro e a biblioteca, iniciantes em programação em C++ poderão criar jogos utilizando ASCII Art de forma bem tranquila e sem complicações. Um vÃdeo demonstrando alguns jogos já desenvolvidos por meus alunos pode ser visto em https://www.youtube.com/watch?v=zRpibdeb_iM
Ainda não mandei para a editora.
Onde posso encontrar o livro?
oi gostei mt disso ae galera vo ta deichando um pequeno codigo fonte do meu jogo de labirinto em c ok!
codigo:
#include
#include
// SETAS do teclado.
#define ESQUERDA 75
#define ACIMA 72
#define DIREITA 77
#define ABAIXO 80
// Tecla ESC.
#define SAIR 27
// Variáveis globais.
int labirinto [7][16] = {// Mapa (labirinto).
// 0 = Caminho, 1 = Parede, 2 = Player e 3 = Item.
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,2,1,3,0,0,1,1,0,0,0,0,0,1,1,1,
1,0,1,1,1,0,1,1,0,1,1,1,0,1,0,1,
1,0,1,0,0,0,0,0,0,1,3,0,0,0,0,1,
1,0,1,1,1,0,1,1,0,1,1,1,1,1,1,1,
1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,
};// No display respectivamente: nada ” “, #, @ e $.
int posX, posY, moeda;
char tecla, pegouItem[2];
// Funções.
void iniciar() {
// Posição inicial do player.
posX = 1;
posY = 1;
moeda = 0;
pegouItem[0] = ‘n’;// Não.
pegouItem[1] = ‘n’;// Não.
// Refazer posições após re-iniciar.
labirinto[posY][posX] = 2; // Player (@).
labirinto[1][3] = 3;// Item ($).
labirinto[3][10] = 3;// Item ($).
}// Fim função.
void desenhar() {
int i, j;
for (i = 0; i < 7; i++) {
for (j = 0; j OBS: Não compile sem esta linha, senão ao mover, ficara em um loop infinito.
// Andar para baixo e checar se uma posição abaixo do player não é parede.
if (tecla == ABAIXO && labirinto[posY + 1][posX] != 1) {
posY++;
labirinto[posY][posX] = 2; // Andar com player para baixo (y+).
labirinto[posY – 1][posX] = 0; // Limpar posição anterior do player.
}
// Andar para cima e checar se uma posição acima do player não é parede.
if (tecla == ACIMA && labirinto[posY – 1][posX] != 1) {
posY–;
labirinto[posY][posX] = 2; // Andar com player para cima (y-).
labirinto[posY + 1][posX] = 0; // Limpar posição anterior do player.
}
// Andar para direita e checar se uma posição a direita do player não é parede.
if (tecla == DIREITA && labirinto[posY][posX + 1] != 1) {
posX++;
labirinto[posY][posX] = 2; // Andar com player para direita (x+).
labirinto[posY][posX – 1] = 0; // Limpar posição anterior do player.
}
// Andar para esquerda e checar se uma posição a esquerda do player não é parede.
if (tecla == ESQUERDA && labirinto[posY][posX – 1] != 1) {
posX–;
labirinto[posY][posX] = 2; // Andar com player para esquerda (x-).
labirinto[posY][posX + 1] = 0; // Limpar posição anterior do player.
}
}// Fim função.
void item() {
if (labirinto[1][3] == 2 && pegouItem[0] == ‘n’) {
moeda += 50;
pegouItem[0] = ‘s’;// Sim.
}
if (labirinto[3][10] == 2 && pegouItem[1] == ‘n’) {
moeda += 50;
pegouItem[1] = ‘s’;// Sim.
}
printf (“\nMoeda R$ %d \n”, moeda);
}// Fim função.
void achouSaida() {
if (posY == 6 && posX == 13) {
printf (“\n\nParabens, vc conseguiu.\n”);
printf (“\nTecle ENTER para REINICIAR.\n”);
labirinto[posY][posX] = 0;// Limpar posição do player.
iniciar();// Chamar função.
}
}// Fim função.
// Programa principal.
int main () {
// Chamar função.
iniciar();
// Laço.
while(tecla != SAIR) {
printf (“\nRPG FEITO EM DEV C/C++\n”);
printf (“\nPEGUE O CORACAO ELE LHE DARA DINHEIRO $$\n”);
printf (“\n\nControles do personagem (o):\n”);
printf (“SETAS – Mover.\n”);
printf (“ESC – SAIR.\n\n”);
// Chamar funções.
desenhar();
item();
achouSaida();
mover();
// Limpar tela.
system(“CLS”);
}// Fim laço.
return 0;
}// Fim programa.
quero aprender a criar jogo no c++
MELHOR SITE DE TODOS OS TEMPOS!!!
MELHOR PROFESSOR DE TODOS OS TEMPOS!!!
um dia vou programar igual a esse cara chamado Marcos Laureano!