易截截图软件、单文件、免安装、纯绿色、仅160KB

qt实现的一个俄罗斯方块的程序 主窗口c文件

//-----------------------------------------------------------------------------------------------------
//BY:yuyongbao
//QQ:673360056
//-----------------------------------------------------------------------------------------------------
#include "tetris.h"
Tetris::Tetris(QWidget *parent)
    : QDialog(parent), ui(new Ui::Tetris)
{
    ui->setupUi(this);
    gameInit();
    this->connect(ui->frame,SIGNAL(scoreChanged(int)),this,SLOT(drawScore(int)));
    this->connect(ui->frame,SIGNAL(nextTetrixChanged()),this,SLOT(nextTetrixChangedProc()));
    this->connect(ui->frame,SIGNAL(gameOver()),this,SLOT(gameEnd()));
}
Tetris::~Tetris()
{
    delete ui;
}
void Tetris::gameInit(void)
{
    m_curScore = 0;
    //总分数以后由文件读入
    m_totalScore = 0;
    m_level = 0;
    m_line = 0;
    m_bStart = FALSE;
    m_mute = FALSE;
    m_nextTetrisPos = QRect(120,160,4*PIXPERRECT,4*PIXPERRECT);
    m_scorePos = QRect(50,200,200,40);
    m_levelPos = QRect(50,240,200,40);
    m_linePos = QRect(50,280,200,40);
    //随机种子
    qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
    skinPath = "skins/";
}
void Tetris::gameStart(void)
{
     timer = new QTimer(this);
     connect(timer, SIGNAL(timeout()), this, SLOT(timePro()));
     //游戏等级与时间之间的关系
     timer->start(1600 - m_level * 300);
     //产生当前方块和下一个方块
     ui->frame->curShape = (TetrixShape)(qrand()%7);
     ui->frame->nextShape = (TetrixShape)(qrand()%7);
   &n


相关文档:

如何理解c和c++的复杂类型声明

 曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?
本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明。
我们将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的“右左法则&rdquo ......

C/C++ 笔试、面试题目大汇总

1.求下面函数的返回值(微软)
int func(x)
{
    int countx = 0;
    while(x)
    {
          countx ++;
          x = x&(x-1);
   &n ......

[推荐] C/C++招聘的一些感受和经验

http://topic.csdn.net/u/20080924/15/3b00a84e-970f-4dea-92f2-868c5d1ad825.html?52694
前段时间刚参加了n多公司的C/C++软件工程师的面试,有国企,外企,私企(moto,飞思卡尔,港湾,中国卫星XXX(这个牛))等等等等。感受感想颇多,近日终于空闲,在此表述一下。
    本人基本条件:3年开发经验,2year+ ......

ARM的 N、Z、C、V 标志位的解释

N  当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0表示运算的结果为正数或零.
Z  Z=1表示运算的结果为零,Z=0表示运算的结果非零。
C  可以有4种方法设置C的值:
   加法运算(包括CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。
   减法运 ......

C/C++ assert() 函数用法

assert
函数名: assert
功  能: 测试一个条件并可能使程序终止
用  法: void assert(int test);
程序例:
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
struct ITEM {
   int&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号