void Water::Crosspipebehaviour(SDL_Renderer *ren, vector<CrossPipe> a) { int num=whereiamCrosspipe(a); if(right==true && isCrosspipe(a) &&num!=-1) { moveright(); default_create(ren,"start.jpg"); } else if(left==true && isCrosspipe(a) && num!=-1) { moveleft(); default_create(ren,"start.jpg"); } else if(up==true && isCrosspipe(a) && num!=-1) { moveup(); default_create(ren,"start.jpg"); } else if(down==true && isCrosspipe(a) &&num!=-1) { movedown(); default_create(ren,"start.jpg"); } }
void proc_ctrl() { #ifdef FOR_PSP static int counter = 0; if(++counter % 4 == 0) { sceCtrlReadBufferPositive(&pad, 1); if(pad.Buttons & PSP_CTRL_CROSS) { shiftdown(); } if(pad.Buttons & PSP_CTRL_SQUARE) shiftup(); if(pad.Buttons & PSP_CTRL_LEFT) moveleft(); if(pad.Buttons & PSP_CTRL_RIGHT) moveright(); if(pad.Buttons & PSP_CTRL_DOWN) movedown(); if(pad.Buttons & PSP_CTRL_LTRIGGER) rquad -= 0.5f; if(pad.Buttons & PSP_CTRL_RTRIGGER) rquad += 0.5f; if(pad.Buttons & PSP_CTRL_CIRCLE) r_quad += 0.5f; if(pad.Buttons & PSP_CTRL_TRIANGLE) r_quad -= 0.5f; } #endif }
ListEditorWidget::ListEditorWidget(QStringList list) { QHBoxLayout *hlayout = new QHBoxLayout; QVBoxLayout *vlayout = new QVBoxLayout; QPushButton *badd = new QPushButton(tr("Add")); QPushButton *bremove = new QPushButton(tr("Remove")); // QPushButton *bup = new QPushButton(style()->standardIcon(QStyle::SP_ArrowUp),tr("Move Up")); // QPushButton *bdown = new QPushButton(style()->standardIcon(QStyle::SP_ArrowDown),tr("Move Down")); QPushButton *bup = new QPushButton(style()->standardIcon(QStyle::SP_ArrowUp),""); QPushButton *bdown = new QPushButton(style()->standardIcon(QStyle::SP_ArrowDown),""); this->list = list; listWidget = new QListWidget; listWidget->setSelectionBehavior(QAbstractItemView::SelectRows); listWidget->setEditTriggers(QAbstractItemView::DoubleClicked|QAbstractItemView::SelectedClicked|QAbstractItemView::EditKeyPressed); hlayout->addWidget(listWidget); vlayout->addWidget(badd); vlayout->addWidget(bremove); vlayout->addWidget(bup); vlayout->addWidget(bdown); connect(badd,SIGNAL(clicked()),this,SLOT(add())); connect(bremove,SIGNAL(clicked()),this,SLOT(remove())); connect(bup,SIGNAL(clicked()),this,SLOT(moveup())); connect(bdown,SIGNAL(clicked()),this,SLOT(movedown())); connect(listWidget,SIGNAL(itemChanged( QListWidgetItem *)), this, SLOT(saveNamesFromListWidget()) ); refresh(); hlayout->addLayout(vlayout); this->setLayout(hlayout); }
void specialkey(int key, int x, int y) { #ifndef FOR_PSP switch(key) { case GLUT_KEY_UP: { releaseblock(); } break; case GLUT_KEY_DOWN: { movedown(); } break; case GLUT_KEY_LEFT: { moveleft(); } break; case GLUT_KEY_RIGHT: { moveright(); } break; } #endif }
/* * check_char() * * Handle processing of the input * * Precondition: Parameter is not void * Postcondition: The input is processed * * @param char* input The input */ void check_char(char* input) { int count; if(input != NULL) { if(!my_strcmp(input, KU)) { moveup(); } else if(!my_strcmp(input, KD)) { movedown(); } else if(!my_strcmp(input, KL)) { moveleft(); } else if(!my_strcmp(input, KR)) { moveright(); } else if(!my_strcmp(input, " ")) { doselect(); } else { getout(input); } } }
void Water::Dpipebehaviour(SDL_Renderer* ren,vector<DPipe> a) { int num=whereiamDpipe(a); if(right==true && (a[num].getuse()==1 || a[num].getuse()==3) && num!=-1) { moveright(); default_create(ren,"start.jpg"); } else if(left==true && (a[num].getuse()==1 || a[num].getuse()==3) && num!=-1) { moveleft(); default_create(ren,"start.jpg"); } else if(up==true && (a[num].getuse()==2 || a[num].getuse()==4) && num!=-1) { moveup(); default_create(ren,"start.jpg"); } else if(down==true && (a[num].getuse()==2 || a[num].getuse()==4) && num!=-1) { movedown(); default_create(ren,"start.jpg"); } }
static void del_block(BLOCK *pb, int off) { int ne; update_root(pb); ne = ENT_SIZE(ENT_ADR(pb, off)); movedown(pb, off, ne); pb->bend -= ne; }
void checkformovedown() { time_t t = time(0); static time_t st_t = time(0); if(t > st_t) { movedown(); st_t = t; } }
void Blank::operator |(Blank *b){ int tmp_Num=b->number; b->number=number; number=tmp_Num; connect(time,SIGNAL(timeout()),this,SLOT(moveup())); connect(b->time,SIGNAL(timeout()),b,SLOT(movedown())); time->start(100); b->time->start(100); }
void Blank::movedown() { buttom->setGeometry(colum *50,row*50-shift*10,50,50); shift++; if(shift==5){ shift=1; disconnect(time,SIGNAL(timeout()),this,SLOT(movedown())); buttom->setGeometry(colum*50,row*50,50,50); setButtonPicture(); } }
void doselect() { if(gl_env.elements[gl_env.pos].mode == 1) gl_env.elements[gl_env.pos].mode = 0; else { gl_env.elements[gl_env.pos].mode = 1; movedown(); } refreshin(); }
void keydown(int key){ printf("Key: %i\n", key); if(key == left) moveleft(); if(key == right) moveright(); if(key == up) moveup(); if(key == down) movedown(); }
/* insert new entries into tree */ static bool split(int l, ENTRY *pe, ENTRY *e) { int half, ins_pos, size; ins_pos = CO(pci->level); half = scan_blk(block_ptr->bend / 2 + sizeof(RECPOS)); if (half == ins_pos) { *e = *pe; } else { copy_entry(e, ENT_ADR(block_ptr, half)); size = ENT_SIZE(e); movedown(block_ptr, half, size); block_ptr->bend -= size; update_root(block_ptr); } spare_block = &BUFBLOCK(new_cache()); memcpy(spare_block->entries, ENT_ADR(block_ptr,half), block_ptr->bend - half); spare_block->brec = get_free(); spare_block->bend = block_ptr->bend - half; spare_block->p0 = e->idxptr; block_ptr->bend = half; e->idxptr = spare_block->brec; if (ins_pos < half) { ins_block(block_ptr,pe,ins_pos); } else if (ins_pos > half) { ins_pos -= ENT_SIZE(e); ins_block(spare_block,pe,ins_pos - half); CB(l) = e->idxptr; CO(l) = CO(l) - half; } write_if(pci->ixfile, spare_block->brec,(char *) spare_block, sizeof(BLOCK)); return TRUE; }
char check_char(char* input){ if(input != NULL){ if(my_strcmp(input, KU) == 0){ moveup(); }else if(my_strcmp(input, KD) == 0){ movedown(); }else if(my_strcmp(input, KL) == 0){ moveleft(); }else if(my_strcmp(input, KR) == 0){ moveright(); }else if(my_strcmp(input, " ") == 0){ doselect(); }else{ getout(input); } } return *input; }
int main(int argc, const char * argv[]) { char c; int pos; int pre[FRAME_SIZE][FRAME_SIZE] = {0}; /* initial data */ //srand((int)timer(0)); pos = rand() % FRAME_ALL; pre[pos/FRAME_SIZE][pos%FRAME_SIZE] = generateNum(); do { printFrame(pre); c = getchar(); if (c == 'w' ) { printf("%c\r\n", c); moveup(pre); update(pre, UP); } else if (c == 'a') { moveleft(pre); update(pre, LEFT); } else if (c == 's') { movedown(pre); update(pre, DOWN); }else if (c == 'd') { moveright(pre); update(pre, RIGHT); }else if (c == '\n'){ /* do nothing */ }else { printf("%c\r\n", c); printf("error character\r\n"); } } while (c != 'q'); // insert code here... printf("Hello, World!\n"); return 0; }
void * keylistener(void *arg){ noecho(); int key; while(!over){ key = getch(); if(key == 'q' || key =='Q'){ over = true; } switch(key){ case KEY_UP:rotateleft();break; case KEY_LEFT:moveleft();break; case KEY_RIGHT:moveright();break; case KEY_DOWN:movedown();break; } printpanel(PANELSTARTX,PANELSTARTY); } pthread_exit((void *) 0); }
/* check_char.c pre: Takes a char* c post: Takes action based upon what key is pressed */ char check_char(char* str){ if(str){ if(!(my_strcmp(str, "\n\0"))) return 2; else if(!(my_strcmp(str, ESC))) return 1; else if (!(my_strcmp(str, KU))) moveup(); else if (!(my_strcmp(str, KD))) movedown(); else if (!(my_strcmp(str, KL))) moveleft(); else if (!(my_strcmp(str, KR))) moveright(); else if (!(my_strcmp(str, " \0"))) doselect(); return 0; } return -1; }
void check_char(char *c) { if(!my_strcmp(c, (char *) SPACE)) doselect(); else if(!my_strcmp(c, gl_env.left)) moveleft(); else if(!my_strcmp(c, gl_env.right)) moveright(); else if(!my_strcmp(c, gl_env.up)) moveup(); else if(!my_strcmp(c, gl_env.down)) movedown(); else if(!my_strcmp(c, gl_env.esc) || !my_strcmp(c, (char *)ESC)) { restore_terminal(); getout(0); exit(1); } else if(!my_strcmp(c, (char *) ENTER)) { restore_terminal(); getout(1); } }
void down(struct Block**grid){ movedown(grid[15]); movedown(grid[14]); movedown(grid[13]); movedown(grid[12]); }
int combineblk(RECPOS ads, int size) { ENTRY e; RECPOS address; int esize, off, ret, saveoff, ibuff; ret = 0; saveoff = CO(--(pci->level)); retrieve_block(pci->level, CB(pci->level)); if ((off = next_entry( saveoff )) < block_ptr->bend) /* combine with page on right */ { if ((ENT_SIZE(ENT_ADR(block_ptr, off)) + size) < (uint32_t)split_size) { copy_entry(&e, ENT_ADR(block_ptr, off)); address = ENT_ADR(block_ptr, CO(pci->level))->idxptr; retrieve_block(++pci->level, address); ibuff = cache_ptr; spare_block = block_ptr; retrieve_block(pci->level, ads); esize = ENT_SIZE(&e); if(((block_ptr->bend + spare_block->bend + esize) >= split_size)&& (spare_block->bend <= block_ptr->bend + esize)) { return ret; } e.idxptr = spare_block->p0; ins_block(block_ptr, &e, block_ptr->bend); update_block(); if ((block_ptr->bend + spare_block->bend) < split_size) /* combine the blocks */ { memcpy(ENT_ADR(block_ptr, block_ptr->bend),ENT_ADR(spare_block, 0),spare_block->bend); block_ptr->bend += spare_block->bend; write_free(spare_block->brec, spare_block); BUFDIRTY(ibuff) = 0; BUFHANDLE(ibuff) = 0; --pci->level; ret = 1; } else /* move an entry up to replace the one moved */ { copy_entry(&e, ENT_ADR(spare_block, 0)); esize = ENT_SIZE(&e); movedown(spare_block, 0, esize); spare_block->bend -= esize; spare_block->p0 = e.idxptr; BUFDIRTY(ibuff) = 1; --(pci->level); replace_entry(&e); } } } else /* move from page on left */ { if ( (ENT_SIZE(ENT_ADR(block_ptr, CO(pci->level))) + size) < (uint32_t)split_size) { copy_entry(&e, ENT_ADR(block_ptr, saveoff)); off = prev_entry(saveoff); if (CO(pci->level) == -1) address = block_ptr->p0; else address = ENT_ADR(block_ptr, CO(pci->level))->idxptr; retrieve_block(++pci->level, address); off = last_entry(); ibuff = cache_ptr; spare_block = block_ptr; retrieve_block(pci->level, ads); esize = ENT_SIZE(&e); if(((block_ptr->bend + spare_block->bend + esize) >= split_size)&& (spare_block->bend <= block_ptr->bend + esize)) { return ret; } BUFDIRTY(ibuff) = 1; CO(pci->level) = 0; e.idxptr = block_ptr->p0; ins_block(block_ptr, &e, 0); if ((block_ptr->bend + spare_block->bend) < split_size) /* combine the blocks */ { memcpy(ENT_ADR(spare_block, spare_block->bend),ENT_ADR(block_ptr, 0),block_ptr->bend); spare_block->bend += block_ptr->bend; write_free(block_ptr->brec, block_ptr); BUFDIRTY(cache_ptr) = 0; BUFHANDLE(cache_ptr) = 0; CO(--(pci->level)) = saveoff; ret = 1; } else /* move an entry up to replace the one moved */ { block_ptr->p0 = ENT_ADR(spare_block,off)->idxptr; copy_entry(&e, ENT_ADR(spare_block, off)); spare_block->bend = off; update_block(); CO(--(pci->level)) = saveoff; replace_entry(&e); } } } root_dirty = 1; return ret; }
/** Default constructor */ MainWindow::MainWindow() : QWidget() { /** constructor() that has in input file for scores */ ifstream fin; fin.open("scores.txt"); if(fin.fail()) { cout << "Could not find the scores file" << endl; } else { string temp; int temp2; getline(fin,temp,'|'); fin >> temp2; while(fin.good()) { scorenames.push_back(temp); scores.push_back(temp2); getline(fin,temp,'|'); fin >> temp2; } } /** Set the Pixmaps */ ez=new QPixmap("ezreal.png"); *ez=ez->scaled(75,75,Qt::KeepAspectRatioByExpanding); melee=new QPixmap("meleeminion.png"); *melee=melee->scaled(50,50,Qt::KeepAspectRatioByExpanding); caster=new QPixmap("casterminion.png"); *caster=caster->scaled(45,45,Qt::KeepAspectRatioByExpanding); siege=new QPixmap("siegeminion.png"); *siege=siege->scaled(65,65,Qt::KeepAspectRatioByExpanding); basic=new QPixmap("basicattack.gif"); *basic=basic->scaled(10,10,Qt::KeepAspectRatioByExpanding); mystic=new QPixmap("basicattack.gif"); *mystic=mystic->scaled(30,30,Qt::KeepAspectRatioByExpanding); trueshot=new QPixmap("trueshot.png"); *trueshot=trueshot->scaled(75,75,Qt::KeepAspectRatioByExpanding); heal=new QPixmap("heal.png"); *heal=heal->scaled(50,50,Qt::KeepAspectRatioByExpanding); clarity=new QPixmap("clarity.png"); *clarity=clarity->scaled(50,50,Qt::KeepAspectRatioByExpanding); ignite=new QPixmap("ignite.png"); *ignite=ignite->scaled(50,50,Qt::KeepAspectRatioByExpanding); energy=new QPixmap("energybolt.gif"); *energy=energy->scaled(50,50,Qt::KeepAspectRatioByExpanding); cannon=new QPixmap("cannonshot.png"); *cannon=cannon->scaled(55,55,Qt::KeepAspectRatioByExpanding); /** color is the default color set for spacers and background of widgets*/ color.setRgb(240,240,240,255); /** MainWidget which holds everything */ mainwidget= new QWidget; mainwidget->setFixedSize(1200,800); /** Main Layout for MainWindow */ mainLayout = new QVBoxLayout; mainwidget->setLayout(mainLayout); /** TITLE above row1*/ row0 = new QHBoxLayout; /** IconObject used to display QPixmap */ hold_spacer0 = new IconObject; /** Used to hold a space */ spacer0 = new QPixmap(100,64); spacer0->fill(color); /** IconObject used to display QPixmap */ hold_title = new IconObject; /** Ability display icon */ title = new QPixmap("title.png"); /** IconObject used to display QPixmap */ hold_spacer01 = new IconObject; /** Used to hold a space */ spacer01 = new QPixmap(100,64); spacer01->fill(color); // set pixmaps hold_spacer0->setPixmap(*spacer0); hold_title->setPixmap(title->scaled(700,40,Qt::KeepAspectRatioByExpanding)); hold_spacer0->setPixmap(*spacer01); //add to layout row0 row0->addWidget(hold_spacer0); row0->addWidget(hold_title); row0->addWidget(hold_spacer01); mainLayout->addLayout(row0); /** Horizontal box for row 1*/ row1= new QHBoxLayout; /** Button which initiates/restarts game*/ start= new QPushButton("Start"); /** Button which pauses/continues game*/ pause = new QPushButton("Pause"); /** quits the game*/ quit = new QPushButton("Quit"); /** Score display*/ name = new QTextEdit("Name"); name->setMaximumHeight(30); name->setMaximumWidth(200); /** level display*/ level = new QLabel("LEVEL: 00"); /** score display*/ score = new QLabel("SCORE: 00"); row1->addWidget(start); row1->addWidget(pause); row1->addWidget(quit); row1->addWidget(name); row1->addWidget(level); row1->addWidget(score); mainLayout->addLayout(row1); /** Horizontal box for row 2*/ row2 = new QHBoxLayout; /** Scene which holds monsters, player and powerups*/ scene = new QGraphicsScene; /** View which holds gameplay*/ view = new GameWindow(scene); row2->addWidget(view); mainLayout->addLayout(row2); /** Horizontal box for row 3*/ row3 = new QHBoxLayout; //left /** IconObject used to display QPixmap */ hold_basicattackicon = new IconObject; /** Ability display icon */ basicattackicon = new QPixmap("basicattack.gif"); /** IconObject used to display QPixmap */ hold_mysticshoticon = new IconObject; /** Ability display icon */ mysticshoticon = new QPixmap("basicattack.gif"); //mysticshoticon->scaledToHeight(64,Qt::FastTransformation); /** IconObject used to display QPixmap */ hold_trueshoticon = new IconObject; /** Ability display icon */ trueshoticon = new QPixmap("trueshot.png"); /** IconObject used to display QPixmap */ hold_spacer1 = new IconObject; /** Used to hold a space */ spacer1 = new QPixmap(400,64); spacer1->fill(color); //midleft /** IconObject used to display QPixmap */ hold_heart = new IconObject; /** Heart Icon */ heart = new QPixmap("heart.gif"); /** Health display */ health = new QLabel("200"); health->setMaximumHeight(25); /** IconObject used to display QPixmap */ hold_spacer2 = new IconObject; /** Used to hold a space */ spacer2 = new QPixmap(64,64); spacer2->fill(color); //midright /** IconObject used to display QPixmap */ hold_potion = new IconObject; /** Mana Icon */ potion = new QPixmap("mana.gif"); /** Mana display */ mana= new QLabel("50"); mana->setMaximumHeight(25); /*Add the Pixmaps to the IconObjects*/ hold_basicattackicon->setPixmap(basicattackicon->scaledToHeight(10)); hold_mysticshoticon->setPixmap(mysticshoticon->scaledToHeight(20)); hold_trueshoticon->setPixmap(trueshoticon->scaled(40,60,Qt::KeepAspectRatioByExpanding)); hold_spacer1->setPixmap(*spacer1); hold_heart->setPixmap(*heart); hold_spacer2->setPixmap(*spacer2); hold_potion->setPixmap(*potion); /* Add IconObjects to row3 */ row3->addWidget(hold_basicattackicon); row3->addWidget(hold_mysticshoticon); row3->addWidget(hold_trueshoticon); row3->addWidget(hold_spacer1); row3->addWidget(hold_heart); row3->addWidget(health); row3->addWidget(hold_spacer2); row3->addWidget(hold_potion); row3->addWidget(mana); /* Add layout to main widget*/ mainLayout->addLayout(row3); // set player //objects.push_back( //set bool variables trueshotfiring = false; inGame = false; gamePaused = false; playerAlive = false; up = false; down = false; left = false; right = false; grabbedignite=false; lostgame=false; //set counters /** Level identifies which level the game is at */ levelff=1; /** Leftclickcounter determines how many times left click is pressed */ leftclickcounter=0; /** Leftclickholdcounter determines how long left click is pressed */ leftclickholdcounter=0; /** Spawn counter for a meleeminoin */ spawnmelee=0; /** Spawn counter for a Siegeminion*/ spawnsiege=0; /** Spawn counter for a Casterminion*/ spawncaster=0; /** Ez can not be hurt immediately at next clock *giving the player time to move out of the way*/ ezhurt=0; /** Points scored*/ points=0; /** Icon spawning at 200*/ iconspawn=0; // set timer timer = new QTimer(this);// timer->start(val) later on in show() //connections connect(start,SIGNAL(clicked()),this,SLOT(clickedStart())); connect(pause,SIGNAL(clicked()),this,SLOT(clickedPause())); connect(view,SIGNAL(leftButtonClicked()),this,SLOT(leftClick())); connect(view,SIGNAL(rightButtonClicked()),this,SLOT(rightClick())); connect(view,SIGNAL(leftButtonHoldStart()),this,SLOT(leftHoldstart())); connect(view,SIGNAL(leftButtonHoldCancel()),this,SLOT(leftHoldcancel())); connect(view,SIGNAL(uparrow()),this,SLOT(moveup())); connect(view,SIGNAL(downarrow()),this,SLOT(movedown())); connect(view,SIGNAL(leftarrow()),this,SLOT(moveleft())); connect(view,SIGNAL(rightarrow()),this,SLOT(moveright())); connect(timer,SIGNAL(timeout()),this,SLOT(handleTimer())); connect(quit,SIGNAL(clicked()),this,SLOT(clickedQuit())); }
void MainWindow::createActions() /*菜单选项*/ { /*文件菜单*/ openAction = new QAction(tr("打开"),this); openAction->setStatusTip(tr("打开新文件")); connect(openAction,SIGNAL(triggered()),this,SLOT(openFile())); importAction = new QAction(tr("导入"),this); importAction->setStatusTip(tr("导入数据")); connect(importAction,SIGNAL(triggered()),this,SLOT(importFile())); importAction->setDisabled(true); sortAction = new QAction(tr("分类数据"),this); sortAction->setStatusTip(tr("处理分类数据")); connect(sortAction,SIGNAL(triggered()),this,SLOT(sortFile())); sortAction->setDisabled(true); exitAction = new QAction(tr("退出"),this); exitAction->setStatusTip(tr("退出程序")); connect(exitAction,SIGNAL(triggered()),this,SLOT(close())); /*导入菜单*/ ebdicAction = new QAction(tr("显示EBDIC码"),this); ebdicAction->setStatusTip(tr("显示EBDIC码")); connect(ebdicAction,SIGNAL(triggered()),this,SLOT(loadEBDIC())); ebdicAction->setDisabled(true); reelAction = new QAction(tr("显示卷头"),this); reelAction->setStatusTip(tr("显示卷头信息")); connect(reelAction,SIGNAL(triggered()),this,SLOT(loadReel())); reelAction->setDisabled(true); traceAction = new QAction(tr("显示道头"),this); traceAction->setStatusTip(tr("显示选定位置道头信息")); connect(traceAction,SIGNAL(triggered()),this,SLOT(loadTrace())); traceAction->setDisabled(true); dataAction = new QAction(tr("地震数据"),this); dataAction->setStatusTip(tr("显示选定位置的地震记录")); connect(dataAction,SIGNAL(triggered()),this,SLOT(loadData())); dataAction->setDisabled(true); /*画图菜单*/ waveAction = new QAction(tr("波形显示"),this); waveAction->setStatusTip(tr("波形显示剖面")); connect(waveAction,SIGNAL(triggered()),this,SLOT(drawWave())); waveAction->setDisabled(true); grayAction = new QAction(tr("灰度显示"),this); grayAction->setStatusTip(tr("显示灰度图像")); connect(grayAction,SIGNAL(triggered()),this,SLOT(drawGray())); grayAction->setDisabled(true); colorAction = new QAction(tr("彩色显示"),this); colorAction->setStatusTip(tr("显示彩色图像")); connect(colorAction,SIGNAL(triggered()),this,SLOT(drawColor())); colorAction->setDisabled(true); //操作openGL图像 bigAction = new QAction(tr("放大"),this); bigAction->setStatusTip(tr("放大图像")); connect(bigAction,SIGNAL(triggered()),this,SLOT(bigger())); bigAction->setDisabled(true); littleAction = new QAction(tr("缩小"),this); littleAction->setStatusTip(tr("缩小图像")); connect(littleAction,SIGNAL(triggered()),this,SLOT(little())); littleAction->setDisabled(true); moveleftAction = new QAction(tr("左移"),this); moveleftAction->setStatusTip(tr("左移图像")); connect(moveleftAction,SIGNAL(triggered()),this,SLOT(moveleft())); moveleftAction->setDisabled(true); moverightAction = new QAction(tr("右移"),this); moverightAction->setStatusTip(tr("图像右移")); connect(moverightAction,SIGNAL(triggered()),this,SLOT(moveright())); moverightAction->setDisabled(true); moveupAction = new QAction(tr("上移"),this); moveupAction->setStatusTip(tr("上移图像")); connect(moveupAction,SIGNAL(triggered()),this,SLOT(moveup())); moveupAction->setDisabled(true); movedownAction = new QAction(tr("下移"),this); movedownAction->setStatusTip(tr("下移图像")); connect(movedownAction,SIGNAL(triggered()),this,SLOT(movedown())); movedownAction->setDisabled(true); moveMouseAction = new QAction(tr("移动"),this); moveMouseAction->setStatusTip(tr("使用鼠标移动图像")); connect(moveMouseAction,SIGNAL(triggered()),this,SLOT(moveMouse())); moveMouseAction->setDisabled(true); rotateMouseAction = new QAction(tr("旋转"),this); rotateMouseAction->setStatusTip(tr("旋转图像")); connect(rotateMouseAction,SIGNAL(triggered()),this,SLOT(rotateMouse())); rotateMouseAction->setDisabled(true); nextSliceAction = new QAction(tr("下一条剖面"),this); nextSliceAction->setStatusTip(tr("选择下一条剖面")); connect(nextSliceAction,SIGNAL(triggered()),this,SLOT(nextSlice())); nextSliceAction->setDisabled(true); preSliceAction = new QAction(tr("上一条剖面"),this); preSliceAction->setStatusTip(tr("选择上一条剖面")); connect(preSliceAction,SIGNAL(triggered()),this,SLOT(preSlice())); preSliceAction->setDisabled(true); drawGridAction = new QAction(tr("关闭网格"),this); drawGridAction->setStatusTip(tr("打开/关闭剖面图像上的网格")); connect(drawGridAction,SIGNAL(triggered()),this,SLOT(drawGrid())); drawGridAction->setDisabled(true); }
void Water::Doubpipebehavior(SDL_Renderer* ren,vector<DoublePipe> a) { int num=whereiamDoubpipe(a); if(right==true && a[num].getuse()==2) { if((Voda.x+Voda.w<a[num].HorPart2().x+a[num].HorPart2().w) &&(Voda.y+Voda.h!=a[num].VertPart1().y+a[num].VertPart1().h) ) { moveright(); default_create(ren,"start.jpg"); } else if((Voda.x+Voda.w==a[num].HorPart2().x+a[num].HorPart2().w) &&(Voda.y+Voda.h!=a[num].VertPart1().y+a[num].VertPart1().h)) { Voda.y+=1; default_create(ren,"start.jpg"); } if(Voda.y+Voda.h==a[num].VertPart1().y+a[num].VertPart1().h) { up=true; down=false; right=false; left=false; } } /* ================================================== */ else if(right==true && a[num].getuse()==3) { if((Voda.x+Voda.w<a[num].HorPart2().x+a[num].HorPart2().w) &&(Voda.y!=a[num].VertPart2().y)) { moveright(); default_create(ren,"start.jpg"); } else if((Voda.x+Voda.w==a[num].HorPart2().x+a[num].HorPart2().w) &&(Voda.y!=a[num].VertPart2().y)) { ; Voda.y-=1; default_create(ren,"start.jpg"); } if(Voda.y==a[num].VertPart2().y) { up=false; down=true; right=false; left=false; } } /* ================================================== */ else if(left==true && a[num].getuse()==1) { if(Voda.x>a[num].HorPart1().x) { moveleft(); default_create(ren,"start.jpg"); } else if(Voda.x==a[num].HorPart1().x) { default_create(ren,"start.jpg"); Voda.y+=1; } if(Voda.y+Voda.h==a[num].VertPart1().y+a[num].VertPart1().h) { up=true; down=false; right=false; left=false; } } /* ================================================== */ else if(left==true && a[num].getuse()==4) { if(Voda.x>a[num].HorPart1().x) { moveleft(); default_create(ren,"start.jpg"); } else if(Voda.x==a[num].HorPart1().x) { default_create(ren,"start.jpg"); Voda.y-=1; } if(Voda.y==a[num].VertPart2().y) { up=false; down=true; right=false; left=false; } } /* ================================================== */ else if(up==true && a[num].getuse()==3) { if((Voda.y+Voda.h<a[num].VertPart2().y+a[num].VertPart2().h) && (Voda.x!=a[num].HorPart2().x) ) { moveup(); default_create(ren,"start.jpg"); } else if((Voda.y+Voda.h==a[num].VertPart2().y+a[num].VertPart2().h) && (Voda.x!=a[num].HorPart2().x)) { default_create(ren,"start.jpg"); Voda.x-=1; } if(Voda.x==a[num].HorPart2().x) { right=false; left=true; down=false; up=false; } } /* ================================================== */ else if(up==true && a[num].getuse()==4) { if((Voda.y+Voda.h<a[num].VertPart2().y+a[num].VertPart2().h) ) { moveup(); default_create(ren,"start.jpg"); } else if((Voda.y+Voda.h==a[num].VertPart2().y+a[num].VertPart2().h)) { default_create(ren,"start.jpg"); Voda.x+=1; } if(Voda.x+Voda.w==a[num].HorPart1().x+a[num].HorPart1().w) { right=true; left=false; down=false; up=false; } } else if(down==true && a[num].getuse()==1) { if(Voda.y>a[num].VertPart1().y) { movedown(); default_create(ren,"start.jpg"); } else if(Voda.y==a[num].VertPart1().y) { Voda.x+=1; default_create(ren,"start.jpg"); } if(Voda.x+Voda.w==a[num].HorPart1().x+a[num].HorPart1().w) { right=true; left=false; up=false; down=false; } } /* ================================================== */ else if(down==true && a[num].getuse()==2) { if(Voda.y>a[num].VertPart1().y) { movedown(); default_create(ren,"start.jpg"); } else if(Voda.y==a[num].VertPart1().y) { Voda.x-=1; default_create(ren,"start.jpg"); } if(Voda.x==a[num].HorPart2().x) { right=false; left=true; up=false; down=false; } } /* ================================================== */ }
void TrackThread::run() { VideoCapture caputure; // string WindowNameOutput="window"; Mat frame; Mat output; //emit Mess(QString("test"),QString("camera open filed")); //return ; caputure.open(0); if(!caputure.isOpened()) { emit Messquit(QString("warning"),QString("you don't have a camera, please connect one")); //md->mess("warning","camera open failed"); return; } // namedWindow(WindowNameOutput); // cvWaitKey(1000); Sleep(1000); while(nRunFlag){ if(!caputure.read(frame)) { emit Messquit(QString("warning"),QString("please connect camera")); //md->mess("warning","camera read failed"); break; } flip(frame,frame,1); int re=process (frame,output); //控制 //if(md->ready){ if(re==1){ emit moveup(); } //md->moveUp(); else if(re==2){ emit movedown(); } //md->moveDown(); else if(re==3){ emit moveleft(); } //md->moveLeft(); else if (re==4){ emit moveright(); } //md->moveRight(); //} // imshow(WindowNameOutput,output); // 显示 cvtColor(output, output, CV_BGR2RGB); QImage qq((unsigned char*)output.data,output.cols, output.rows,output.step, QImage::Format_RGB888); // md->setimg(QPixmap::fromImage(qq)); emit setImg(QPixmap::fromImage(qq)); // if(md->exitt) // break; Sleep(50); // cvWaitKey(1000); } caputure.release(); // destroyWindow (WindowNameOutput); }
int processkey_ingame(int key, int flags) { static int discard_count; struct player *plr; int i = TWOPLAYER_MODE && key & PLAYER_2; int safe; switch (key & 0x7F) { case ESC: case '\b': game->state = 0; return -2; case 'q': exit(0); case STARTBTN: case 'p': if (flags & NO_PAUSE || !game_running || TWOPLAYER_MODE) break; i = pausegame(); textgfx_flags &= ~LOST_FOCUS; return i; } if (flags & DISCARD_MOVES) { if (++discard_count > 5) kb_flushinp(); return -1; } discard_count = 0; plr = game->player+i; safe = dropsafe(i); key &= 0x7F; if (!(flags & DISCARD_DROPS)) { switch (key) { case HARDDROP: if (socket_fd > -1 && !i) { sock_sendpiece(plr); if (harddrop(plr, safe) == -1) return -1; sock_sendbyte(HARDDROP); return 0; } return harddrop(plr, safe); case MVDOWN: if (!TWOPLAYER_MODE) return softdrop(softdrop_speed, safe); if (!movedown(plr, 1)) return 0; if (socket_fd > -1 && !i) sock_sendbyte(MVDOWN); return 1; } } switch (key) { case MVLEFT: moveleft(plr); break; case MVRIGHT: moveright(plr); break; case MVUP: rotate(plr, plr->rotationsys & ROT_CLOCKWISE); break; case A_BTN: rotate(plr, 1); break; case B_BTN: //rotate(plr, 0); if(!makeSwitch(plr)) return 99; break; default: return -1; } if (socket_fd > -1 && !i) sock_sendbyte(key); upd_screen(1+i); return 1; }