注册 登录
编程论坛 C++教室

求大神指教,怎么才能在运行的时候按WASD上面的符号还保留着

菜鸡一只 发布于 2015-01-06 09:22, 669 次点击
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
#include<time.h>
int x=20,y=20;
char key;
int map[20][20];
int i,j,m,n=5;
void gotoxy(int x,int y);
void draw(int x,int y);
int ix,iy;
void setmap()
{
    srand((unsigned)time(NULL));
    for(m=0;m<5;m++)
    {
        ix=rand()%20+1;
        iy=rand()%20+1;
        gotoxy(ix+1,iy+1);
        printf("$");
    }
}
void draw(int x,int y)
{
    system("cls");
    for(m=0;m<5;m++)
    {gotoxy(ix,iy);printf("$");}
    gotoxy(x,y);
    printf("&");
}
void gotoxy(int x,int y)
{
    HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
    COORD pos={x,y};
    SetConsoleCursorPosition(hOut,pos);
}
int main()
{
    draw(x,y);
    setmap();
    while(1)
    {
        if(kbhit())
{       key=getch();
        switch(key)
        {
            printf("%d\n",key);
            case 'w':{draw(x,--y>=0?y:0);break;}
            case 's':{draw(x,++y<=64?y:64);break;}
            case 'd':{draw(++x<=64?x:64,y);break;}
            case 'a':{draw(--x>=0?x:0,y);break;}
        }
}
    }
}
4 回复
#2
rjsp2015-01-06 10:59
“怎么才能在运行的时候按WASD上面的符号还保留着” --- 听不懂
#3
peach54602015-01-06 15:20
描述太含糊,不懂
#4
菜鸡一只2015-01-06 15:30
回复 2楼 rjsp
就是上面有这个符号$,一开始可以打印出来,但是我一按WASD,我控制的本体&可以移动,但是这些$符号却消失了,原因是我的draw函数里面有一个清屏的代码,现在我不想在我按WASD的时候这些$符号消失啊,求大神修改我的代码!
#5
菜鸡一只2015-01-06 15:32
回复 3楼 peach5460
就是运行的时候一开始可以打印符号$,但是我一按WASD,这些符号就消失了,我的意思是要在我可以控制本体&移动的情况下保证这些$符号位置不动也不消失。
1