VC++6.0俄罗斯方块代码

俄罗斯方块

俄罗斯方块是我大学一年级刚学VC++时的课程设计,当时的课程设计有三种,单文档、多文档和俄罗斯方块。我选择俄罗斯方块,就是因为它是游戏。

之前我是玩过俄罗斯方块的,一种是单人的(单人版),一种是两人对战的(对战版),还有一种是网络版的,由于我还不了解网络,所以就决定编前两种。可是,这样没有新意,我就想到了另外一种,配合游戏,或者称为情侣版。这里我先介绍三种,而网络版,由于我们将介绍五子棋的网络游戏,鉴于它的简单性,我们将不介绍。

说明:以下三部分,可以以三章看待。

一、 单人版

1、 游戏实现

俄罗斯方块,或称积木游戏,它是利用一些形状各异却又是用正方形组成的方块,经过不同位置不同角度的变化之后,堆积在一起的一种智力游戏。

而从我们编程的角度讲,我们只需要提供各种方块的图形,提供几个键盘操作键以供方块的形状和位置的变化,提供几个功能函数以供游戏的正常进行。

各种方块图形:利用数组定形,然后利用随机函数随机地不按顺序地按游戏的需要而出现。

键盘操作键:就是四个方向键。其中左、右、下三个键意思一样,上键的功能不是使方块向上,而是使方块的下落角度改变。

功能函数将在变量函数里面介绍。

新建单文档工程4_1。

2、 资源编辑

添加位图:

封面: IDB_BITMAP1

背景: IDB_BITMAP2

方块: IDB_BITMAP4

添加菜单:

开始: ID_MENU_START

3、 变量函数

接着就是定义变量了,但是,由于这个游戏要添加的变量和函数太多了,我们要建一个新类。

是否应该先添加应该类呢?最好是这样。因为新类将会涉及到变量。

添加普通类Crussia,见下图。

图4-1-1

添加变量函数:

由于两个类一共有很多变量函数,列举如下:

// 4_1View.h :

//俄罗斯类

CRussia russia;

//开始标志

bool start;

//封面

CBitmap fenmian;

//暂停

BOOL m_bPause;

//开始菜单

afx_msg void OnMenuStart();

//计时器

afx_msg void OnTimer(UINT nIDEvent);

//键盘操作

afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);

// Russia.h:

//游戏数组

int Russia[100][100];

// 当前图形

int Now[4][4];

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4