⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 elos.txt

📁 参考俄罗斯方块源码。。。/
💻 TXT
📖 第 1 页 / 共 2 页
字号:
#include<graphics.h>
int score,speed;
int dx=270,dy=151,tag=1;
main()
{
int gd=DETECT,gm;
int press,fag1,fag2,fag3;
int i,j;
char str[10];
initgraph(&gd,&gm,"C:\\turboc2");
score=0;
speed=30000;
cleardevice();
inicrack();
getch();
cleardevice();
screen();
setcolor(RED);
sprintf(str,"%d",score);
outtextxy(92,205,"LEVER 1");
outtextxy(255,120,str);
fag2=1;
while(1)
{
  if(dy<165)
      {
        fag1=fag2;
        fag2=rand()%7+1;
        setfillstyle(SOLID_FILL,GREEN);
        bar(370,170,398,198);
        switch(fag2)
           {
            case 1:blockshape(370,170,RED,YELLOW,0);break;
            case 2:lineshape(370,170,1,RED,YELLOW,0);break;
            case 3:qishape(370,170,1,RED,YELLOW,0);break;
            case 4:lshape(370,170,1,RED,YELLOW,0);break;
            case 5:tshape(370,170,3,RED,YELLOW,0);break;
            case 6:zshape(370,170,1,RED,YELLOW,0);break;
            case 7:wushape(370,170,2,RED,YELLOW,0);break;
           }
      }
  while(!bioskey(1))
    {
    if(dy<158)
      {
        fag1=fag2;
        fag2=rand()%7+1;
        setfillstyle(SOLID_FILL,GREEN);
        bar(370,170,398,198);
        switch(fag2)
           {
            case 1:blockshape(370,170,RED,YELLOW,0);break;
            case 2:lineshape(370,170,1,RED,YELLOW,0);break;
            case 3:qishape(370,170,1,RED,YELLOW,0);break;
            case 4:lshape(370,170,1,RED,YELLOW,0);break;
            case 5:tshape(370,170,3,RED,YELLOW,0);break;
          case 6:zshape(370,170,1,RED,YELLOW,0);break;
            case 7:wushape(370,170,2,RED,YELLOW,0);break;
           }
      }
    switch(fag1)
      {
        case 1:block_move();break;
        case 2:line_move();break;
        case 3:qi_move();break;
        case 4:l_move();break;
        case 5:t_move();break;
        case 6:z_move();break;
        case 7:wu_move();break;
      }
  }
  press=bioskey(0);
  switch(fag1)
    {
    case 1:block_move2(press);break;
    case 2:line_move2(press);break;
    case 3:qi_move2(press);break;
    case 4:l_move2(press);break;
    case 5:t_move2(press);break;
    case 6:z_move2(press);break;
    case 7:wu_move2(press);break;
    }
  if(press==283)break;
}
closegraph();
}
int cmpred(int x,int y)
{
int i;
for(i=0;i<28;i++)
  if(getpixel(x+i,y)==RED)return 1;
return 0;
}
int cmpred2(int x,int y)
{
int i;
for(i=0;i<28;i++)
  if(getpixel(x,y+i)==RED)return 1;
return 0;
}
screen()
{
int i;
setbkcolor(BLACK);
setcolor(GREEN);
rectangle(213,150,354,431);
setcolor(BLUE);
rectangle(212,149,355,432);
setfillstyle(SOLID_FILL,BLUE);
floodfill(1,1,1);
setfillstyle(SOLID_FILL,YELLOW);
bar(253,115,305,130);
bar(90,200,150,215);
}

lineshape(int x,int y,int fag,int color1,int color2,int k)
{
if(fag==1)
  {
  if(k==1){
    if(y>424){dy=424;y=dy;}
    if(x>326){dx=326;x=dx;}
    if(x<214){dx=214;x=dx;}
  }
  fang(x,y,color1,color2);
  fang(x+7,y,color1,color2);
  fang(x+14,y,color1,color2);
  fang(x+21,y,color1,color2);
  }
else
  {
  if(k==1){
    if(y>403){dy=403;y=dy;}
    if(x>347){dx=347;x=dx;}
    if(x<214){dx=214;x=dx;}
    }
  fang(x,y,color1,color2);
  fang(x,y+7,color1,color2);
  fang(x,y+14,color1,color2);
  fang(x,y+21,color1,color2);
  }
}

blockshape(int x,int y,int color1,int color2,int k)
{
if(k==1){
  if(y>417){dy=417;y=dy;}
  if(x>340){dx=340;x=dx;}
  if(x<214){dx=214;x=dx;}
  }
fang(x,y,color1,color2);
fang(x,y+7,color1,color2);
fang(x+7,y,color1,color2);
fang(x+7,y+7,color1,color2);
}

