如图,不使用Windows.h绘制画面
#include<bits/stdc++.h>
#include<time.h>
#include<conio.h>
char q[50][50];
int HP=100000;
char ch;
int c;
int jj=0,sc=0;
clock_t cl;
using namespace std;
int f(){
cout<<"\n\n\n\n\n\n\n\n\n\n";
for(int i=0;i<20;i++)
{fwrite(q[i],sizeof(char),40,stdout);
cout<<"\n";}cout<<"\b血量"<<HP/1000<<" \b得分"<<sc;}
int main(){
int ldx[50]={-1};
int ldy[50]={-1};
int jdx[50]={-2};
int jdy[50]={-2};
int idx[50]={-2};
int idy[50]={-2};
int kdx[50]={-1};
int kdy[50]={-1};
int mtx[2][51]={-10};
for(int i=0;i<2;i++) for(int j=0;j<50;j++) mtx[i][j]=-10;
cout<<mtx[0][0]<<mtx[1][0];
srand(time(NULL));
for(int i=0;i<20;i++) for(int j=0;j<40;j++) q[i][j]='_';
int a=0,b=0;
q[a][b]='#';
for(int l=0;;l++)
{
int p=f();
cl=clock();
ch=0;
if(rand()%100==0)
{
jj=0;
while(mtx[0][jj]!=-10&&jj<=49)
{
jj++;
}
mtx[0][jj]=rand()%20;
mtx[1][jj]=rand()%40;
}
while(clock()-cl<=1){//5秒
if(kbhit()){
ch=_getch();
}}
q[a][b]='_';
q[a][b+1]='_';
if(a>0) if(ch=='w')a--;
if(a<19)if(ch=='s')a++;
if(b>0)if(ch=='a')b--;
if(b<39)if(ch=='d')b++;
if(ch=='l')
{
c=0;
while(ldx[c]!=-1)
{
c++;
}
ldx[c]=b;
ldy[c]=a;
}
if(ch=='j')
{
c=0;
while(jdx[c]!=-2)
{
c++;
}
jdx[c]=b;
jdy[c]=a;
}
if(ch=='k')
{
c=0;
while(kdx[c]!=-1)
{
c++;
}
kdx[c]=a;
kdy[c]=b;
}
if(ch=='i')
{
c=0;
while(idx[c]!=-2)
{
c++;
}
idx[c]=a;
idy[c]=b;
}
for(int i=0;i<50;i++)
{
if(ldx[i]!=-1)
{
q[ldy[i]][ldx[i]]='-';
q[ldy[i]][ldx[i]-1]='_';
ldx[i]++;
}
if(ldx[i]>40)
{
ldx[i]=-1;
ldy[i]=-1;
}
if(jdx[i]!=-2)
{
q[jdy[i]][jdx[i]]='-';
q[jdy[i]][jdx[i]+1]='_';
jdx[i]--;
}
if(jdx[i]<-1)
{
jdx[i]=-2;
jdy[i]=-2;
}
if(kdy[i]!=-1)
{
q[kdx[i]][kdy[i]]='|';
q[kdx[i]-1][kdy[i]]='_';
kdx[i]++;
}
if(kdx[i]>20)
{
kdx[i]=-1;
kdy[i]=-1;
}
if(idx[i]!=-2)
{
q[idx[i]][idy[i]]='|';
q[idx[i]+1][idy[i]]='_';
idx[i]--;
}
if(idx[i]<-1)
{
idx[i]=-2;
idy[i]=-2;
}
}
for(int i=0;i<50;i++)
{
if(mtx[0][i]!=-10)
{
q[mtx[0][i]][mtx[1][i]]='&';
for(int j=0;j<50;j++)
{
if(ldy[j]==mtx[0][i]&&ldx[j]==mtx[1][i])
{
q[mtx[0][i]][mtx[1][i]]='_';
q[ldy[j]][ldx[j]]='_';
q[ldy[j]][ldx[j]-1]='_';
mtx[0][i]=-10;
mtx[1][i]=-10;
ldx[j]=-1;
ldy[j]=-1;
sc++;
}
if(jdy[j]==mtx[0][i]&&jdx[j]==mtx[1][i])
{
q[mtx[0][i]][mtx[1][i]]='_';
q[jdy[j]][jdx[j]]='_';
q[jdy[j]][jdx[j]+1]='_';
mtx[0][i]=-10;
mtx[1][i]=-10;
jdx[j]=-1;
jdy[j]=-1;
sc++;
}
if(idx[j]==mtx[0][i]&&idy[j]==mtx[1][i])
{
q[mtx[0][i]][mtx[1][i]]='_';
q[idx[j]][idy[j]]='_';
q[idx[j]+1][idy[j]]='_';
mtx[0][i]=-10;
mtx[1][i]=-10;
idx[j]=-1;
idy[j]=-1;
sc++;
}
if(kdx[j]==mtx[0][i]&&kdy[j]==mtx[1][i])
{
q[mtx[0][i]][mtx[1][i]]='_';
q[kdx[j]][kdy[j]]='_';
q[kdx[j]-1][kdy[j]]='_';
mtx[0][i]=-10;
mtx[1][i]=-10;
kdx[j]=-1;
kdy[j]=-1;
sc++;
}
if(a==mtx[0][i]&&b==mtx[1][i]) HP--;
if(rand()%3456==0)
{
q[mtx[0][i]][mtx[1][i]]='_';
if(a-mtx[0][i]<0) mtx[0][i]--;
if(a-mtx[0][i]>0) mtx[0][i]++;
if(b-mtx[1][i]<0) mtx[1][i]--;
if(b-mtx[1][i]>0) mtx[1][i]++;
}}}}
if(HP<=0) break;
q[a][b]='#';
}
cout<<"\n==>GAME OVER<==\n\b得分:"<<sc;return 0;}