三国杀教程系列源代码
教程地址:http://blog.csdn.net/yjn43422757/article/details/6890916 或 http://www.cnblogs.com/Canaan/archive/2011/10/20/2219050.html
教程地址:http://blog.csdn.net/yjn43422757/article/details/6890916 或 http://www.cnblogs.com/Canaan/archive/2011/10/20/2219050.html
http://student.csdn.net/space.php?uid=110891&do=blog&id=45063 此地址文章的代码
原创的C++连接数据库,包括C++类和一个教程。 教程地址: http://student.csdn.net/space.php?uid=110891&do=blog&id=54465
[原创+连载]一步一步做拼图游戏,C++版(五)当前代码 文章地址: http://student.csdn.net/space.php?uid=110891&do=blog&id=44379
[原创+连载]一步一步做拼图游戏,C++版(四) 文章见:http://student.csdn.net/space.php?uid=110891&do=blog&id=43674
[原创+连载]一步一步做拼图游戏,C++版(二)当前的代码 地址见 http://student.csdn.net/space.php?uid=110891&do=blog&id=43457
class CRS232Port { private: HANDLE m_hCommPort; //串行口的句柄 //char m_RecvBuf[BUFFER_SIZE], m_SendBuf[BUFFER_SIZE]; //UINT m_RecvPTR; //CEvent SendEvent( 0, true, 0, 0), RecvEvent( 0, true, 0, 0); OVERLAPPED m_SendOV, m_RecvOV; public: CRS232Port(void); ~CRS232Port(void); // 获取所有的COM端口号,保存在pPortList中 void GetAllComPort(CString* pPortList); // 将char型转换成unicode,输入为pchIn, 输出为pstrOut static int CharToUnicode(char* pchIn, CString* pstrOut); // 初始化端口 bool InitPort(CString strPort, int iBaudRate, int iByteSize, int iParity, int iStopBits); // 发送数据, 入口为要发送的数据的长度 void SendFile(ULONG SendLen, char sendBuf[]); // 设置发送数据 //void SetSendBuf(char sendBuf[]); bool ReadData(CString* ShowStr); };
const int BLOCK_LINE = 20;//当前地图的行数 const int BLOCK_ROW = 10;//当前地图的列数 class CBlock { public: CBlock(void); ~CBlock(void); private: // 当前方块形状 int m_BlockShape; //下一个方块形状 int m_nextBlockShape; //当前方块状态 int m_BlockState; //等级 int m_BlockLevel; //当前可消行数 int m_BlockCurDelLine; //游戏是否在执行 bool m_blockRunning; //当前方块位置 POINT m_BlockPos[4]; //下个方块位置 POINT m_nextBlockPos[4]; //当前的屏幕状态 //BLOCK_LINE是行数,BLOCK_ROW是列数 int m_Blockmap[BLOCK_LINE][BLOCK_ROW]; public: // 初始化游戏 void BlockInit( void ); private: // 记录方块图形 CBitmap m_bmpBlock[7]; public: //创建一个新的方块出来,这里只给方块形状赋值 void CreateNewBlock(void); private: //这里给方块位置赋值, //shape是形状, pt[]是用来接收方块坐标的(方块形状的排列坐标)数组 //xPos是偏移量,就是方块显示位置和方块显示的框的最左边的差 void MakeNewBlock(int shape, POINT pt[], int xPos); public: //将方块画在对应的DC上 void DrawBlock(CDC* pDC); //方块的下落过程,主要部分 void BlockDropDown(CDC* pDC); private: // 隐藏方块 void HideBlock(CDC* pDC); // 背景图片变量 CBitmap m_bmpBKGND; public: // 画下个方块的框框 void DrawNextBlock( CDC* pDC ); //方块左移 void BlockLeft(CDC* pDC); //方块右移 void BlockRight(CDC* pDC); //方块下移 void BlockFastDown(CDC* pDC); //方块变形 void ChangeState(CDC* pDC); // 消除一行 //pDC是传入的DC //LineNum是消除的行从第几行开始(我这里是最上面为0,最下面为19) //start是 游戏是否是要把消除行以上的都置0,我是用在OnDraw()里,用来重画屏幕的, void DeleteLine(CDC* pDC, int LineNum, bool start); // 游戏是否结束,true=结束了 bool BlockGameOver(void); // 计分板 //del是决定是否是已消一行的 void BlockScore(int del, CDC* pDC); //返回是否升级了,true=升级了 bool BlockLevelUp(void); //返回下落速度 int BlockSpeed(void); };