Ejemplo n.º 1
0
//------------------------------------------------
void WarManager::endWar()
{

	addFlag(F_EndWar);
    removeFlag(F_InWar);
 
    return ;
}
Ejemplo n.º 2
0
Dialog::Dialog(QWidget* parent, Qt::WindowFlags fl ): QDialog ( parent, fl ), Ui::Dialog()
{
setupUi(this);
connect(BaseA,SIGNAL(valueChanged ( int  )),this,SLOT(setMax()));
connect(BaseB,SIGNAL(valueChanged ( int  )),this,SLOT(setMax()));
connect(pushButton,SIGNAL(clicked(   )),this,SLOT(addFlag()));
connect(pushButton_2,SIGNAL(clicked(   )),this,SLOT(removeFlag()));
connect(listWidget,SIGNAL(itemClicked (QListWidgetItem*)),this,SLOT(enableDelete()));
    translateButtons();
};
Ejemplo n.º 3
0
// Permet de poser un drapeau
void putFlag(int x, int y)
{
	// On execute le contenue seulement si la case n'a pas été minée
	if(isMined(x, y) == FALSE)
	{
		// On vérifie qu'il n'y a pas déjà un drapeau
		if(isFlag(x, y) == FALSE)
		{
			// On vérifie que l'on a pas mis plus de drapeau que de bombes
			if(nbFlags < NB_BOMBS)
			{
				// On choisit nos couleurs
				textbackground(B_FLAG);
				textcolor(C_FLAG);

				// On affiche le drapeau
				printf("%c", A_FLAG);

				// On ajoute le drapeau à la liste
				addFlag(x, y);
			}
			else
			{
				// On affiche une erreur
				msgZone(C_WARNING, B_WARNING);
				printf("You can't use more");
				gotoxy(mapX+OFFSET_X+(BORDER*2), OFFSET_Y+18);
				printf("than %d flags", NB_BOMBS);
			}
		}
		else // Sinon on enlève le drapeau existant
		{
			// On choisit nos couleurs
			textbackground(B_MAP);
			textcolor(C_MAP);

			// On remet un case non miné
			printf("%c", A_MAP);

			// On enleve le drapeau du tableau
			removeFlag(x, y);
		}
	}
}
Ejemplo n.º 4
0
	void IRenderNode::setRenderOption( RenderOption option , DWORD val )
	{
		switch ( option )
		{
		case CFRO_Z_TEST :
			val = ( val ) ? D3DZB_TRUE : D3DZB_FALSE; 
			break;
		case CFRO_ZBIAS :
			{			
				float bias = 0.1f * val;
				val = *((DWORD*)&bias);
			}
			break;
		case CFRO_SRC_BLEND :
		case CFRO_DEST_BLEND :
			val = D3DTypeMapping::convert( BlendMode(val) );
			break;
		case CFRO_ALPHA_BLENGING :
			if ( val )
				addFlag( NODE_TRANSLUCENT_OBJ );
			else
				removeFlag( NODE_TRANSLUCENT_OBJ );
			break;
		case CFRO_CULL_FACE:
			val = D3DTypeMapping::convert( CullFace( val ) );
			break;
		case CFRO_Z_BUFFER_WRITE :
		case CFRO_LIGHTING :
		case CFRO_FOG :
			break;

		default:
			assert(0);
		}

		if ( D3DTypeMapping::getDefaultValue( option ) == val )
			mUsageRenderOption &= ~ BIT( option );
		else
			mUsageRenderOption |= BIT( option );

		mRenderOption[ option ] = val;
	}
Ejemplo n.º 5
0
void removeFlag(BaseAST* ast, Flag flag) { removeFlag(ast, (int)flag); }
Ejemplo n.º 6
0
// Fonction executé lorsque l'utilisateur choisit une case
void mineCase(int x, int y)
{
	int countBomb = 0; // permet de compter les bombes aux alentours
	int i, j; // Variable de recherche

	// On vérifie que c'est pas la deuxième fois que l'utilisateur appuie ici
	if(isMined(x, y) != TRUE)
	{
		// On marque cette position comme déjà miner
		minedX[nbMined] = x;
		minedY[nbMined] = y;
		nbMined++;
	}

	// On se positionne sur la case à miner
	gotoxy(x, y);

	if(isBomb(x, y))
	{
		// S'il mine une bombe, la partie est teminé
		endGame();
	}
	else
	{
		//
		//	On compte les bombes aux alentours
		//

		// On définie la première case de recherche sur l'axe Y
		if(y != OFFSET_Y) i = y-1;
		else i = y;

		// On parcourt en Y
		for (i; i <= y+1 && i < mapY+OFFSET_Y; i++)
		{
			// On définie la première case de recherche sur l'axe X
			if(x != OFFSET_X) j = x-1;
			else j = x;

			// Puis en X
			for (j; j <= x+1 && j < mapX+OFFSET_X; j++)
			{
				if(i != y || j != x)
				{
					if(isBomb(j, i) == TRUE)
						countBomb++; // S'il y a une bombe, on l'ajoute
				}
			}
		}

		// On vérifie que le joueur n'avait pas posé un drapeau ici
		if(isFlag(x, y))
			removeFlag(x, y); // On l'enlève si c'était le cas

		// On choisit nos couleurs
		textbackground(B_MINED);
		textcolor(C_MINED);

		if(countBomb > 0) // S'il y a des bombes aux alentours on affiche le nombre
		{
			// On change la couleur
			switch(countBomb)
			{
				case 1:textcolor(LIGHTBLUE);break;
				case 2:textcolor(LIGHTGREEN);break;
				case 3:textcolor(LIGHTRED);break;
				case 4:textcolor(BLUE);break;
				case 5:textcolor(RED);break;
				case 6:textcolor(RED);break;
				case 7:textcolor(RED);break;
				case 8:textcolor(RED);break;
			}

			// On affiche le nombre
			printf("%d", countBomb);
		}
		else // Sinon on affiche un vide et on va voir plus loin
		{
			printf("%c", A_MINED);

			//
			// On mine aussi aux alentours
			//

			// On définie la première case de recherche sur l'axe Y
			if(y != OFFSET_Y) i = y-1;
			else i = y;

			// On parcourt en Y
			for (i; i <= y+1 && i < mapY+OFFSET_Y; i++)
			{
				// On définie la première case de recherche sur l'axe X
				if(x != OFFSET_X) j = x-1;
				else j = x;

				// Puis en X
				for (j; j <= x+1 && j < mapX+OFFSET_X; j++)
					if((i != y || j != x) && isMined(j, i) != TRUE)
						mineCase(j, i); // On mine à coté
			}
		}
	}
}