-
pls help
hi
i wrote a programme that has an object( :-> ) and you can control this object by "w" for moving it up and "s" for moving it down
my code is;
......
char key;
int i;
.
.
.
key = getch();
if (key==s) {
i--;
}
.
.
.this works very well if i push JUST one time and in the second time the program terminates itself
so i used do..while
do {
.
.
.
} while(key=='q')
but still i have same problem
i want to push "s" or "w" unlimited nor just one time
how can i do this?
-
I think you mean :
PHP Code:
while(key!='q')
-
Yeah I did the same thing on a program of mine only i used the keys E=left, D=down, E=up, and F=right. In my program I put it in it's own function so I only had to type PLAYER(); in the main() function. The code is this.
Code:
void player()
{
/* int X and Y tell where the player is
int oldX and oldY tell where the player moved from (to clear that spot)
int X=1, Y=1, oldX, oldY;
char move;
while(1)
{
/* This is where the computer knows where to put
the player and set it up to clear the last place
the player was so you don't see a trail of O's. */
gotoxy(X,Y);
oldX=X;
oldY=Y;
printf("O");
/* This is the part where it gets the input
and sees if they moved left, right, up, or down. */
move=toupper(getch());
switch(move)
{
case 'S':
X--;
break;
case 'D':
Y++;
break;
case 'F':
X++;
break;
case 'E':
Y--;
break;
default: //if they hit keys other then EDSF print this
gotoxy(1,24);
printf("Move with E, D, S, F\n");
printf("Make your next move.");
move=toupper(getch());
}//end switch
// puts a space where the player was after they moved
gotoxy(oldX, oldY);
printf(" ");
}//end while loop
}//end player
Tell me if that solves your question.
-
thanks for your answer
it works great
but i have quesitons to you:
how could i terminate the program??and
how can i hide the cursor "_"?
-
Are you using Goof Program program ,
Well it's always the same answer, instead of :
-
Are you using Goof Program program ,
Well it's always the same answer, instead of :
use
Quote:
while(move != 'Q')
-
I deleted some of the code that killed the while loop because that might not be what you wanted. so i left it up to you so you can use what you need. thats just the base of it. It is a function on it's own, not part of main() all though you can put it in main().