#define WINVER 0x0500
#include<windows.h>
#include<stdio.h>
#include<time.h>
#include<string.h>
#include"head.h"
int WINAPI WinMain(HINSTANCE hinstance,HINSTANCE hpr,LPSTR Lp,int cmd)
{
MSG msg;
if(!InitWndClass(hinstance))
{
MessageBeep(0);
return FALSE;
}
InitFuction(hinstance);
if(!InitWindow(hinstance,cmd))
return FALSE;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam)
{
int i,j,k,t;
int x1,x2;
int record;
HCURSOR hcur;
HDC hdc;
HBITMAP hbm;
TEXTMETRIC tm2;
PAINTSTRUCT ps;
SIZE TSize;
POINT Tpt[3];
FILE *fp;
char RD[10];
char ch[10]="\0";
char score[10]="\0";
char *lpst1="鹅卵石";
char *lpst2="Enter键开始游戏";
char *lpst3="Game Over!";
char *lpst4="再玩一次?";
char *lpst5="Next:";
char *lpst6="Buff:";
char *lpst7="Score:";
char *lpst8="Bomb Comming!";
char *lpst9=" 闪 光 弹!";
char *lpst10="亮瞎你的狗眼";
char *lpst11="查看记录";
switch(msg)
{
case WM_CREATE:
hdc=GetDC(hwnd);
hdcmem=CreateCompatibleDC(hdc);
hdcm=CreateCompatibleDC(hdc);
ReleaseDC(hwnd,hdc);
return 0;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
hbm=CreateCompatibleBitmap(hdc,650,690);
SelectObject(hdcmem,hbm);
SelectObject(hdcmem,Bhbr);
Rectangle(hdcmem,0,0,650,690);
SetBkMode(hdcmem,TRANSPARENT);
if(Flag)
{
Rectangle(hdcmem,30,30,330,630);
if(RDFlag&&HG.num)
{
for(i=0;i<10;i++)
if(BK[i][0].flag)
break;
if(i<10)
Begin=0;
for(i=0;i<HG.pt.y-1;i++)
for(j=0;j<10;j++)
{
BK[j][i].flag=BK[j][i+1].flag;
BK[j][i].F=BK[j][i+1].F;
BK[j][i].hbr=BK[j][i+1].hbr;
}
for(i=0;i<10;i++)
{
BK[i][HG.pt.y-1].flag=0;
BK[i][HG.pt.y-1].F=0;
}
for(i=0;i<7;i++)
{
t=rand()%10;
BK[t][HG.pt.y-1].flag=1;
BK[t][HG.pt.y-1].F=1;
BK[t][HG.pt.y-1].hbr=Vhbr;
}
HG.num--;
if(!HG.num)
{
BK[HG.pt.x][HG.pt.y].flag=0;
BK[HG.pt.x][HG.pt.y].F=0;
}
}
if(Begin==1)
{
if(RDFlag)
{
RDFlag=0;
if(Bomb==1)
{
if(BRd>=55)
{
Text=1;
Bomb=3;
}
else
{
Time=500;
SetTimer(hwnd,1,Time,NULL);
pt.x=4;
pt.y=0;
Bomb=4;
}
}
if(!Bomb)
{
Time=500;
if(BF[2].num)
Time+=300;
if(BF[3].num)
Time-=300;
SetTimer(hwnd,1,Time,NULL);
Rd=NRd;
State=NState;
pt.x=4;
pt.y=0;
NRd=rand()%8;
NState=rand()%4;
Buff=0;
BRd=rand()%100;
if(BRd<=59&&BRd>=53)
Bomb=1;
if(BRd>=40&&BRd<=50)
{
Bf=rand()%4+2;
Buff=1;
do
{
I=rand()%4;
J=rand()%4;
}while(!LP[Rd].b[State][I][J]);
LP[Rd].b[State][I][J]=Bf;
}
}
}
if(Bomb==2)
{
switch(BRd)
{
case 57:
case 58:
SelectObject(hdcm,Bhbm);
GetObject(Bhbm,sizeof(BITMAP),(LPVOID)&bm);
break;
case 59:
SelectObject(hdcm,Fhbm);
GetObject(Fhbm,sizeof(BITMAP),(LPVOID)&bm);
break;
case 55:
case 56:
SelectObject(hdcm,Shbm);
GetObject(Shbm,sizeof(BITMAP),(LPVOID)&bm);
break;
}
k=bm.bmHeight/30;
for(i=0;i<=k;i++)
if(pt.y+i>=20||BK[pt.x][pt.y+i].flag||BK[pt.x+1][pt.y+i].flag)
break;
if(i==k+1)
BitBlt(hdcmem,BK[pt.x][pt.y].pt.x,BK[pt.x][pt.y].pt.y,bm.bmWidth,bm.bmHeight,hdcm,0,0,SRCCOPY);
else
{
k=i;
RDFlag=1;
Bomb=0;
KillTimer(hwnd,1);
switch(BRd)
{
case 57:
case 58:
for(i=-1;i<3;i++)
for(j=0;j<3;j++)
if(pt.x+i<10&&pt.y+k+j<20)
BK[pt.x+i][pt.y+k+j].flag=0;
BB=1;
break;
case 59:
FF=2;
break;
case 55:
case 56:
PT[SN].x=BK[pt.x-1][pt.y].pt.x-45;
PT[SN].y=BK[pt.x][pt.y].pt.y;
SS[SN]=6;
SN=(SN+1)%4;
break;
}
InvalidateRect(hwnd,NULL,0);
}
}
else if(Bomb==4)
{
if(pt.y==20||BK[pt.x][pt.y].flag)
{
RDFlag=1;
Bomb=0;
KillTimer(hwnd,1);
if(pt.y==0)
Begin=0;
else
{
BK[pt.x][pt.y-1].flag=1;
BK[pt.x][pt.y-1].F=6;
BK[pt.x][pt.y-1].hbr=Vhbr;
if(HG.num)
{
BK[HG.pt.x][HG.pt.y].flag=0;
BK[HG.pt.x][HG.pt.y].F=0;
}
HG.num=3;
HG.pt.x=pt.x;
HG.pt.y=pt.y-1;
InvalidateRect(hwnd,NULL,0);
}
}
else
{
SelectObject(hdcmem,Vhbr);
Tpt[0].x=BK[pt.x][pt.y].pt.x+15;
Tpt[0].y=BK[pt.x][pt.y].pt.y;
Tpt[1].x=BK[pt.x][pt.y].pt.x;
Tpt[1].y=BK[pt.x][pt.y].pt.y+30;
Tpt[2].x=BK[pt.x][pt.y].pt.x+30;
Tpt[2].y=BK[pt.x][pt.y].pt.y+30;
Polygon(hdcmem,Tpt,3);
}
}
else if(Bomb<2)
{
x1=pt.x;
x2=pt.y;
DFlag=1;
for(i=0;i<4;i++)
{
for(j=3;j>=0;j--)
if(LP[Rd].b[State][j][i])
break;
if(j>=0&&(x2+j==20||BK[x1+i][x2+j].flag))
{
DFlag=0;
break;
}
}
if(DFlag)
{
SelectObject(hdcmem,LP[Rd].hbr);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(LP[Rd].b[State][i][j])
{
Rectangle(hdcmem,BK[j+x1][i+x2].pt.x,BK[j+x1][i+x2].pt.y,BK[j+x1][i+x2].pt.x+30,BK[j+x1][i+x2].pt.y+30);
t=LP[Rd].b[State][i][j];
if(t>=2)
{
SelectObject(hdcm,BF[t-2].hbm);
GetObject(BF[t-2].hbm,sizeof(BITMAP),(LPVOID)&bm);
BitBlt(hdcmem,BK[j+x1][i+x2].pt.x,BK[j+x1][i+x2].pt.y,bm.bmWidth,bm.bmHeight,hdcm,0,0,SRCCOPY);
}
}
}
else
{
KillTimer(hwnd,1);
if(x2==0)
{
Begin=0;
x2--;
while(1&&x2>-4)
{
for(i=0;i<4;i++)
{
for(j=3;j>=-x2;j--)
if(LP[Rd].b[State][j][i])
break;
if(j!=-1-x2&&BK[x1+i][x2+j].flag)
{
x2--;
break;
}
}
if(i==4)
break;
}
for(i=3;i>=-x2;i--)
for(j=0;j<4;j++)
if(LP[Rd].b[State][i][j])
{
BK[x1+j][i+x2].flag=1;
BK[x1+j][i+x2].F=LP[Rd].b[State][i][j];
BK[x1+j][i+x2].hbr=LP[Rd].hbr;
}
}
else
{
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(LP[Rd].b[State][i][j])
{
BK[x1+j][x2+i-1].flag=1;
BK[x1+j][x2+i-1].F=LP[Rd].b[State][i][j];
BK[x1+j][x2+i-1].hbr=LP[Rd].hbr;
}
Cr=0;
for(j=0;j<4;j++)
{
if(x2+j-1<20)
{
for(i=0;i<10;i++)
if(!BK[i][x2+j-1].flag||BK[i][x2+j-1].F==6)
break;
if(i==10)
{
Clear[Cr]=x2+j-1;
Cr++;
}
}
else
break;
}
if(Cr)
{
Begin=2;
Count=0;
}
else
{
RDFlag=1;
InvalidateRect(hwnd,NULL,0);
}
}
if(Buff)
LP[Rd].b[State][I][J]=1;
for(i=1;i<4;i++)
if(BF[i].num)
BF[i].num--;
}
}
}
for(i=0;i<10;i++)
for(j=0;j<20;j++)
if(BK[i][j].flag)
{
t=BK[i][j].F;
SelectObject(hdcmem,BK[i][j].hbr);
if(t==6)
{
Tpt[0].x=BK[i][j].pt.x+15;
Tpt[0].y=BK[i][j].pt.y;
Tpt[1].x=BK[i][j].pt.x;
Tpt[1].y=BK[i][j].pt.y+30;
Tpt[2].x=BK[i][j].pt.x+30;
Tpt[2].y=BK[i][j].pt.y+30;
Polygon(h
没有合适的资源?快使用搜索试试~ 我知道了~
仿照俄罗斯方块编写的源码
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共30个文件
bmp:10个
pdb:2个
user:1个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
需积分: 8 0 下载量 156 浏览量
2022-03-14
12:46:38
上传
评论
收藏 2.55MB RAR 举报
温馨提示
俄罗斯方块原版玩法,稍加改动(加入了一些新元素)
资源详情
资源评论
资源推荐
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/EXE.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 30 条
- 1
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/octet-stream](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
LIKR祥云
- 粉丝: 7
- 资源: 4
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0