资源简介
实现七巧板的拼图游戏,每块板有不同颜色,左键移动板,右键旋转板。

代码片段和文件信息
// 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电子词典小项目
相关资源
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
评论
共有 条评论