• 大小: 94KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-08-04
  • 语言: C/C++
  • 标签:

资源简介

本人用 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

评论

共有 条评论