⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init.cpp

📁 本人这两天在linux下用qt作的益智小游戏
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	{2,0,0,0,0,1,0,0,1},	{1,1,0,1,1,0,0,1,1},	{1,0,0,0,0,0,1,0,1}    };    int m_position17[2]={0,7};    int g_position17[2]={5,0};/************Stage18***************/        int initWallH18[8][9]={	{1,1,0,0,0,0,0,0,1},	{1,0,1,0,0,0,0,1,1},	{1,1,0,0,0,0,1,0,1},	{1,0,0,0,1,1,0,0,1},	{1,1,0,1,0,0,0,0,1},	{1,1,1,1,1,0,0,0,1},	{1,1,1,0,0,0,0,0,1},	{1,0,0,0,0,0,0,1,1}    };    int initWallV18[8][9]={	{1,0,1,0,0,0,1,0,2},	{1,0,0,0,0,0,0,1,1},	{1,1,0,1,0,0,1,0,1},	{1,1,0,1,0,1,0,1,1},	{1,0,0,0,1,1,0,0,1},	{1,1,0,1,1,1,0,0,1},	{1,0,1,1,1,0,0,0,1},	{1,0,0,0,0,0,0,0,1}    };    int m_position18[2]={4,7};    int g_position18[2]={0,6};/************Stage19***************/        int initWallH19[8][9]={	{1,0,0,0,0,0,1,0,1},	{1,0,0,0,0,0,0,1,1},	{1,0,0,0,1,0,0,0,1},	{1,1,0,0,0,0,0,0,1},	{1,0,1,1,1,0,0,0,1},	{1,0,0,1,0,1,0,0,1},	{1,0,0,0,0,0,0,0,1},	{1,0,0,0,0,0,0,0,1}    };    int initWallV19[8][9]={	{1,0,0,0,0,0,0,0,1},	{1,1,0,0,0,0,1,0,2},	{1,1,0,0,0,1,1,0,1},	{1,0,1,0,1,1,0,0,1},	{1,0,0,0,0,1,0,0,1},	{1,0,1,0,0,1,0,0,1},	{1,0,1,0,1,0,1,0,1},	{1,0,1,0,0,0,0,0,1}    };    int m_position19[2]={7,0};    int g_position19[2]={5,6};MyWidget::MyWidget()    :MyPaintWidget(){    QPixmap wel("./pic/welcome.png");    this->setIcon(wel);			       click_counter=0;             step[0]=0;step[1]=0;    stag=1;state=0;button=0;       setMinimumSize(230,280);    setMaximumSize(230,280);             pic=new QPixmap;    pic->resize(176,176);        r=new QLabel(this);    r->setGeometry(0,85,176,180);   	        m=new QLabel(r);    m->setMinimumSize(15,16);    m->setMaximumSize(15,16);        g=new QLabel(r);    g->setMinimumSize(15,16);    g->setMaximumSize(15,16);            start=new QPushButton("&Start",this);        start->setGeometry(10,35,45,24);    start->setFont(QFont("Times",10,QFont::Normal));        _quit=new QPushButton("&Quit",this);       _quit->setGeometry(175,35,45,24);    _quit->setFont(QFont("Times",10,QFont::Normal));        stage=new QPushButton("&Stage",this);        stage->setGeometry(120,35,45,24);    stage->setFont(QFont("Times",10,QFont::Normal));        back=new QPushButton("&Back",this);       back->setGeometry(65,35,45,24);    back->setFont(QFont("Times",10,QFont::Normal));          file=new QPopupMenu();    file->setFont(QFont("Times",8,QFont::Normal));    file->setFrameStyle(QFrame::Box|QFrame::Raised);    file->insertItem("&Start",this,SLOT(begin()),CTRL+Key_B);    file->insertSeparator();    file->insertItem("&Quit",qApp,SLOT(quit()),CTRL+Key_Q);        set=new QPopupMenu();    set->setFont(QFont("Times",8,QFont::Normal));    set->setFrameStyle(QFrame::Box|QFrame::Raised);    set->insertItem("&Stage",this,SLOT(choose_stage()),CTRL+SHIFT+Key_C);    set->insertSeparator();    set->insertItem("&Regret",this,SLOT(setback()),CTRL+SHIFT+Key_B);      help=new QPopupMenu();    help->setFont(QFont("Times",8,QFont::Normal));    help->setFrameStyle(QFrame::Box|QFrame::Raised);    help->insertItem("&Help",this,SLOT(introduce()),CTRL+Key_H);     help->insertSeparator();    help->insertItem("&About",this,SLOT(about()),CTRL+Key_A);         menu=new QMenuBar(this);	    menu->setFrameStyle(QFrame::Box|QFrame::Raised);    menu->setFont(QFont("Times",10,QFont::Light));       menu->insertItem("&Operate",file);       menu->insertItem("&Tools",set);    menu->insertItem("&Help",help);        QPixmap  picStage("/root/game/pic/stage.png");        lcd=new QLCDNumber(2,this);    lcd->setGeometry(183,140,40,65);    lcd->setFrameStyle(QFrame::NoFrame);    lcd->setSegmentStyle(QLCDNumber::Filled);    lcd->display(stag);        QLabel *label1=new QLabel(this);    label1->setGeometry(0,26,130,2);    label1->setFrameStyle(QFrame::Box|QFrame::Raised);        QLabel *label2=new QLabel(this);    label2->setGeometry(0,65,230,1);    label2->setFrameStyle(QFrame::Box|QFrame::Raised);    QLabel *label3=new QLabel(this);    label3->setPixmap(picStage);    label3->setGeometry(178,100,50,35);    label3->setFrameStyle(QFrame::NoFrame);    label3->setAlignment(AlignCenter);        add=new QPushButton(this);    add->setFont(QFont("Times",12,QFont::Normal));    add->setText("+");    add->setGeometry(205,220,25,25);       sub=new QPushButton(this);    sub->setFont(QFont("Times",12,QFont::Normal));    sub->setText("-");    sub->setGeometry(180,220,25,25);       mess1=new QMessageBox(this,"You Win");        mess1->setIcon(QMessageBox::Information);    mess1->setFont(QFont("Times",9,QFont::Normal));        connect(this,SIGNAL(cursor_pos(int*)),SLOT(IsWalking(int *)));       connect(this,SIGNAL(walk(int*)),SLOT(man_walk(int*)));    connect(this,SIGNAL(over()),SLOT(gameOver()));    connect(this,SIGNAL(good()),SLOT(win()));     connect(this,SIGNAL(stageChange(int)),lcd,SLOT(display(int)));    connect(this,SIGNAL(stageChange(int)),SLOT(changeStage(int)));         connect(start,SIGNAL(clicked()),SLOT(begin()));    connect(_quit,SIGNAL(clicked()),qApp,SLOT(quit()));    connect(back,SIGNAL(clicked()),SLOT(setback()));    connect(stage,SIGNAL(clicked()),SLOT(choose_stage()));        connect(add,SIGNAL(clicked()),SLOT(add_stage()));    connect(sub,SIGNAL(clicked()),SLOT(sub_stage()));}void MyWidget::paintEvent(QPaintEvent*){    while(!p.isEmpty())	p.pop();    switch(stag)    {    case 1:	get_wallH_vector(initWallH1);	get_wallV_vector(initWallV1);	get_m_position(m_position1);	get_g_position(g_position1);	break;    case 2:	get_wallH_vector(initWallH2);	get_wallV_vector(initWallV2);	get_m_position(m_position2);	get_g_position(g_position2);	break;    case 3:	get_wallH_vector(initWallH3);	get_wallV_vector(initWallV3);	get_m_position(m_position3);	get_g_position(g_position3);	break;    case 4:	get_wallH_vector(initWallH4);	get_wallV_vector(initWallV4);	get_m_position(m_position4);	get_g_position(g_position4);	break;    case 5:	get_wallH_vector(initWallH5);	get_wallV_vector(initWallV5);	get_m_position(m_position5);	get_g_position(g_position5);	break;    case 6:	get_wallH_vector(initWallH6);	get_wallV_vector(initWallV6);	get_m_position(m_position6);	get_g_position(g_position6);	break;    case 7:	get_wallH_vector(initWallH7);	get_wallV_vector(initWallV7);	get_m_position(m_position7);	get_g_position(g_position7);	break;    case 8:	get_wallH_vector(initWallH8);	get_wallV_vector(initWallV8);	get_m_position(m_position8);	get_g_position(g_position8);	break;    case 9:	get_wallH_vector(initWallH9);	get_wallV_vector(initWallV9);	get_m_position(m_position9);	get_g_position(g_position9);	break;    case 10:	get_wallH_vector(initWallH10);	get_wallV_vector(initWallV10);	get_m_position(m_position10);	get_g_position(g_position10);	break;    case 11:	get_wallH_vector(initWallH11);	get_wallV_vector(initWallV11);	get_m_position(m_position11);	get_g_position(g_position11);	break;    case 12:	get_wallH_vector(initWallH12);	get_wallV_vector(initWallV12);	get_m_position(m_position12);	get_g_position(g_position12);	break;    case 13:	get_wallH_vector(initWallH13);	get_wallV_vector(initWallV13);	get_m_position(m_position13);	get_g_position(g_position13);	break;    case 14:	get_wallH_vector(initWallH14);	get_wallV_vector(initWallV14);	get_m_position(m_position14);	get_g_position(g_position14);	break;    case 15:	get_wallH_vector(initWallH15);	get_wallV_vector(initWallV15);	get_m_position(m_position15);	get_g_position(g_position15);	break;    case 16:	get_wallH_vector(initWallH16);	get_wallV_vector(initWallV16);	get_m_position(m_position16);	get_g_position(g_position16);	break;    case 17:	get_wallH_vector(initWallH17);	get_wallV_vector(initWallV17);	get_m_position(m_position17);	get_g_position(g_position17);	break;    case 18:	get_wallH_vector(initWallH18);	get_wallV_vector(initWallV18);	get_m_position(m_position18);	get_g_position(g_position18);	break;    case 19:	get_wallH_vector(initWallH19);	get_wallV_vector(initWallV19);	get_m_position(m_position19);	get_g_position(g_position19);	break;    }    man_state=96;    ghost_state=96;    QPixmap room("./pic/room.png");    QPixmap wallH("./pic/wallH.png");    QPixmap wallV("./pic/wallV.png");    QPixmap character("./pic/character.png");    QPixmap door("./pic/door.png");    QPainter paint;   //draw map,and save as a QPixmap    paint.begin(pic);	    paint.drawPixmap(0,0,room);			    int i=0,j=0;     //draw horizonal walls    for(i=0;i<8;i++)    {	if(wallV_vector[i][0]==2)	{	    distH=24+16*i;	    distV=12;	    paint.drawPixmap(distH,distV,door,16,0,16);	}	if(wallV_vector[i][8]==2)	{	    distH=24+16*i;	    distV=24+16*8;	    paint.drawPixmap(distH,distV,door,32,0);	}	    	for(j=1;j<8;j++)	{	    if(wallV_vector[i][j]==1)	    {		distH=24+16*i;		distV=21+16*j;		paint.drawPixmap(distH,distV,wallH);	    }	    else		continue;	}    }    //draw vertical walls    for(i=0;i<8;i++)    {	if(wallH_vector[i][0]==2)	{	    distH=16;	    distV=25+16*i;	    paint.drawPixmap(distH,distV,door,0,0,8);	}	if(wallH_vector[i][8]==2)	{	    distH=24+16*8;	    distV=25+16*i;	    paint.drawPixmap(distH,distV,door,8,0,8);	}	for(j=1;j<8;j++)	{	    if(wallH_vector[i][j]==1)	    {		distV=23+16*i;		distH=24+16*j;		paint.drawPixmap(distH,distV,wallV);	    }	    else		continue;	}    }         paint.end();     pic->save("room.png",pic->imageFormat("room.png"));     pic->load("room.png");      r->setBackgroundPixmap(*pic);      distH=24+16*ghost_position[0];   distV=21+16*ghost_position[1];   g->move(distH,distV);   paint.begin(g);   paint.drawPixmap(0,0,*pic,distH,distV,16,16);   paint.drawPixmap(0,0,character,96,32,16,16);   paint.end();      distH=24+16*man_position[0];   distV=21+16*man_position[1];   m->move(distH,distV);   paint.begin(m);   paint.drawPixmap(0,0,*pic,distH,distV,16,16);   paint.drawPixmap(0,0,character,96,0,16,16);      paint.end(); }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -