📄 init.cpp
字号:
{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 + -