闲得无聊做的小游戏,原理是清屏再打印,画面自然是渣的不忍直视。。
#include<iostream>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
#include<conio.h>
#include<time.h>
using namespace std;
int A[12][12];
int AA[11][11],l[100];
char ss[100];
int main()
{
int len,sign,chi,die,tt,g,score,beilv,rrr;
while(1)
{
srand((int)time(NULL));
len=5,sign=1,chi=1,die=0,tt=500,g=0,score=0,beilv=20,rrr=0;
char t='5';
memset(A,0,sizeof(A));
for(int i=0;i<12;i++)
{
A[0][i]=1;
A[11][i]=1;
A[i][0]=1;
A[i][11]=1;
}
for(int i=1;i<=11;i++)
for(int j=1;j<11;j++)
{
AA[i][j]=i*10+j;
}
printf("\t\t\t 贪吃蛇!!!\n\n\n\n\n\n\n\n\n\t简单模式请按a 中等模式请按b 困难模式请按c\n\n\n\n\t\t\t 鬼畜模式请按d\n\t\t\t\n\n\t\t 操作:wasd或8456\n\n\t\t 欢迎提供bug\n\n\n\t\t\t\t\tdesigned by wyc");
char m=getch();
if(m=='a') {tt=600;beilv=10;score-=10;}
if(m=='b') {tt=400;beilv=20;score-=20;}
if(m=='c') {tt=200;beilv=30;score-=30;}
if(m=='d') {tt=300;g=1;beilv=30;score-=30;}
if(m=='u') {system("CLS");
if(getch())
{
rrr=1;
}}
system("CLS");
for(int i=1;i<=5;i++) {A[i][1]=1;l[i]=10*i;}
while(!rrr)
{
int x,y;
if(chi==1)
{
do{
x=rand()%110+1;}while(A[x/10][x%10+1]!=0);
chi=0;
A[x/10][x%10+1]=2;
if(g==1)
{
do{
y=rand()%110+1;}while(A[y/10][y%10+1]!=0);
A[y/10][y%10+1]=3;
}
score+=beilv;
}
system("CLS");
for(int i=0;i<12;i++)
{
for(int j=0;j<12;j++)
{
if(A[i][j]==1) printf("* ");
else if(A[i][j]==2) printf("# ");
else if(A[i][j]==3) printf("O ");
else printf(" ");
}
printf("\n");
}
printf("得分:%d\n",score);
Sleep(tt);
if(A[l[1]/10][l[1]%10+1]==1)
A[l[1]/10][l[1]%10+1]=0;
if(kbhit()) t=getch();
if(t=='8'&&sign!=1||t=='w'&&sign!=1) sign=2;
else if(t=='5'&&sign!=2||t=='s'&&sign!=2) sign=1;
else if(t=='4'&&sign!=4||t=='a'&&sign!=4) sign=3;
else if(t=='6'&&sign!=3||t=='d'&&sign!=3) sign=4;
for(int i=0;i<len;i++)
{
l[i]=l[i+1];
}
if(sign==1) l[len]=l[len-1]+10;
else if(sign==2) l[len]=l[len-1]-10;
else if(sign==3) l[len]=l[len-1]-1;
else if(sign==4) l[len]=l[len-1]+1;
if(A[l[len]/10][l[len]%10+1]==1||A[l[len]/10][l[len]%10+1]==3) die=1;
if(l[len]%10+1==1&&sign==4) die=1;
if(l[len]%10+1==10&&sign==3) die=1;
A[l[len]/10][l[len]%10+1]=1;
if(l[len]==x)
{
chi=1;
len++;
for(int i=len;i>0;i--)
{
l[i]=l[i-1];
}
if(tt!=0)
tt-=10;
}
if(die) break;
}
if(!rrr)
{
printf(" 死了……");
Sleep(1000);
system("CLS");
printf("\t\t\t死了……\n\n\t\t 得分:%d\n\n\n\n\n\n\n\t\t\t重来?y/n",score);
int xx=getch();
if(xx!='y')
{
system("CLS");
printf("\t\t\t退出?\n\n\t\t 得分:%d\n\n\n\n\n\n\n\t\t\ty/n?",score);
int xxx=getch();
if(xxx=='y') break;
}
}
system("CLS");
die=0;
memset(l,0,sizeof(l));
memset(A,0,sizeof(A));
memset(AA,0,sizeof(AA));
t='5';
}
return 0;
}