Exemple #1
0
/**
 * @brief Instanciates and starts all listeners thread (chat, online players).
 * @pre The client have to be connected before to call this function.
 */
void MainWindow::startListeners()
{
    // Start a thread for listening server requests.
    _listener = new Listener(_player.socket, this);

    connect(_listener, SIGNAL(pseudoAlreadyExists(QString)), this, SLOT(pseudoAlreadyExists(QString)));

    connect(_listener, SIGNAL(addMsg(QString)), this, SLOT(addMsg(QString)));

    connect(_listener, SIGNAL(addPlayerToView(player)), this, SIGNAL(askAddPlayer(player)));
    connect(_listener, SIGNAL(removePlayerFromView(player)), this, SIGNAL(askRmPlayer(player)));

    connect(_listener,  SIGNAL(advisePlayerForGame(QString)), this, SLOT(adviseForGame(QString)));
    connect(_listener, SIGNAL(advisePlayerForAbortedGame(QString)), this, SLOT(adviseForAbortedGame(QString)));

    connect(_listener, SIGNAL(startGame()), this, SLOT(startGame()));

    connect(_listener, SIGNAL(clientBusy(player)), ui->rightMenuWidget, SIGNAL(askSetBusy(player)));
    connect(_listener, SIGNAL(clientFree(player)), ui->rightMenuWidget, SIGNAL(askSetFree(player)));

    connect(_listener, SIGNAL(setOpponent(player)), this, SLOT(setOpponent(player)));
    connect(_listener, SIGNAL(opponentQuit(player)), this, SLOT(opponentQuit(player)));

    connect(_listener, SIGNAL(receiveCheckerboard(checkerboard)), ui->checkerboardwidget, SLOT(receiveCheckerboard(checkerboard)));
    connect(_listener, SIGNAL(receiveWinner(player)), this, SLOT(displayWinner(player)));
}
Exemple #2
0
void Fight::socketFight()
{
	switch( _socket->getCla2() ) {
	case C_FIGHT_INIT:
		logEE( "Should not happen (C_FIGHT_INIT in Fight)" );
		break;
	case C_FIGHT_CREATURE:
		_isCreature = true;
		setOpponent( _game->getLord( 0 ) );
		break;
	case C_FIGHT_LORD: {
		GenericLord * lord = _game->getLord( _socket->readChar() );
		lord->setBaseCharac( ATTACK, _socket->readChar() );
		lord->setBaseCharac( DEFENSE, _socket->readChar() );
		setOpponent( lord );
		} break;
	case C_FIGHT_CELL:
		socketFightCell();
		break;
	case C_FIGHT_UNIT: {
		uchar cla = _socket->readChar();
		uchar num = _socket->readChar();
		GenericFightUnit * unit = new GenericFightUnit();
		uchar race = _socket->readChar();
		uchar level = _socket->readChar();
		unit->setCreature( race, level );
		unit->setNumber( _socket->readInt() );
		unit->setMove( _socket->readChar() );
		unit->setHealth( _socket->readInt() );
		setUnit( unit, (CLASS_FIGHTER)cla, num );
		} break;
	case C_FIGHT_MODUNIT:
		socketFightModify();
		break;
	case C_FIGHT_MOVE:
		socketFightMove();
		break;
	case C_FIGHT_ENDMOVE:
		_isActive = false;
		_map->clearPath();
		break;
	case C_FIGHT_ACTIVE:{
		uchar cla = _socket->readChar();
		uchar num = _socket->readChar();
		setActive( (CLASS_FIGHTER)cla, num );
	}
		break;
	case C_FIGHT_DAMAGE:
		socketFightDamage();
		break;
	case C_FIGHT_END: {
		updateUnits();
		showFightResults( _socket->readChar() );
		emit sig_quit();
		}
		break;
	}
}
void ContinuedGameMenuWindow::on_stage4Button_clicked()
{
    //switch to debate window
    emit setOpponent(4);
    emit switchToWindow(7);
    emit getQuestions();
    emit stageSelected(4);
    emit updatePhysicsWorld(getGravity(), getBounce(), getOppBounce());
}
Exemple #4
0
void Fight::socketFightLord()
{
	uchar id = _socket->readChar();
	uchar valueAtt = _socket->readChar();
	uchar valueDef = _socket->readChar();

	GenericLord * lord = _game->getLord( id );
	if( lord ) {
		lord->setBaseCharac( ATTACK, valueAtt );
		lord->setBaseCharac( DEFENSE, valueDef );
		setOpponent( lord );
	} else {
		logEE(" lord not exist id %d, valueAtt %d, valueDef %d", id, valueAtt, valueDef);
	}
}
Exemple #5
0
void Fight::socketFightCreatue()
{
	_isCreature = true;
	setOpponent( _game->getLord( 0 ) );
}