Exemple #1
0
/** This function initialize a mouse press event
    @param e is the either a right click or a left click
*/
void block::mousePressEvent(QMouseEvent *e)
{
    if(e->button() == Qt::LeftButton && !marked)
    {
        if(num==9)
        {
            setIcon(QIcon(":/image/boom.png"));
            emit lost();
        }
        else
        {
            emit expand(id);
        }
    }

    if(e->button() == Qt::RightButton)
    {
        if(marked)
        {
            marked = false;
            setIconSize(QSize(0,0));
            emit markDecrease();
        }
        else
        {
            marked = true;
            setIcon(QIcon(":/image/flag.png"));
            setIconSize(QSize(15,15));
            emit markIncrease();
            emit testWin();
        }
    }
}
Exemple #2
0
// Runs the Game...
void Ultra1::App::Run( )
{
	// All of the game states we could be in...
	Intro intro( this );
	MainMenu menu( this );
	Game game( this );
	MapState map_state( this );
	WonState won( this );
	LostState lost( this );
	HelpState help( this );
	StoryState story( this );
	OptionsState options( this );

	// Must be entered into array in same order as the const values...
	GameState* states[] = { &intro, &menu, &game, &map_state, &won, &lost, &help, &story, &options };

	// We start in the intro...
	StateNumber current_state = INTRO_STATE;

	while( current_state != QUIT_STATE )
	{
		// Run the current state and assign the next state to it...
		current_state = states[current_state]->Run( );
	}
}
Exemple #3
0
ResourceManager::ResourceManager()
    : QObject(),
      m_resources(0),
      m_result(false),
      m_waiting(false)
{
    qRegisterMetaType<ResourcePolicy::ResourceSet*>("ResourcePolicy::ResourceSet*");
    qRegisterMetaType<ResourcePolicy::ResourceType>("ResourcePolicy::ResourceType");
    qRegisterMetaType<QList<ResourcePolicy::ResourceType> >("QList<ResourcePolicy::ResourceType>");

    m_resources = new ResourcePolicy::ResourceSet(QString::fromAscii("camera"),
                                                this);
    m_resources->setAlwaysReply();

    m_resources->addResource(ResourcePolicy::VideoPlaybackType);
    m_resources->addResource(ResourcePolicy::VideoRecorderType);

    QObject::connect(m_resources, SIGNAL(resourcesDenied()),
                     this, SLOT(denied()));
    QObject::connect(m_resources, SIGNAL(lostResources()),
                     this, SLOT(lost()));
    QObject::connect(m_resources,
                     SIGNAL(resourcesGranted(QList<ResourcePolicy::ResourceType>)),
                     this, SLOT(granted()));
}
Exemple #4
0
void		balls_update(t_ball *ball, float size)
{
	float min;
	float max;
	float b_min;
	float b_max;

	min = -1.0f + 0.03f;
	max = 1.0f - 0.03f;
	b_min = ball->player->bar.position;
	b_max = ball->player->bar.position + size;
	ball->position.x += ball->direction.x * ball->speed;
	ball->position.y += ball->direction.y * ball->speed;
	check_block(ball);
	if (ball->position.x <= min)
		bounce(1, ball);
	if (ball->position.x >= max)
		bounce(1, ball);
	if (ball->position.x + 0.03f >= b_min && ball->position.x - 0.03f <= b_max)
		bounce_bar(b_min, b_max, ball);
	if (ball->position.y <= min)
		lost(ball);
	if (ball->position.y >= max)
	{
		ball->direction.y *= -1;
		ball->position.y += ball->direction.y * ball->speed;
	}
}
	//=============================================================================================================
	bool CGame10::Lose()
	{
		devicelost = true;
		lost();

		// ...

		return true;
	}
Exemple #6
0
	int HighestNumber::value(std::uint8_t player) const
	{
		if (won(player))
			return 1;
		else if (lost(player))
			return -1;
		else
			return 0;
	}