qishape(int x,int y,int fag,int color1,int color2,int k)
{
switch(fag)
  {
  case 1:if(k==1)
        {
          if(y>417){dy=417;y=dy;}
          if(x<214){dx=214;x=dx;}
          if(x>333){dx=333;x=dx;}
        }
      fang(x,y,color1,color2);
        fang(x,y+7,color1,color2);
        fang(x+7,y+7,color1,color2);
        fang(x+14,y+7,color1,color2);
        break;
  case 2:if(k==1)
        {
          if(y>417){dy=417;y=dy;}
          if(x<214){dx=214;x=dx;}
          if(x>333){dx=333;x=dx;}
        }
      fang(x,y,color1,color2);
        fang(x+7,y,color1,color2);
        fang(x+14,y,color1,color2);
        fang(x+14,y+7,color1,color2);
        break;
  case 3:if(k==1)
        {
          if(y>410){dy=410;y=dy;}
          if(x<214){dx=214;x=dx;}
          if(x>340){dx=340;x=dx;}
        }
      fang(x,y,color1,color2);
        fang(x+7,y,color1,color2);
        fang(x,y+7,color1,color2);
        fang(x,y+14,color1,color2);
        break;
  case 4:if(k==1)
        {
          if(y>410){dy=410;y=dy;}
          if(x<221){dx=221;x=dx;}
          if(x>347){dx=340;x=dx;}
        }
      fang(x,y,color1,color2);
        fang(x,y+7,color1,color2);
        fang(x,y+14,color1,color2);
        fang(x-7,y+14,color1,color2);
        break;
  }
}
lshape(int x,int y,int fag,int color1,int color2,int k)
{
switch(fag)
  {
  case 1:if(k==1)
        {
          if(y>417){dy=417;y=dy;}
          if(x<214){dx=214;x=dx;}
          if(x>333){dx=333;x=dx;}
        }
      fang(x,y,color1,color2);
        fang(x,y+7,color1,color2);
        fang(x+7,y,color1,color2);
        fang(x+14,y,color1,color2);
        break;
  case 2:if(k==1)
        {
          if(y>410){dy=410;y=dy;}
          if(x<214){dx=214;x=dx;}
          if(x>340){dx=340;x=dx;}
        }
      fang(x,y,color1,color2);
        fang(x+7,y,color1,color2);
        fang(x+7,y+7,color1,color2);
        fang(x+7,y+14,color1,color2);
        break;
  case 3:if(k==1)
        {
          if(y>417){dy=417;y=dy;}
          if(x<228){dx=228;x=dx;}
          if(x>347){dx=347;x=dx;}
        }
      fang(x,y,color1,color2);
        fang(x-7,y+7,color1,color2);
        fang(x-14,y+7,color1,color2);
        fang(x,y+7,color1,color2);
        break;
  case 4:if(k==1)
        {
          if(y>410){dy=410;y=dy;}
          if(x<214){dx=214;x=dx;}
          if(x>340){dx=340;x=dx;}
        }
      fang(x,y,color1,color2);
        fang(x,y+7,color1,color2);
        fang(x,y+14,color1,color2);
        fang(x+7,y+14,color1,color2);
        break;
  }
}
zshape(int x,int y,int fag,int color1,int color2,int k)
{
if(fag==1)
  {
  if(k==1){
    if(y>417){dy=417;y=dy;}
    if(x>333){dx=333;x=dx;}
    if(x<214){dx=214;x=dx;}
  }
  fang(x,y,color1,color2);
  fang(x+7,y,color1,color2);
  fang(x+7,y+7,color1,color2);
  fang(x+14,y+7,color1,color2);
  }
else
  {
  if(k==1){
    if(y>410){dy=410;y=dy;}
    if(x>347){dx=347;x=dx;}
    if(x<221){dx=221;x=dx;}
    }
  fang(x,y,color1,color2);
  fang(x-7,y+7,color1,color2);
  fang(x,y+7,color1,color2);
  fang(x-7,y+14,color1,color2);
  }
}
wushape(int x,int y,int fag,int color1,int color2,int k)
{
if(fag==1)
  {
  if(k==1){
    if(y>417){dy=417;y=dy;}
    if(x>340){dx=340;x=dx;}
    if(x<221){dx=221;x=dx;}
  }
  fang(x,y,color1,color2);
  fang(x+7,y,color1,color2);
  fang(x-7,y+7,color1,color2);
  fang(x,y+7,color1,color2);
  }
else
  {
  if(k==1){
    if(y>410){dy=410;y=dy;}
    if(x>340){dx=340;x=dx;}
    if(x<214){dx=214;x=dx;}
    }
  fang(x,y,color1,color2);
  fang(x,y+7,color1,color2);
  fang(x+7,y+7,color1,color2);
  fang(x+7,y+14,color1,color2);
  }
}
tshape(int x,int y,int fag,int color1,int color2,int k)
{
switch(fag)
  {
  case 1:if(k==1)
        {
          if(y>417){dy=417;y=dy;}
          if(x<221){dx=221;x=dx;}
          if(x>340){dx=340;x=dx;}
        }
      fang(x,y,color1,color2);
        fang(x-7,y+7,color1,color2);
        fang(x,y+7,color1,color2);
        fang(x+7,y+7,color1,color2);
        break;
  case 2:if(k==1)
        {
          if(y>410){dy=410;y=dy;}
          if(x<214){dx=214;x=dx;}
          if(x>340){dx=340;x=dx;}
        }
      fang(x,y,color1,color2);
        fang(x,y+7,color1,color2);
        fang(x,y+14,color1,color2);
        fang(x+7,y+7,color1,color2);
        break;
  case 3:if(k==1)
        {
          if(y>417){dy=417;y=dy;}
          if(x<214){dx=214;x=dx;}
          if(x>333){dx=333;x=dx;}
        }
      fang(x,y,color1,color2);
        fang(x+7,y,color1,color2);
        fang(x+14,y,color1,color2);
        fang(x+7,y+7,color1,color2);
        break;
  case 4:if(k==1)
        {
          if(y>410){dy=410;y=dy;}
          if(x<221){dx=221;x=dx;}
          if(x>347){dx=347;x=dx;}
        }
      fang(x,y,color1,color2);
        fang(x-7,y+7,color1,color2);
        fang(x,y+7,color1,color2);
        fang(x,y+14,color1,color2);
        break;
  }
}

