• 大小: 3MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-11
  • 语言: C/C++
  • 标签: C++  源码  

资源简介

需要easyX包,C++实现单机版俄罗斯方块程序,VC项目,工程文件

资源截图

代码片段和文件信息

/*
 *C++俄罗斯方块
 *需安装EasyX v2012(beta)版
 */

#pragma warning(disable:4305)
#pragma warning(disable:4309)

#include
#include
#include
#include
#include

#include“board.h“ //游戏版面的方块类
#include“shape.h“ //俄罗斯方块类型
#include“table.h“ //整个界面类


const int MAX_BOX = 19 ; //总共有19种形态的方块
const int BSIZE = 20 ; //方块边长为20像素
const int Sys_x = 160 ; //显示方块界面的左上角x坐标
const int Sys_y = 25 ; //显示方块界面的左上角y坐标
const int Begin_boxs_x = Horizontal_boxs / 2 ; //产生第一个方块时出现的起始位置
const int LeftWin_x = Sys_x+Horizontal_boxs*BSIZE + 46 ; //右边状态栏的x坐标

const int BgColor = BLACK ; //背景色——黑色
const int FgColor = CYAN ; //前景色——青色

/*
 *定义见“table.h“
 *const int Horizontal_boxs = 10 ; 水平方向界面的方块数
 *const int Vertical_boxs = 15 ; 竖直方向界面的方块数
 */

// 三个等级的方块自由下落的间隔毫秒数及等级
const DWORD Seconds_level_one = 600 ;
const DWORD Seconds_level_two = 450 ;
const DWORD Seconds_level_three = 300 ;
const int Level_one = 1 ;
const int Level_two = 2 ;
const int Level_three = 3 ;
const int Speed_step = 60 ; //每60分提升一个等级,最高等级3

//定义移动方向,采用wasd
const char MoveLeft = ‘A‘ ;
const char Moveleft = ‘a‘ ;
const char MoveRight = ‘D‘ ;
const char Moveright = ‘d‘ ;
const char MoveDown = ‘S‘ ;
const char Movedown = ‘s‘ ;
const char MoveRoll = ‘W‘ ;
const char Moveroll = ‘w‘ ;

//每个方块可以看做是像素点BSIZE*BSIZE的正方形

//全局变量
bool flag_newbox = false ; //是否需要产生新的方块

//定义整个界面的对象
TABLE Table ;

//定义方块并初始化方块内容
SHAPE shapes[ MAX_BOX ] =
{
/*
 *   口     口口口   口口      口
 *   口     口         口  口口口
 *   口口              口        
 */
SHAPE(0x88  0xc0   CYAN   1)
    SHAPE(0xe8  0x0    CYAN   2)
    SHAPE(0xc4  0x40   CYAN   3)
    SHAPE(0x2e  0x0    CYAN   0)

/*
 *   口        口口 口口口
 *   口 口     口       口
 * 口口 口口口 口    
 */

    SHAPE(0x44  0xc0   MAGENTA  5)
    SHAPE(0x8e  0x0    MAGENTA  6)
    SHAPE(0xc8  0x80   MAGENTA  7)
    SHAPE(0xe2  0x0    MAGENTA  4)

/*
 *   口
 *   口口         口口
 *     口       口口
 */

    SHAPE(0x8c  0x40   YELLOW 9)
    SHAPE(0x6c  0x0    YELLOW 8)

/*
 *   口        口口
 * 口口          口口
 * 口
 */
    SHAPE(0x4c  0x80   BROWN  11)
    SHAPE(0xc6  0x0    BROWN  10)

/*
 *   口       口                口
 * 口口口     口口   口口口   口口
 *            口       口       口
 */
    SHAPE(0x4e  0x0    WHITE  13)
    SHAPE(0x8c  0x80   WHITE  14)
    SHAPE(0xe4  0x0    WHITE  15)
    SHAPE(0x4c  0x40   WHITE  12)

/* 口
 * 口
 * 口       口口口口
 * 口
 */

    SHAPE(0x88  0x88   RED    17)
    SHAPE(0xf0  0x0    RED    16)

/*
 * 口口
 * 口口
 */

    SHAPE(0xcc  0x0    BLUE   18)
};

//各函数定义

//BOARD类默认构造函数
BOARD :: BOARD ( )
{
var = false ;
color = BgColor ;
}

//方块当前坐标初始化
int SHAPE :: Curbox_x = Sys_x + Begin_boxs_x * BSIZE ;
int SHAPE :: Curbox_y = Sys_y ;

//SHAPE类构造函数
SHAPE :: SHAPE ( char b1  char b2  int c  int n )
{
box [ 0 ] = b1 ;
box [ 1 ] = b2 ;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        452  2012-06-25 09:22  my_俄罗斯\board.h

     文件    2245632  2012-06-26 16:06  my_俄罗斯\Debug\myels.bsc

     文件     282708  2012-07-05 13:14  my_俄罗斯\Debug\myels.exe

     文件     413976  2012-07-05 13:14  my_俄罗斯\Debug\myels.ilk

     文件      48161  2012-07-05 21:13  my_俄罗斯\Debug\myels.obj

     文件    4025600  2012-07-05 13:12  my_俄罗斯\Debug\myels.pch

     文件     664576  2012-07-05 13:12  my_俄罗斯\Debug\myels.pdb

     文件          0  2012-06-26 16:06  my_俄罗斯\Debug\myels.sbr

     文件     279552  2012-07-05 21:13  my_俄罗斯\Debug\vc60.idb

     文件      86016  2012-07-05 13:12  my_俄罗斯\Debug\vc60.pdb

     文件      23697  2012-06-29 10:25  my_俄罗斯\myels.cpp

     文件       3389  2012-07-05 21:13  my_俄罗斯\myels.dsp

     文件        518  2012-07-06 01:01  my_俄罗斯\myels.dsw

     文件      74752  2012-07-06 01:01  my_俄罗斯\myels.ncb

     文件      48640  2012-07-06 01:01  my_俄罗斯\myels.opt

     文件        710  2012-07-05 21:13  my_俄罗斯\myels.plg

     文件     106496  2012-07-05 16:32  my_俄罗斯\Release\myels.exe

     文件      17947  2012-07-05 16:32  my_俄罗斯\Release\myels.obj

     文件    4028520  2012-07-05 16:32  my_俄罗斯\Release\myels.pch

     文件      41984  2012-07-05 16:33  my_俄罗斯\Release\vc60.idb

     文件       1153  2012-06-25 09:23  my_俄罗斯\shape.h

     文件       1457  2012-06-29 10:22  my_俄罗斯\table.h

     目录          0  2013-07-10 01:05  my_俄罗斯\Debug

     目录          0  2013-07-10 01:05  my_俄罗斯\Release

     目录          0  2013-07-10 01:05  my_俄罗斯

----------- ---------  ---------- -----  ----

             12395936                    25


评论

共有 条评论