/* Find a node from the nodes section */
bool JBEAM_TextBox::FindNodeContainer2(QString *JBEAM_box, QString nodename, int &nodesBegin, int &pos1, int &pos2)
{
    QString re = "\\[\\s*\\\"" + nodename + "\\\"\\s*,?\\s*-?\\d*.\\d*\\s*,?\\s*-?\\d*.\\d*\\s*,?\\s*-?\\d*.\\d*";
    QRegExp lost(re);
    pos1 = lost.indexIn(*JBEAM_box,nodesBegin) + 1;
    if(pos1>=1)
    {
        pos2 = lost.matchedLength()-1;
        return true;
    }
    return false;
}
Exemple #8
0
MainScene::MainScene(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MainScene),
    m_time_counter(new QTimer(this)),
    m_who_am_i(NOT_PLAYER),
    m_click(new QSound(":/sounds/click.wav"))
{
    ui->setupUi(this);
    connect(ui->transferButton, SIGNAL(clicked(bool)),
            this, SLOT(toChangeTurn()));
    connect(ui->menuButton, SIGNAL(clicked(bool)),
            this, SIGNAL(shouldSetting()));
    connect(ui->undoButton, SIGNAL(clicked(bool)),
            this, SLOT(toSendUndo()));
    connect(ui->giveupButton, SIGNAL(clicked(bool)),
            this, SLOT(toSendGiveup()));
    connect(ui->transferButton, SIGNAL(clicked(bool)),
            m_click, SLOT(play()));
    connect(ui->menuButton, SIGNAL(clicked(bool)),
            m_click, SLOT(play()));
    connect(ui->undoButton, SIGNAL(clicked(bool)),
            m_click, SLOT(play()));
    connect(ui->giveupButton, SIGNAL(clicked(bool)),
            m_click, SLOT(play()));

    connect(this, SIGNAL(remainingTimeChanged(int)),
            this, SLOT(updateRemaining(int)));

    m_time_counter->setInterval(TIMER_INTERVAL);
    connect(m_time_counter, SIGNAL(timeout()),
            this, SLOT(reduceRemaining()));

    connect(ui->boardView, SIGNAL(won()),
            this, SIGNAL(gameWon()));
    connect(ui->boardView, SIGNAL(lost()),
            this, SIGNAL(gameLost()));
    connect(ui->boardView, SIGNAL(finished(bool)),
            this, SIGNAL(gameFinished(bool)));
    connect(ui->boardView, SIGNAL(placed(QPoint,bool,bool)),
            this, SIGNAL(shouldPlace(QPoint,bool,bool)));
}
Exemple #9
0
void
clean(uint16_t seq, int64_t now, void *v)
{
	int ttl;
	Req **l, *r;

	ttl = 0;
	if (v) {
		if (proto->version == 4)
			ttl = ((struct ip4hdr *)v)->ttl;
		else
			ttl = ((struct ip6hdr *)v)->ttl;
	}
	spin_pdr_lock(&listlock);
	last = NULL;
	for(l = &first; *l; ){
		r = *l;
		if(v && r->seq == seq){
			r->rtt = ndiff(r->tsctime, now);
			r->ttl = ttl;
			reply(r, v);
		}
		if (now - r->tsctime > MINUTETSC) {
			*l = r->next;
			r->rtt = ndiff(r->tsctime, now);
			if(v)
				r->ttl = ttl;
			if(r->replied == 0)
				lost(r, v);
			free(r);
		}else{
			last = r;
			l = &r->next;
		}
	}
	spin_pdr_unlock(&listlock);
}
Exemple #10
0
/**
  * revealCell()
  * Reveals the cell at the given coordinate, also handles losing / winning
  */
