Пример #1
0
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");
	}
}
Пример #2
0
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);
}
Пример #4
0
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
     
}
Пример #5
0
/*
 * 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);
        }
    }
}
Пример #6
0
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");
	}
}
Пример #7
0
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;
} 
Пример #8
0
void checkformovedown()
{
  time_t t = time(0);
  static time_t st_t = time(0);
  if(t > st_t)
  {
    movedown();
    st_t = t;
  }
}
Пример #9
0
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);

}
Пример #10
0
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();
            }
}
Пример #11
0
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();
}
Пример #12
0
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();


}
Пример #13
0
/*  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;
} 
Пример #14
0
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;
}
Пример #15
0
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;
}
Пример #16
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);
}
Пример #17
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;
}
Пример #18
0
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);
    }
}
Пример #19
0
void down(struct Block**grid){
    movedown(grid[15]);
    movedown(grid[14]);
    movedown(grid[13]);
    movedown(grid[12]);
}
Пример #20
0
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;
} 
Пример #21
0
/** 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()));
}
Пример #22
0
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);
}
Пример #23
0
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;
		}
		
	} 

	/* ================================================== */
}
Пример #24
0
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);
}
Пример #25
0
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;
}