来,我们直接上代码。
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <cstdlib>
#include <ctime>
#include <Windows.h>
#include <time.h>
#include <conio.h>
using namespace std;
bool zuobiao[20][20];
int x=5,y=0, defen=0,x2=6,y2=0,x3=7,y3=0,x4=8,y4=0;
void shuchu()
{
system("cls");
cout<<"得分:"<<defen<<endl;
for(int i=0; i<20; i++)
{
for(int j=0; j<20; j++)
{
if(zuobiao[i][j]==1)
cout<<"█";
else
cout<<" ";
}
cout<<"|"<<endl;
}
}
void anjian()
{
if(_kbhit())
{
//获取键盘的输入字符*/
switch(_getch())
{
case '4':
case 75:/*左键*/
zuobiao[y][x]=0;
zuobiao[y2][x2]=0;
zuobiao[y3][x3]=0;
zuobiao[y4][x4]=0;
x--;
x2--;
x3--;
x4--;
zuobiao[y][x]=0;
zuobiao[y2][x2]=0;
zuobiao[y3][x3]=0;
zuobiao[y4][x4]=0;
shuchu();
break;
case '6':
case 77:/*右键*/
zuobiao[y][x]=0;
zuobiao[y2][x2]=0;
zuobiao[y3][x3]=0;
zuobiao[y4][x4]=0;
x++;
x2++;
x3++;
x4++;
zuobiao[y][x]=0;
zuobiao[y2][x2]=0;
zuobiao[y3][x3]=0;
zuobiao[y4][x4]=0;
shuchu();
break;
case '2':
case 80:/*向下键盘键 */
zuobiao[y][x]=0;
zuobiao[y2][x2]=0;
zuobiao[y3][x3]=0;
zuobiao[y4][x4]=0;
y++;
y2++;
y3++;
y4++;
zuobiao[y][x]=1;
zuobiao[y2][x2]=1;
zuobiao[y3][x3]=1;
zuobiao[y4][x4]=1;
shuchu();
break;
}
}
}
void de()
{
bool zheng;
for(int i=19; i>=0; i--)
{
zheng=true;
for(int j=0; j<20; j++)
{
if(zuobiao[i][j]==0)
{
zheng=false;
break;
}
}
if(zheng==true)
{
for(int k=0; k<20; k++)
zuobiao[i][k]=zuobiao[i-1][k];
defen++;
}
}
}
void shezhichushi()
{
de();
y=0;
y2=0;
y3=0;
y4=0;
srand(time(NULL));
int temp=rand()%2;
if(temp==0)
{
//设置方块初始位置
x=5;
x2=6;
x3=7;
x4=8;
}
else
{
x=5;
x2=6;
x3=5;
y3++;
x4=6;
y4++;
}
zuobiao[y][x]=1;
zuobiao[y2][x2]=1;
zuobiao[y3][x3]=1;
zuobiao[y4][x4]=1;
}
void yzb()
{
zuobiao[y][x]=0;
zuobiao[y2][x2]=0;
zuobiao[y3][x3]=0;
zuobiao[y4][x4]=0;
if(y>17)
y=18;
if(y2>17)
y2=18;
if(y3>17)
y3=18;
if(y4>17)
y4=18;
y++;
y2++;
y3++;
y4++;
zuobiao[y][x]=1;
zuobiao[y2][x2]=1;
zuobiao[y3][x3]=1;
zuobiao[y4][x4]=1;
if((y2==19) || (zuobiao[y2+1][x2]==1) || (zuobiao[y4+1][x4]==1))
shezhichushi();
}
void jvqin()
{
cout<<"█ █ ████ █ █ ███ "<<endl;
_sleep(100);
cout<<"█ █ ██ ██ █ █ █ ██ "<<endl;
_sleep(100);
cout<<"█ █ ██ ██ █ █ █ ██ "<<endl;
_sleep(100);
cout<<"█ █ ██ ██ █ █ █ █ "<<endl;
_sleep(100);
cout<<"█ █ ██ ██ █ █ █ █ "<<endl;
_sleep(100);
cout<<"█ █ ██ █ █ █ █ █ "<<endl;
_sleep(100);
cout<<"█ █ █ █ █ █ █ "<<endl;
_sleep(100);
cout<<"█ █ █ █ █ █ █ "<<endl;
_sleep(100);
cout<<"█ █ █ █ █ ██ "<<endl;
_sleep(100);
cout<<"█████████████ █ █████████████ █ ██ "<<endl;
_sleep(100);
cout<<" █ █ █ █ █ "<<endl;
_sleep(100);
cout<<" █ █ █ █ █ "<<endl;
_sleep(100);
cout<<" █ █ █ █ █ "<<endl;
_sleep(100);
cout<<" █ █ █ █ █ "<<endl;
_sleep(100);
cout<<" █ ██████████ █ ██ "<<endl;
_sleep(500);
cout<<" 424B号工作室"<<endl;
system("pause");
}
int main() {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
for(int i=0;;i++)
{
anjian();
if(i%10000==0)
{
yzb();
shuchu();
}
}
return 0;
}
点个赞呗!