资源简介
本人用 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*算法用于动态路径规划
相关资源
- 俄罗斯方块游戏源码(Tetris)
- 俄罗斯方块(c++控制台代码)
- 俄罗斯方块.cpp
- opencv版俄罗斯方块源码
- 俄罗斯方块源码用VC开发
- C语言版俄罗斯方块基于EASYX库
- VC++ Win32俄罗斯方块游戏源码(新)
- C++图形系统实现俄罗斯方块小游戏
- c++ 俄罗斯方块( + 文档)
- 用C++使用SDL库编写的俄罗斯方块游戏
- 一个控制台俄罗斯方块C++源代码及可
- 基于MFC的俄罗斯方块游戏
- 俄罗斯方块游戏exe程序和所有代码资
- 功能完善的俄罗斯方块程序(C语言编
- MFC俄罗斯方块源码
- 俄罗斯方块C语言实现,用到了C语言的
- 基于MFC的VC++俄罗斯方块程序源代码
- 自己用C语言写的俄罗斯方块游戏——
- STM32实现俄罗斯方块游戏C语言
- 手把手教你用vc6 c++ 做俄罗斯方块小游
- MFC 版俄罗斯方块
- 毕业设计-C++俄罗斯方块
- vc6.0的MFC实现简单的俄罗斯方块小游戏
- 俄罗斯方块(基于VC6.0单文档)
- MFC俄罗斯方块及源码
- 小程序 俄罗斯方块
- 最简单的C语言俄罗斯方块
- c语言实现俄罗斯方块
- VS2013写的简单小游戏俄罗斯方块
- 俄罗斯方块游戏设计C++课程设计报告
评论
共有 条评论