示例#1
0
void Column::Private::setInvalid(int row, bool invalid)
{
    setInvalid(Interval<int>(row,row), invalid);
}
示例#2
0
/**
@param dt Time since last frame.
*/
void OnlinePlayer::update(float dt)
{
	// Is it the players turn?
	if(!mWaitingOnMove && !mWaitingForOpponent && !mCheckMate)
	{
		// Get action from the player
		ActionResult action = performAction();

		switch(action.result)
		{
			case PIECE_MOVED:	{
				// Place them off screen - not needed
				setSelected(-10, -10);
				setInvalid(-10, -10);

				// Remove the opponents last move
				setLastMove();

				// Send the move to the opponent
				// ID - piece.x - piece.y - new.x - new.y
				RakNet::BitStream bitstream;
				bitstream.Write((unsigned char)ID_PIECE_MOVED);
				bitstream.Write(action.from.x);
				bitstream.Write(action.from.y);
				bitstream.Write(action.position.x);
				bitstream.Write(action.position.y);

				PlayingOnline::Instance()->getPeer()->Send(&bitstream, HIGH_PRIORITY, RELIABLE_ORDERED, 0, RakNet::UNASSIGNED_SYSTEM_ADDRESS, true);

				// Is now waiting on move
				mWaitingOnMove = true;

				// Checkmate? NOTE: Important to check after the move is sent to opponent
				if(getBoard()->checkMate(Color(getColor()*-1)))	{
					mGui->setStatus("Check mate!", GREEN, 100.0f);
					gGame->drawAll();
					mGui->displayCheckMate(true);
					mCheckMate = true;				
					gDatabase->addWin(getName());
				}
				else
					mGui->setStatus("#NOVALUE", RED, 0.0f);

				break;
			}
			// Invalid position								
			case INVALID_POSITION:
				setInvalid(action.position.x, action.position.y);
				setSelected(-10, -10);
				mGui->setStatus("Invalid position!", RED, 2.0f);
				break;
			// Wrong color
			case WRONG_COLOR:
				setInvalid(action.position.x, action.position.y);
				if(getColor() == WHITE)
					mGui->setStatus("You are white", RED, 2.0f);
				else
					mGui->setStatus("You are black", RED, 2.0f);
				break;
			// Gets checked
			case GETS_CHECKED:
				setInvalid(action.position.x, action.position.y);
				setSelected(-10, -10);
				mGui->setStatus("Check!", RED, 2.0f);
				break;
			// Piece was selected
			case PIECE_SELECTED:
				setSelected(action.position.x, action.position.y);
				setInvalid(-10, -10);
				break;
		}
	}
	// Promt "Not your turn" if the player tries to move when he's waiting on the other player to move
	else if(!mWaitingForOpponent && !mCheckMate && mWaitingOnMove)	{
		if(gInput->keyPressed(VK_LBUTTON) && gInput->mousePosition().x < 660)	{
			mGui->setStatus("Not your turn!", RED, 2.0f);
			gSound->playEffect(ILLEGAL_SOUND);
		}
	}
}
示例#3
0
InvalidExpression::InvalidExpression( Type* a_pType ) : Expression(a_pType)
{
    setInvalid();
}
示例#4
0
文件: proj15.cpp 项目: dmm/cegis
void proj15::setParamNames( const int projNumber )
{
   projName m_name;
   setName( m_name.projectionName( projNumber ) );
   setTrueName( m_projName );
   switch( projNumber )
   {
    case 0:     //"Geographic:"
    case 2:     // "State Plane":
         break;

    case 1:     //"UTM":
         setParamName( 0, lonZ( 0 ) );
         setParamName( 1, latZ( 1 ) );
         break;

    case 3:     //"Albers Equal Area:"
    case 4:     //"Lambert Conformal Conic":
         setParamName( 0, semiMajor( 0 ) );
         setParamName( 1, semiMinor( 1 ) );
         setParamName( 2, stdPR1() );
         setParamName( 3, stdPR2() );
         setParamName( 4, centMer() );
         setParamName( 5, originLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 5:     //"Mercator":
         setParamName( 0, semiMajor( 0 ) );
         setParamName( 1, semiMinor( 1 ) );
         setParamName( 4, centMer() );
         setParamName( 5, trueScale() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 6:     //"Polar Stereographic":
         setParamName( 0, semiMajor( 0 ) );
         setParamName( 1, semiMinor( 1 ) );
         setParamName( 4, longPol() );
         setParamName( 5, trueScale() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 7:     //"Polyconic":
         setParamName( 0, semiMajor( 0 ) );
         setParamName( 1, semiMinor( 1 ) );
         setParamName( 4, centMer() );
         setParamName( 5, originLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 8:     //"Equidistant Conic A\\B":
         setParamName( 0, semiMajor( 0 ) );
         setParamName( 1, semiMinor( 1 ) );
         setParamName( 4, centMer() );
         setParamName( 5, originLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         if( getParamValue( 8 ) == 1 )
         {
             setTrueName( "Equidistant Conic B" );
             setParamName( 2, stdPR1() );
             setParamName( 3, stdPR2() );
         }
         else
         {
             setTrueName( "Equidistant Conic A" );
             setParamName( 2, stdPAR() );
         }
         break;

    case 9:     //"Transverse Mercator":
         setParamName( 0, semiMajor( 0 ) );
         setParamName( 1, semiMinor( 1 ) );
         setParamName( 2, factor() );
         setParamName( 4, centMer() );
         setParamName( 5, originLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 10:    //"Stereographic":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centLon() );
         setParamName( 5, centerLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 11:    //"Lambert Azimuthal":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centLon() );
         setParamName( 5, centerLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 12:    //"Azimuthal":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centLon() );
         setParamName( 5, centerLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 13:    //"Gnomonic":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centLon() );
         setParamName( 5, centerLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 14:    //"Orthographic":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centLon() );
         setParamName( 5, centerLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 15:    //"Gen. Vert. Near Per":
         setParamName( 0, sphere( 0 ) );
         setParamName( 2, height() );
         setParamName( 4, centLon() );
         setParamName( 5, centerLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 16:    //"Sinusiodal":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centMer() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 17:    //"Equirectangular":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centMer() );
         setParamName( 5, trueScale() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 18:    //"Miller Cylindrical":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centMer() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 19:    //"Van der Grinten":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centMer() );
         setParamName( 5, originLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 20:    //"Hotine Oblique Merc A\\B":
         setParamName( 0, semiMajor( 0 ) );
         setParamName( 1, semiMinor( 1 ) );
         setParamName( 2, factor() );
         setParamName( 5, originLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         if( getParamValue( 12 ) == 1 )
         {
             setTrueName( "Hotine Oblique Merc B" );
             setParamName( 3, aziAng() );
             setParamName( 4, azmthPt() );
         }
         else
         {
             setTrueName( "Hotine Oblique Merc A" );
             setParamName( 8, long1() );
             setParamName( 9, lat1() );
             setParamName( 10, long2() );
             setParamName( 11, lat2() );
         }
         break;

    case 21:    //"Robinson":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centMer() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 22:    //"Space Oblique Merc A\\B":
         setParamName( 0, semiMajor( 0 ) );
         setParamName( 1, semiMinor( 1 ) );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         if( getParamValue( 12 ) == 1 )
         {
             setTrueName( "Space Oblique Merc B" );
             setParamName( 2, satNum() );
             setParamName( 3, path( 3 ) );
         }
         else
         {
             setTrueName( "Space Oblique Merc A" );
             setParamName( 3, incAng() );
             setParamName( 4, ascLong() );
             setParamName( 8, psRev() );
             setParamName( 9, lRat() );
             setParamName( 10, pFlag( 10 ) );
         }
         break;

    case 23:    //"Alaska Conformal":
         setParamName( 0, semiMajor( 0 ) );
         setParamName( 1, semiMinor( 1 ) );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 24:    //"Interrupted Goode":
         setParamName( 0, sphere( 0 ) );
         break;

    case 25:    //"Mollweide":
         setParamName( 0, sphere( 0 ) );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 26:    //"Interrupted Mollweide":
         setParamName( 0, sphere( 0 ) );
         break;

    case 27:    //"Hammer":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centMer() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 28:    //"Wagner IV":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centMer() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 29:    //"Wagner VII":
         setParamName( 0, sphere( 0 ) );
         setParamName( 4, centMer() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         break;

    case 30:   //"Oblated Equal Area":
         setParamName( 0, sphere( 0 ) );
         setParamName( 2, shapeM() );
         setParamName( 3, shapeN() );
         setParamName( 4, centLon() );
         setParamName( 5, centerLat() );
         setParamName( 6, FE() );
         setParamName( 7, FN() );
         setParamName( 8, angle() );
         break;
    default:
         setInvalid();
         break;
   }

   return;
}
示例#5
0
InvalidExpression::InvalidExpression() : Expression(Type::Invalid())
{
    setInvalid();
}