資源簡介
本人用 C/C++ 混合編寫的俄羅斯方塊小游戲,黑白風格的,調用了 Win32 API,水平有限,代碼略捉急。。

代碼片段和文件信息
#include?“Blocks.h“
#include?“Tetris.h“
#include?
using?namespace?std;
////////////////////////////?Blocks類成員函數?//////////////////////////////
Blocks::~Blocks()?{}
void?Blocks::makeLeftTmpBlocks()
{
for?(int?i?=?0;?i?4;?i++)
{
tmp_blocks[i].x?=?blocks[i].x;
tmp_blocks[i].y?=?blocks[i].y?-?1;
}
}
void?Blocks::makeRightTmpBlocks()
{
for?(int?i?=?0;?i?4;?i++)
{
tmp_blocks[i].x?=?blocks[i].x;
tmp_blocks[i].y?=?blocks[i].y?+?1;
}
}
void?Blocks::makeDropTmpBlocks()
{
for?(int?i?=?0;?i?4;?i++)
{
tmp_blocks[i].x?=?blocks[i].x?+?1;
tmp_blocks[i].y?=?blocks[i].y;
}
}
/////////////////////////////////?O_blocks類成員函數?////////////////////////////////
O_blocks::O_blocks()
{
blocks[0]?=?{?-1?5?};
blocks[1]?=?{?-1?6?};
blocks[2]?=?{?0?5?};
blocks[3]?=?{?0?6?};
status?=?0;
}
O_blocks::~O_blocks()?{}
void?O_blocks::makeRotateTmpBlocks()?{}
void?O_blocks::transStatus()?{}
/////////////////////////////////?I_blocks類成員函數?///////////////////////////////
I_blocks::I_blocks()
{
blocks[0]?=?{?0?4?};
blocks[1]?=?{?0?5?};
blocks[2]?=?{?0?6?};
blocks[3]?=?{?0?7?};
status?=?0;
}
I_blocks::~I_blocks()?{}
void?I_blocks::makeRotateTmpBlocks()
{
switch?(status)
{
case?0:
tmp_blocks[0].x?=?blocks[0].x; tmp_blocks[0].y?=?blocks[0].y;
tmp_blocks[1].x?=?blocks[1].x?+?1; tmp_blocks[1].y?=?blocks[1].y?-?1;
tmp_blocks[2].x?=?blocks[2].x?+?2; tmp_blocks[2].y?=?blocks[2].y?-?2;
tmp_blocks[3].x?=?blocks[3].x?+?3; tmp_blocks[3].y?=?blocks[3].y?-?3;
break;
case?1:
tmp_blocks[0].x?=?blocks[0].x; tmp_blocks[0].y?=?blocks[0].y;
tmp_blocks[1].x?=?blocks[1].x?-?1; tmp_blocks[1].y?=?blocks[1].y?+?1;
tmp_blocks[2].x?=?blocks[2].x?-?2; tmp_blocks[2].y?=?blocks[2].y?+?2;
tmp_blocks[3].x?=?blocks[3].x?-?3; tmp_blocks[3].y?=?blocks[3].y?+?3;
break;
}
}
void?I_blocks::transStatus()
{
switch?(status)
{
case?0:status?=?1;?break;
case?1:status?=?0;?break;
}
}
///////////////////////////////?S_blocks類成員函數?///////////////////////////////////
S_blocks::S_blocks()
{
blocks[0]?=?{?-1?6?};
blocks[1]?=?{?-1?7?};
blocks[2]?=?{?0?5?};
blocks[3]?=?{?0?6?};
status?=?0;
}
S_blocks::~S_blocks()?{}
void?S_blocks::makeRotateTmpBlocks()
{
switch?(status)
{
case?0:
tmp_blocks[0].x?=?blocks[0].x?+?1; tmp_blocks[0].y?=?blocks[0].y;
tmp_blocks[1].x?=?blocks[1].x?+?2; tmp_blocks[1].y?=?blocks[1].y?-?1;
tmp_blocks[2].x?=?blocks[2].x?-?1; tmp_blocks[2].y?=?blocks[2].y;
tmp_blocks[3].x?=?blocks[3].x; tmp_blocks[3].y?=?blocks[3].y?-?1;
break;
case?1:
tmp_blocks[0].x?=?blocks[0].x?-?1; tmp_blocks[0].y?=?blocks[0].y;
tmp_blocks[1].x?=?blocks[1].x?-?2; tmp_blocks[1].y?=?blocks[1].y?+?1;
tmp_blocks[2].x?=?blocks[2].x?+?1; tmp_blocks[2].y?=?blocks[2].y;
tmp_blocks[3].x?=?blocks[3].x; tmp_blocks[3].y?=?blocks[3].y?+?1;
break;
}
}
void?S_blocks::transStatus()
{
switch?(status)
{
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-08-10?12:05??俄羅斯方塊(黑白版)\
?????目錄???????????0??2015-08-10?12:05??俄羅斯方塊(黑白版)\bin\
?????文件??????172544??2015-08-09?11:55??俄羅斯方塊(黑白版)\bin\俄羅斯方塊(黑白版).exe
?????目錄???????????0??2015-12-20?10:21??俄羅斯方塊(黑白版)\src\
?????文件????????9254??2015-08-09?00:00??俄羅斯方塊(黑白版)\src\Blocks.cpp
?????文件????????1940??2015-08-10?11:46??俄羅斯方塊(黑白版)\src\Blocks.h
?????文件????????8462??2015-08-10?11:54??俄羅斯方塊(黑白版)\src\main.cpp
?????文件?????????199??2015-12-19?17:52??俄羅斯方塊(黑白版)\src\makefile
?????文件?????????562??2015-08-10?08:33??俄羅斯方塊(黑白版)\src\Tetris.h
- 上一篇:C++麻將胡牌算法
- 下一篇:A*算法用于動態路徑規劃
評論
共有 條評論