资源简介
实现七巧板的拼图游戏,每块板有不同颜色,左键移动板,右键旋转板。
代码片段和文件信息
// Chip.cpp: implementation of the CChip class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “my.h“
#include “Chip.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
IMPLEMENT_SERIAL(CChipCobject1)
void CChip::SetChip(int typePOINT *ppointlistint count)
{
m_nType=type;
m_nPointCount=count;
for(int i=0;i m_pointList[i]=ppointlist[i];
}
void CChip::DrawChip(CDC *pDC)
{
CPen penNew*ppenOld;
CBrush brushNew *pbrushOld;
switch(m_nType)
{
case 1:
brushNew.CreateSolidBrush(RGB(127127127));
break;
case 2:
brushNew.CreateSolidBrush(RGB(25500));
break;
case 3:
brushNew.CreateSolidBrush(RGB(02550));
break;
case 4:
brushNew.CreateSolidBrush(RGB(00255));
break;
case 5:
brushNew.CreateSolidBrush(RGB(1271270));
break;
case 6:
brushNew.CreateSolidBrush(RGB(1270127));
break;
case 7:
brushNew.CreateSolidBrush(RGB(0127127));
break;
}
penNew.CreatePen (PS_SOLID1RGB(000));
ppenOld=pDC->Selectobject (&penNew);
pbrushOld=pDC->Selectobject(&brushNew);
pDC->Polygon (m_pointListm_nPointCount);
pDC->Selectobject (ppenOld);
pDC->Selectobject (pbrushOld);
}
BOOL CChip::PtInChip (POINT point)
{
CRgn rgn;
rgn.CreatePolygonRgn (m_pointListm_nPointCountALTERNATE);
return rgn.PtInRegion (point);
}
LPCRECT CChip::GetRect()
{
static RECT rect;
CRgn rgn;
rgn.CreatePolygonRgn (m_pointListm_nPointCountALTERNATE );
rgn.GetRgnBox(&rect);
rect.top--;
rect.left--;
rect.right++;
rect.bottom++;
return ▭
}
void CChip::Rotation ()
{
CRect rect;
CRgn rgn;
rgn.CreatePolygonRgn (m_pointListm_nPointCountALTERNATE);
rgn.GetRgnBox (&rect);
double x=rect.left+rect.Width()/2;
double y=rect.top+rect.Height()/2;
double dxdy;
for(int i=0;i {
dx=m_pointList[i].x-x;
dy=m_pointList[i].y-y;
m_pointList[i].x=(int)(x+dx*0.7071-dy*0.7071);
m_pointList[i].y=(int)(y+dx*0.7071+dy*0.7071);
}
}
void CChip::MoveTo (CSize offset)
{
for(int i=0;i m_pointList[i]=m_pointList[i]+offset;
}
void CChip::Serialize (CArchive &ar)
{
if(ar.IsStoring())
{
ar< ar< for(int i=0;i ar< }
else
{
ar>>m_nType;
ar>>m_nPointCount;
for(int i=0;i ar>>m_pointList[i];
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-03-12 20:14 七巧板\
文件 2679 2004-10-07 14:11 七巧板\Chip.cpp
文件 884 2004-09-12 09:34 七巧板\Chip.h
目录 0 2014-03-12 20:14 七巧板\Debug\
文件 23227 2004-10-07 14:12 七巧板\Debug\Chip.obj
文件 0 2004-10-07 14:12 七巧板\Debug\Chip.sbr
文件 19654 2014-03-12 20:03 七巧板\Debug\MainFrm.obj
文件 0 2014-03-12 20:03 七巧板\Debug\MainFrm.sbr
文件 4973568 2014-03-12 20:03 七巧板\Debug\my.bsc
文件 122919 2014-03-12 20:03 七巧板\Debug\my.exe
文件 349236 2014-03-12 20:03 七巧板\Debug\my.ilk
文件 23381 2004-09-12 11:01 七巧板\Debug\my.obj
文件 7056924 2004-09-12 11:01 七巧板\Debug\my.pch
文件 492544 2014-03-12 20:03 七巧板\Debug\my.pdb
文件 7180 2004-09-11 17:19 七巧板\Debug\my.res
文件 0 2004-09-12 11:01 七巧板\Debug\my.sbr
文件 21980 2004-09-12 11:01 七巧板\Debug\myDoc.obj
文件 0 2004-09-12 11:01 七巧板\Debug\myDoc.sbr
文件 26494 2004-09-12 21:43 七巧板\Debug\myView.obj
文件 0 2004-09-12 21:43 七巧板\Debug\myView.sbr
文件 105680 2004-09-12 11:01 七巧板\Debug\StdAfx.obj
文件 1370254 2004-09-12 11:01 七巧板\Debug\StdAfx.sbr
文件 336896 2014-03-12 20:03 七巧板\Debug\vc60.idb
文件 364544 2014-03-12 20:03 七巧板\Debug\vc60.pdb
文件 2503 2004-09-11 17:18 七巧板\MainFrm.cpp
文件 1581 2004-09-11 17:18 七巧板\MainFrm.h
文件 28260 2004-09-11 17:18 七巧板\my.aps
文件 2203 2004-09-11 21:15 七巧板\my.clw
文件 4137 2004-09-11 17:18 七巧板\my.cpp
文件 4592 2004-09-12 11:33 七巧板\my.dsp
文件 529 2004-09-11 17:45 七巧板\my.dsw
............此处省略18个文件信息
- 上一篇:eDNA实时历史数据库接口功能说明及-C语言版
- 下一篇:linux电子词典小项目
相关资源
- 深入理解C++11:C++11新特性解析与应用
- C++FTP服务端客户端
- C11 C++11标准帮助文档中文版-20181230
- 一个用C++编写的画图程序
- Snake主动轮廓模型的C++实现
- C++调用python3.5中的函数
- visual c++数字图像处理何斌光盘源代码
- 用C++实现OFDM
- C++游戏开发指南C++ Game Development Cook
- OpenCV多通道图像混合程序 by浅墨
- Code_Note_2
- 用于图像边缘提取的prewitt算子的C++代
- C++并发编程实战(中文版)
- 随机点名(mfc实现)+源码
- 使用TCP简单文件传输控制台程序VC++
- 基于visual C++的人才管理系统
- VC H264格式视屏播放器源码
- C++Primer课后习题解答(第1~18章完整答
- VC++ 6.0 TCP 通讯(服务器端和客户端)
- C++ 控制摄像头摄像、拍照
- C++语言程序设计课后答案(清华大学
- VC++ 的协议分析器
- 经典手眼标定算法C++代码
- 串口调试工具 VC++源代码 (龚建伟版
- C++小型回合制游戏的雏形
- 基于OPNET的TCP协议研究与仿真论文
- 一个C++开发的服务驻留程序源代码
- vc++ 在opc开发的应用
- 提高C++性能的编程技术.pdf
- Visual+C++开发基于SNMP网络管理软件配套
评论
共有 条评论