资源描述:
《qt方块游戏源代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Gamearea.cpp/**********************版权声明****************************所有源代码由www.yafeilinux.com原创,我们遵循Qt开源版的所有相关条款和协议。您有权使用,传播和更改我们的代码,但请保证代码的开源。以下源代码版权归www.yafeilinux.com所有,请不要用作商业用途。**********************************************************///这个类中实现了游戏的所有功能#inc
2、lude"gamearea.h"#include#include#include/****************************以下是构造函数和析构函数*********************************************************/GameArea::GameArea(QWidget*parent):QFrame(parent){this->init_gameArea(6,6,430,430,200,40
3、0,20,60,0);this->init_Game();}GameArea::GameArea(intspeed,QWidget*parent):QFrame(parent){this->init_gameArea(6,6,430,430,200,400,20,60,0);this->init_Game();this->moveTimer=newQTimer(this);connect(this->moveTimer,SIGNAL(timeout()),this,SLOT(moveTimer_upDate())
4、);this->moveSpeed=speed;this->gameStart();this->moveTimer->start(moveSpeed);}GameArea::~GameArea(){}/****************************以下是主要功能函数*********************************************************///方块下移一步voidGameArea::moveOneStep(){startY+=step;}//显示下移一步后的界面v
5、oidGameArea::do_MoveNext(){this->currentItem_to_currentMap();this->draw_gameArea();}voidGameArea::nextItem(){//先将现在的游戏区域备份再消行copy_Map(currentMap,copyMap,map_row,map_col);this->clearRow();}//游戏是否已经结束boolGameArea::isGame_Over(){if(this->isGameOver)returntrue;el
6、sereturnfalse;}//获取已满的行数intGameArea::getFullRowNum(){returnfullRowNum;}//设置方块颜色或贴图voidGameArea::setGameAreaColor(QColorcolor){gameAreaColor=color;}voidGameArea::setBoxBrushColor(QColorcolor){boxBrushColor=color;}voidGameArea::setBoxPenColor(QColorcolor){boxPe
7、nColor=color;}voidGameArea::set_draw_box_picture(boolBool){this->is_draw_box_picture=Bool;}voidGameArea::setBoxPicture(QStringfileName){this->boxPicture=fileName;}//设置方块颜色或贴图//是否下移一步,如果不是则一次下移到底voidGameArea::setKey_Down_Move_oneStep(boolBool){this->isKey_Down
8、_Move_OneStep=Bool;}//是否显示网格voidGameArea::setDrawGrid(boolBool){isDrawGrid=Bool;}//是否显示下一个要出现的图形voidGameArea::setDrawNextItem(boolBool){isDrawNextItem=Bool;}//自己往游戏区添加方块voidGameArea::setb