Hola amigos tengo este pequeño juego comenzandolo pero me gustaria evitar un poco el parpadeo y olvide el comando en si alguien se lo sabe me podria decir , gracias de antemano .
Código C:
Ver original#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void jugar (int matriz [20][30]);
void imprimir (int matriz [20][30]);
int i,j;
int main (){
int matriz[20][30]= {6,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,6,1,1,1,1,1,1,1,1,1,1,1,1,3,
2,7,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,
2,0,6,1,1,1,1,3,0,6,1,1,3,0,2,0,2,0,6,1,1,1,3,0,6,1,1,3,0,2,
2,0,5,1,1,1,1,4,0,5,1,1,4,0,5,1,4,0,5,1,1,1,4,0,5,1,1,4,0,2,
2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
2,0,6,1,1,3,0,6,1,3,0,1,1,1,3,0,6,1,1,1,0,6,1,3,0,6,1,3,0,2,
2,0,5,1,1,4,0,2,0,2,0,0,0,0,2,0,2,0,0,0,0,2,0,2,0,5,1,4,0,2,
2,0,0,0,0,0,0,2,0,5,1,1,3,0,2,0,2,0,6,1,1,4,0,2,0,0,0,0,0,2,
2,0,6,1,1,3,0,2,0,6,1,1,4,0,5,1,4,0,5,1,1,3,0,2,0,6,1,3,0,2,
2,0,2,0,0,2,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,
4,0,5,1,1,4,0,5,1,4,0,0,0,0,6,1,3,0,0,0,0,5,1,4,0,5,1,4,0,5,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,0,6,1,0,1,1,1,1,1,0,1,3,0,2,0,2,0,6,1,1,1,1,1,1,1,1,3,0,6,
2,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,
2,0,2,0,6,1,1,1,1,1,3,0,0,0,2,0,2,0,5,1,1,1,1,1,1,1,1,4,0,2,
2,0,0,0,5,1,1,1,1,1,4,0,2,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,
2,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,6,1,1,1,1,1,1,1,1,3,0,2,
2,0,5,1,1,0,1,1,1,1,1,1,4,0,5,1,4,0,5,1,1,1,1,1,1,1,1,4,0,2,
2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4};
jugar (matriz);
return 0;
}
void jugar (int matriz[20][30]){
char tecla;
int filas,columnas;
int i,j;
for ( i=0;i<20;i++){
for( j=0;j<30;j++){
if (matriz[i][j]==7){
filas=i; columnas=j;
}
}
}
imprimir (matriz);
do{
matriz[filas][columnas]=0;
if (_kbhit()){
}
switch (tecla){
case 'w':{
if(matriz[filas-1][columnas]==0){
filas--;
}
break;
}
case 's':{
if (matriz[filas+1][columnas]==0){
filas++;
}
break;
}
case 'd':{
if (matriz[filas][columnas+1]==0){
columnas++;
}
break;
}
case 'a':{
if (matriz[filas][columnas-1]==0){
columnas--;
}
break;
}
}
matriz [filas][columnas]=7;
imprimir (matriz);
tecla='p';
}while(tecla!='x');
}
void imprimir(int matriz[20][30]){
for ( i=0;i<20;i++){
for ( j=0;j<30;j++){
switch (matriz[i][j]){
case 0:{
break;
}
case 1:{
break;
}
case 2:{
break;
}
case 3:{
break;
}
case 4:{
break;
}
case 5:{
break;
}
case 6:{
break;
}
case 7:{
break;
}
}
}
}
printf ("\n\n moverse: \nArriba: 'W' \nAbajo: 'S' \nIzquierda: 'A' \n Derecha: 'D' ");
}