玩(看你有多色)这个游戏的绝窍
C++ 游戏 (看你有多色) 代码
/*看你有多色小游戏
*
*曙光2014年11月19日16:18
*/
#include<stdlib.h>
#include<string.h>
#include<Windows.h>
#ifndef_T
#ifdefUNICODE
#define_T(str)L##str
#el
#define_T(str)str
#endif//UNICODE
#endif//_T
#if!__STDC_WANT_SECURE_LIB__
#definestrcpy_s(DstText,TextLen,SrcText)strcpy(DstText,SrcText)
#definestrcat_s(DstText,TextLen,SrcText)strcat(DstText,SrcText)
#define_itoa_s(Val,Text,TextLen,Radix)itoa(Val,Text,Radix)
#endif
//全局变量
HWNDMainWindow;//主窗口
intTruthX,TruthY;//正确答案坐标
intArraySize,Level;//颜色块矩阵边长、级别
COLORREFColorDef,ColorTruth;//默认颜色与正确答案颜色
//画矩形
BOOLPolyRect(HDChdc,LONGleft,LONGtop,LONGwidth,LONGhight){
POINTpoint[4];
point[0].x=left;
point[0].y=top;
point[1].x=left+width;
point[1].y=top;
point[2].x=left+width;
point[2].y=top+hight;
point[3].x=left;
point[3].y=top+hight;
returnPolygon(hdc,point,4);
}
//重绘窗口事件
voidPaintWindow(void){
HBRUSHhBrush,hOldBrush;
PAINTSTRUCTps;
HDChdc;
RECTrect;
intx,y;
doublew,h;
ArraySize=ArraySize<2?2:ArraySize;
GetClientRect(MainWindow,&rect);
hdc=BeginPaint(MainWindow,&ps);
hBrush=CreateSolidBrush(ColorDef);
hOldBrush=(HBRUSH)SelectObject(hdc,hBrush);
w=(double)(rect.right-rect.left)/ArraySize;
h=(double)(rect.bottom-rect.top)/ArraySize;
for(x=0;x<ArraySize;++x){
for(y=0;y<ArraySize;++y){
PolyRect(hdc,(LONG)w*x,(LONG)h*y,(LONG)w-1,(LONG)h-1);
}
}
hBrush=CreateSolidBrush(ColorTruth);
DeleteObject(SelectObject(hdc,hBrush));
PolyRect(hdc,(LONG)w*TruthX,(LONG)h*TruthY,(LONG)w-1,(LONG)h-1);
SelectObject(hdc,hOldBrush);
DeleteObject(hBrush);
EndPaint(MainWindow,&ps);
}
//新游戏
voidNewGame(intlev){
BYTEr,g,b;
chartext[1024];
if(lev>100){
MessageBox(MainWindow,_T("您已经通关了,在下佩服!"),_T("通关提示"),0);
}
lev=lev<1||lev>100?1:lev;
ArraySize=lev/10+2;
Level=lev;
TruthX=rand()%ArraySize;
TruthY=rand()%ArraySize;
r=rand()&0x7f;
g=rand()&0x7f;
b=rand()&0x7f;
ColorDef=RGB(r,g,b);
ColorTruth=RGB(r+51-lev/2,g+51-lev/2,b+51-lev/2);
InvalidateRect(MainWindow,NULL,TRUE);
strcpy_s(text,sizeof(text),"看你有多色-第");
_itoa_s(lev,text+strlen(text),4,10);
strcat_s(text,sizeof(text),"关");
SetWindowTextA(MainWindow,text);
}
//点击事件响应
voidWindowClick(intx,inty){
chartext[1024];
RECTrect;
doublew,h;
GetClientRect(MainWindow,&rect);
w=(double)(rect.right-rect.left)/ArraySize;
h=(double)(rect.bottom-rect.top)/ArraySize;
x=x/(int)w;
y=y/(int)h;
if(x==TruthX&&y==TruthY){
NewGame(Level+1);
}el{
strcpy_s(text,sizeof(text),"你点错了哦,正确答案:");
_itoa_s(TruthX+1,text+strlen(text),3,10);
strcat_s(text,sizeof(text),",");
_itoa_s(TruthY+1,text+strlen(text),3,10);
MessageBoxA(MainWindow,text,"重新开始",0);
NewGame(1);
}
}
//窗口消息响应
LRESULTCALLBACKWndProc(HWNDhWnd,UINTuMsg,WPARAMwParam,LPARAMlParam){
switch(uMsg){
caWM_DESTROY://窗口销毁
PostQuitMessage(0);
break;
caWM_SIZE://窗口大小被改变
InvalidateRect(hWnd,NULL,TRUE);
break;
caWM_PAINT://重绘窗口
PaintWindow();
break;
caWM_LBUTTONDOWN://鼠标左键按下
WindowClick(LOWORD(lParam),HIWORD(lParam));
break;
default:
returnDefWindowProc(hWnd,uMsg,wParam,lParam);
}
return0;
}
//入口函数
intWINAPIWinMain(HINSTANCEhInstance,HINSTANCE/*hPrevInstance*/,LPSTR/*lpCmdLine*/,intnCmdShow){
WNDCLASSEXwce;
MSGmsg;
//注册窗口类
wce.cbSize=sizeof(wce);
wce.style=0;
wce.lpfnWndProc=(WNDPROC)WndProc;//窗口消息处理函数
wce.cbClsExtra=wce.cbWndExtra=0;
wce.hInstance=hInstance;
wce.hCursor=LoadCursor(NULL,IDC_ARROW);
wce.hbrBackground=(HBRUSH)COLOR_BTNSHADOW;
wce.hIcon=wce.hIconSm=LoadIcon(NULL,IDI_APPLICATION);
wce.lpszClassName=_T("ShuGuang");
wce.lpszMenuName=NULL;
RegisterClassEx(&wce);
MainWindow=CreateWindowEx(0,_T("ShuGuang"),_T("看你有多色"),WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,600,400,NULL,NULL,hInstance,NULL);
ShowWindow(MainWindow,nCmdShow);
UpdateWindow(MainWindow);
srand(GetTickCount());
NewGame(1);
//消息循环
while(GetMessage(&msg,NULL,0,0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
returnmsg.wParam;
}
水平有限,可以参考 呵呵
看你有多色的介绍
“看你有多色“是一款基于Html5技术、挑战人类眼球对颜色的分辨能力、好玩易上手的小游戏。由深圳市东方博雅科技有限公司独立研发,上线1天就以单日1013万注册用户(独立IP)的傲人成绩,成为移动互联网当之无愧的MVP!
微信小游戏看你有多色用c++写出来,这段代码是什么意思?
html看你有多色设计思路怎么写
本文发布于:2023-02-28 20:53:00,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/167770637993367.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:看你有多色(看你有多色游戏多少不是色弱).doc
本文 PDF 下载地址:看你有多色(看你有多色游戏多少不是色弱).pdf
留言与评论(共有 0 条评论) |