fang(int x,int y,int color1,int color2)
{
setcolor(color1);
rectangle(x,y,x+6,y+6);
setfillstyle(SOLID_FILL,color2);
bar(x+1,y+1,x+5,y+5);
}
cutpage()
{
int x=214,y=430,i,size;
void *buf;
char str[10];
if(cmp_red1(214,151)){gameover();exit(1);}
for(i=0;i<40;i++)
  if(cmpblack(x,y-i*7))
     {
      setfillstyle(SOLID_FILL,BLACK);
      bar(x,y-i*7-6,354,y-i*7);
      size=imagesize(214,151,354,y-i*7-7);
      buf=(void *)malloc(size);
      getimage(214,151,354,y-i*7-7,buf);
      putimage(214,158,buf,COPY_PUT);
      free(buf);
      y+=7;
      score+=10;
      if(score>=5000)
        {
        score=0;
        speed-=5000;
        setfillstyle(SOLID_FILL,YELLOW);
        bar(90,200,150,215);
        switch(speed)
           {
            case 25000:outtextxy(92,205,"LEVER 2");break;
            case 20000:outtextxy(92,205,"LEVER 3");break;
            case 15000:outtextxy(92,205,"LEVER 4");break;
            case 10000:outtextxy(92,205,"LEVER 5");break;
            case 5000: outtextxy(92,205,"LEVER 6");break;
            case 0:   outtextxy(92,205,"LEVER 7");break;
            case -5000:outtextxy(92,205,"LEVER 8");break;
            case -10000:outtextxy(92,205,"LEVER 9");break;
            case -15000:outtextxy(92,205,"LEVER 10");break;
            default:outtextxy(92,205,"WINNER!!!!!");
           }
          leveladd();
          setfillstyle(SOLID_FILL,BLACK);
          bar(214,151,353,430);
        }
      setfillstyle(SOLID_FILL,YELLOW);
      bar(253,115,305,130);
      sprintf(str,"%d",score);
      outtextxy(255,120,str);
     }
}
cmpblack(int x,int y)
{
int i;
for(i=0;i<140;i++)
  if(getpixel(x+i,y)==BLACK)return 0;
return 1;
}
cmp_red1(int x,int y)
{
int i;
for(i=0;i<140;i++)
  if(getpixel(x+i,y)==RED)return 1;
return 0;
}
gameover()
{
int i,sped=10000;
cleardevice();
setfillstyle(SOLID_FILL,BLUE);
bar(1,1,639,80);
setcolor(YELLOW);
settextstyle(4,0,8);
outtextxy(100,200,"GOOD_BYE");
setcolor(LIGHTRED);
setlinestyle(SOLID_LINE,1,1);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -