Okay Well the only thing i wanted to know like since getch () is not ANSI is there any unbuffered ANSI fucntion that can help me do what getch can do ???Code:#include <stdio.h>
#include <stdlib.h>
//#include <conio.h>
#define SIZE 12
void movement( int [][SIZE], int , int *, int * );
void printarray( int [][SIZE] );
int main(void)
{
int area[SIZE][SIZE] = { 1,1,1,1,1,1,1,1,1,1,1,1,
1,0,0,0,1,0,0,0,0,0,0,1,
0,0,1,0,1,0,1,1,1,1,0,1,
1,1,1,0,1,0,0,0,0,1,0,-1,
1,0,0,0,0,1,1,1,0,1,0,1,
1,1,1,1,0,1,0,1,0,1,0,1,
1,0,0,1,0,1,0,1,0,1,0,1,
1,1,0,1,0,1,0,1,0,1,0,1,
1,0,0,0,0,0,0,0,0,1,0,1,
1,1,1,1,1,1,0,1,1,1,0,1,
1,0,0,0,0,0,0,1,0,0,0,1,
1,1,1,1,1,1,1,1,1,1,1,1 };
int position, cnt_main, cnt_sub;
int choice, row, col;
row = 3, col =0;
printf(" m m a zzzzzzz Eeeeeeee\n"
" M m m M a a z E \n"
" M m M aAAAAa z Eeeeeeee\n"
" m m a a z E \n"
" m m a a zzzzzzz Eeeeeeee\n");
while (area[3][11] == -1 )
{
puts("");
choice = getch();
movement( area , choice, &row, &col);
system("cls");
printarray( area );
}
system("cls");
printf("\nCongratulation you have won!!!\n");
return 0;
}
void movement ( int array[SIZE][SIZE], int choice, int *row, int *col )
{
switch(choice){
case 'w' :
if ( array[--(*row)][*col] != 1 ){
array[(*row)][*col] = 2;
array[++(*row)][*(col)] = 0;
--(*row);
}
else
array[++(*row)][*col] = 2;
break;
case 's' :
if ( array[++(*row)][*col] != 1 ){
array[*row][*col] = 2;
array[--(*row)][(*col)] = 0;
++(*row);
}
else
array[--(*row)][*col] = 2;
break;
case 'a' :
if ( array[*row][--(*col)] != 1 ){
array[*row][*col] = 2;
array[*row][++(*col)] = 0;
--(*col);
}
else
array[*row][++(*col)] = 2;
break;
case 'd' :
if ( array[*row][++(*col)] != 1 ){
array[*row][*col] = 2;
array[*row][--(*col)]= 0;
++(*col);
}
else
array[*row][--(*col)] = 2;
break;
}
}
void printarray( int area[SIZE][SIZE] )
{
int cnt_main, cnt_sub;
for ( cnt_main =0; cnt_main <= SIZE-1; cnt_main++ ){
for ( cnt_sub = 0; cnt_sub <= SIZE-1; cnt_sub++ ){
if ( area[cnt_main][cnt_sub] == 1)
printf("°"); //puthcar(2);
else if ( area[cnt_main][cnt_sub] == 0)
printf(" ");
else if ( area[cnt_main][cnt_sub] == -1)
printf(""); //putchar() Check it out your self
else
printf("");
}
printf("\n");
}
}