void MainWindow::revealCell(QString coordinates)
{
    //Obtain the coordinates
    QStringList results = coordinates.split(",");

    if ( results.size() != 2) //Ensure that we receive two coordinates
        qFatal("Less than two numbers received");

    int row = results.at(0).toInt();
    int column = results.at(1).toInt();

    //If we already finished the game.. we won't do anything here
    if (hasFinished)
    {
        return;
    }
    else
    {
        cellsRevealed++;
    }

    //If it is flagged, we will ignore the mine
    if ( mineStatus[row][column] == FLAGGED_CELL || mineStatus[row][column] == QUESTION_CELL )
    {
            cellsRevealed--;
            return;
    }

    //Get the button we just pushed
    MineSweeperButton *buttonPushed = qobject_cast<MineSweeperButton *>(signalMapper->mapping(coordinates));


    //If it is flat.. we already pushed it so ignore it
    if (buttonPushed->isFlat())
    {
            cellsRevealed--;
            return;
    }

    //If we have 90 cells revealed (10 mines, 90 not mines), we win the game!
    if (cellsRevealed == 90 && game->getValue(row, column) != MINE)
    {
        changeIcon(buttonPushed, row, column);
        won();
        return;
    }

    //Recrusively clear the squares if we reveal a zero
    if ( game->getValue (row, column) == 0 ) {
        cellsRevealed--;
        clear(row, column, true);
    }

    //Set the image according to the value of the cell
    changeIcon(buttonPushed, row, column);

    buttonPushed->setFlat(true);    // if revealed, set button flat

    //If we reveal a mine, we just lost :(
    if ( game->isMine( row, column ) )
    {
        lost();
        cellsRevealed--;
        return;
    } else {
        //Phew, it's not a mine! We're happy!!!!!!! :D
        ui->smileyFace->setIcon(QIcon(":/images/normal_face.png"));
    }

    //If we haven't started yet, let's start the counter
    if ( !hasStarted )
    {
        timer->start(1000);
        hasStarted = true;
    }
}
Exemple #11
0
char game()
{
	unsigned int counts_p, counts_c; // player & computer

	char *cards[13] = {"A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3", "2"};
	char *players_card, *players_card2, *comps_card; // player
	unsigned char ch1;

	counts_p = sizeof(cards) / sizeof(cards[0]);
	counts_c = sizeof(cards) / sizeof(cards[0]);

	players_card = cards[rand() % counts_p];
	players_card2 = cards[rand() % counts_p];
	comps_card = cards[rand() % counts_p];

	system("clear");
	printf("Choosing first card...\n");
	sleep(2);
	printf("Here is first card: ");

	printf("| %s%s%s |\n", purple, players_card, normal);
	printf("Do you want to play with this card? (Y/n)\n");
	
	scanf("%c", &ch1);

	if(ch1 == 'Y' || ch1 == 'y')
	{
		printf("Your card: | %s%s%s |\n", purple, players_card, normal);
		printf("\nComputer is playing...\n");
		sleep(3);
		printf("\nComputer's card: | %s%s%s |\n", red, comps_card, normal);

		if(players_card == "A" && comps_card == "2" || players_card == "A" && comps_card == "3" || players_card == "A" && comps_card == "4" || players_card == "A" && comps_card == "5" || players_card == "A" && comps_card == "6" || players_card == "A" && comps_card == "7" || players_card == "A" && comps_card == "8" || players_card == "A" && comps_card == "9" || players_card == "A" && comps_card == "10" || players_card == "A" && comps_card == "Q" || players_card == "A" && comps_card == "K")
		{
			win();			
		}

		else if(players_card == "K" && comps_card == "2" || players_card == "K" && comps_card == "3" || players_card == "K" && comps_card == "4" || players_card == "K" && comps_card == "5" || players_card == "K" && comps_card == "6" || players_card == "K" && comps_card == "7" || players_card == "K" && comps_card == "8" || players_card == "K" && comps_card == "9" || players_card == "K" && comps_card == "10" || players_card == "K" && comps_card == "J" || players_card == "K" && comps_card == "Q")
		{
			win();
		}

		else if(players_card == "Q" && comps_card == "2" || players_card == "Q" && comps_card == "3" || players_card == "Q" && comps_card == "4" || players_card == "Q" && comps_card == "5" || players_card == "Q" && comps_card == "6" || players_card == "Q" && comps_card == "7" || players_card == "Q" && comps_card == "8" || players_card == "Q" && comps_card == "9" || players_card == "Q" && comps_card == "10" || players_card == "Q" && comps_card == "J")
		{
			win();
		}

		else if(players_card == "J" && comps_card == "2" || players_card == "J" && comps_card == "3" || players_card == "J" && comps_card == "4" || players_card == "J" && comps_card == "5" || players_card == "J" && comps_card == "6" || players_card == "J" && comps_card == "7" || players_card == "J" && comps_card == "8" || players_card == "J" && comps_card == "9" || players_card == "J" && comps_card == "10")
		{
			win();
		}

		else if(players_card == "10" && comps_card == "2" || players_card == "10" && comps_card == "3" || players_card == "10" && comps_card == "4" || players_card == "10" && comps_card == "5" || players_card == "10" && comps_card == "6" || players_card == "10" && comps_card == "7" || players_card == "10" && comps_card == "8" || players_card == "10" && comps_card == "9")
		{
			win();
		}

		else if(players_card == "9" && comps_card == "2" || players_card == "9" && comps_card == "3" || players_card == "9" && comps_card == "4" || players_card == "9" && comps_card == "5" || players_card == "9" && comps_card == "6" || players_card == "9" && comps_card == "7" || players_card == "9" && comps_card == "8")
		{
			win();
		}

		else if(players_card == "8" && comps_card == "2" || players_card == "8" && comps_card == "3" || players_card == "8" && comps_card == "4" || players_card == "8" && comps_card == "5" || players_card == "8" && comps_card == "6" || players_card == "8" && comps_card == "7")
		{
			win();
		}

		else if(players_card == "7" && comps_card == "2" || players_card == "7" && comps_card == "3" || players_card == "7" && comps_card == "4" || players_card == "7" && comps_card == "5" || players_card == "7" && comps_card == "6")
		{
			win();
		}

		else if(players_card == "6" && comps_card == "2" || players_card == "6" && comps_card == "3" || players_card == "6" && comps_card == "4" || players_card == "6" && comps_card == "5")
		{
			win();
		}

		else if(players_card == "5" && comps_card == "2" || players_card == "5" && comps_card == "3" || players_card == "5" && comps_card == "4")
		{
			win();
		}

		else if(players_card == "4" && comps_card == "2" || players_card == "4" && comps_card == "3")
		{
			win();
		}

		else if(players_card == "3" && comps_card == "2")
		{
			win();
		}

		else if(players_card == comps_card)
		{
			draw();
		}

		else
		{
			lost();
		}
	}

	else if(ch1 == 'n' || ch1 == 'N')
	{
		system("clear");
		printf("I'm choosing another one...\n");
		sleep(2);
		printf("Your new card is: | %s%s%s |\n", purple, players_card2, normal);
		printf("\nComputer is playing...\n");
		sleep(3);
		printf("\nComputer's card: | %s%s%s |\n", red, comps_card, normal);

		if(players_card2 == "A" && comps_card == "2" || players_card2 == "A" && comps_card == "3" || players_card2 == "A" && comps_card == "4" || players_card2 == "A" && comps_card == "5" || players_card2 == "A" && comps_card == "6" || players_card2 == "A" && comps_card == "7" || players_card2 == "A" && comps_card == "8" || players_card2 == "A" && comps_card == "9" || players_card2 == "A" && comps_card == "10" || players_card2 == "A" && comps_card == "Q" || players_card2 == "A" && comps_card == "K")
		{
			win();
		}

		else if(players_card2 == "K" && comps_card == "2" || players_card2 == "K" && comps_card == "3" || players_card2 == "K" && comps_card == "4" || players_card2 == "K" && comps_card == "5" || players_card2 == "K" && comps_card == "6" || players_card2 == "K" && comps_card == "7" || players_card2 == "K" && comps_card == "8" || players_card2 == "K" && comps_card == "9" || players_card2 == "K" && comps_card == "10" || players_card2 == "K" && comps_card == "J" || players_card2 == "K" && comps_card == "Q")
		{
			win();
		}

		else if(players_card2 == "Q" && comps_card == "2" || players_card2 == "Q" && comps_card == "3" || players_card2 == "Q" && comps_card == "4" || players_card2 == "Q" && comps_card == "5" || players_card2 == "Q" && comps_card == "6" || players_card2 == "Q" && comps_card == "7" || players_card2 == "Q" && comps_card == "8" || players_card2 == "Q" && comps_card == "9" || players_card2 == "Q" && comps_card == "10" || players_card2 == "Q" && comps_card == "J")
		{
			win();
		}

		else if(players_card2 == "J" && comps_card == "2" || players_card2 == "J" && comps_card == "3" || players_card2 == "J" && comps_card == "4" || players_card2 == "J" && comps_card == "5" || players_card2 == "J" && comps_card == "6" || players_card2 == "J" && comps_card == "7" || players_card2 == "J" && comps_card == "8" || players_card2 == "J" && comps_card == "9" || players_card2 == "J" && comps_card == "10")
		{
			win();
		}

		else if(players_card2 == "10" && comps_card == "2" || players_card2 == "10" && comps_card == "3" || players_card2  == "10" && comps_card == "4" || players_card2 == "10" && comps_card == "5" || players_card2 == "10" && comps_card == "6" || players_card2 == "10" && comps_card == "7" || players_card2 == "10" && comps_card == "8" || players_card2 == "10" && comps_card == "9")
		{
			win();
		}

		else if(players_card2 == "9" && comps_card == "2" || players_card2 == "9" && comps_card == "3" || players_card2 == "9" && comps_card == "4" || players_card2 == "9" && comps_card == "5" || players_card2 == "9" && comps_card == "6" || players_card2 == "9" && comps_card == "7" || players_card2 == "9" && comps_card == "8")
		{
			win();
		}

		else if(players_card2 == "8" && comps_card == "2" || players_card2 == "8" && comps_card == "3" || players_card2 == "8" && comps_card == "4" || players_card2 == "8" && comps_card == "5" || players_card2 == "8" && comps_card == "6" || players_card2 == "8" && comps_card == "7")
		{
			win();
		}

		else if(players_card2 == "7" && comps_card == "2" || players_card2 == "7" && comps_card == "3" || players_card2 == "7" && comps_card == "4" || players_card2 == "7" && comps_card == "5" || players_card2 == "7" && comps_card == "6")
		{
			win();
		}

		else if(players_card2 == "6" && comps_card == "2" || players_card2 == "6" && comps_card == "3" || players_card2 == "6" && comps_card == "4" || players_card2 == "6" && comps_card == "5")
		{
			win();
		}

		else if(players_card2 == "5" && comps_card == "2" || players_card2 == "5" && comps_card == "3" || players_card2 == "5" && comps_card == "4")
		{
			win();
		}

		else if(players_card2 == "4" && comps_card == "2" || players_card2 == "4" && comps_card == "3")
		{
			win();
		}

		else if(players_card2 == "3" && comps_card == "2")
		{
			win();
		}

		else if(players_card2 == comps_card)
		{
			draw();
		}

		else
		{
			lost();
		}
	}

	else
	{
		printf("uhu....\n");
	}
	return 0;
}
Exemple #12
0
/* ----- [ add ] ------------------------------------------------------------ */
void add(struct Var_conf *config)
{
    int timer = 1; // Fix bug of timer
    int random = 0;
    SDL_Rect pos;
    // Pieces id's
    enum Piece_bloc pieces[PC_NB] = {	SQR1,SQR1,SQR1,SQR1,
    					BAR1,BAR1,BAR2,BAR2,
					L1,L2,L3,L4,
					LINV1,LINV2,LINV3,LINV4,
					S1,S1,S2,S2,
					SINV1,SINV1,SINV2,SINV2,
					DP1,DP2,DP3,DP4 };

    // Disable timer
    config->state = J_PAUSE;
    if(!config->dropping && !config->down_pressed && !SDL_RemoveTimer(config->timer))
    {
	fprintf(stderr,
		"[ERROR] Cannot remove timer in %s at line %d.\n",
		__FILE__,__LINE__);
	timer = 0;
    }

    // Get a random piece
    random = rand() % PC_NB + 1;

    // Copy next piece in current piece
    config->pc_cur_id = config->pc_next_id;
    
    // Copy random piece in next piece
    config->pc_next_id = pieces[random - 1];

    // Check position
    pos.x = (PNL_LB / 2) - (PC_NB_LBLC / 2);
    pos.y = 1;

	// Dynamic height panel management
	if(ENABLE_DYNPNL)
	{
		// Empty lines check
		int r = 0;
		int s = 0;
		int empty = 1;

		// Check if half the panel is empty
		for(r = 0;r < 2 * PC_NB_HBLC && empty;r++)
		{
			for(s = 0;s < model_width(config->model) && empty;s++)
			{
				if(model_get(config->model,r,s) != CL_MPT)
					empty = 0;
			}
		}

		// If a quarter of the panel is not empty, add a quarter of empty lines
		if(!empty)
			for(r = 0;r < 2 * PC_NB_HBLC;r++)
				model_add_first(config->model,CL_MPT);

	}	

    // Position is good
    if(check_pc(config,config->model,config->pieces[config->pc_cur_id],pos))
    {
    	config->piece_pos.x = pos.x;
		config->piece_pos.y = pos.y;

		// Piece ghost
		pos.x = config->piece_pos.x;
		pos.y = config->piece_pos.y;
		while(check_pc(config,
				   config->model,
				   config->pieces[config->pc_cur_id],
				   pos)
			  && pos.y != model_height(config->model))
			pos.y++;
		pos.y--;
		config->ghost_pos.x = config->piece_pos.x;
		config->ghost_pos.y = pos.y;
		
		// Display next piece
		disp_next_pc(config);

		// Trigger AI if launched
		if(config->ai_started)
			config->ai_trigger = 1;

		// Enable timer
		config->state = J_PLAY;
		if(timer)
			if(!config->dropping && !config->down_pressed 
			   && (config->timer = SDL_AddTimer(config->interv,
							step,config)) == NULL)
			fprintf(stderr,
				"[ERROR] Cannot initialize timer in %s at line %d.\n",
				__FILE__,__LINE__);

		return;
    }
    // Game Over
    else
    {
    	config->pc_cur_id = PCMPTY;
		lost(config);
		return;
    }
}
Exemple #13
0
void state_epoch_t::open()
{
  if (not is_open and unlink(lost())<0)
    log_critical("can't unlink '%s': %m", lost()) ;
  abstract_gate_state_t::open() ;
}
Exemple #14
0
state_epoch_t::state_epoch_t(machine_t *owner) : abstract_gate_state_t("EPOCH", "WAITING", owner)
{
  is_open = access(lost(), F_OK) != 0 ;
}