Ejemplo n.º 1
0
 public GameLogic(int i_BoardSize, bool i_isComputerPlayer)
 {
     m_boardSize = i_BoardSize;
     m_gameBoard = new Board(m_boardSize);
     m_isAgainstComputer = i_isComputerPlayer;
     GetPlayers();
     m_CurrentPlayer = m_Player1;
     m_OponentPlayer = m_Player2;
 }
Ejemplo n.º 2
0
 public void ChangeTurn()
 {
     Player SwapPlayer;
     m_OponentPlayer.CalculatePossibleMoves(m_gameBoard);
     if (m_OponentPlayer.HasMoves())
     {
         SwapPlayer = m_CurrentPlayer;
         m_CurrentPlayer = m_OponentPlayer;
         m_OponentPlayer = SwapPlayer;
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Set GraphicDevice display and rendering BasicEffect effect.  
 /// Create SpriteBatch, font, and font positions.
 /// Creates the traceViewport to display information and the sceneViewport
 /// to render the environment.
 /// Create and add all DrawableGameComponents and Cameras.
 /// First, add all required contest:  Inspector, Cameras, Terrain, Agents
 /// Second, add all optional (scene specific) content
 /// </summary>
 protected override void LoadContent()
 {
     display = graphics.GraphicsDevice;
       effect = new BasicEffect(display);
       // Set up Inspector display
       spriteBatch = new SpriteBatch(display);      // Create a new SpriteBatch
       inspectorFont = Content.Load<SpriteFont> ("Consolas");    // Windows XNA && MonoGames
       // viewports
       defaultViewport = GraphicsDevice.Viewport;
       inspectorViewport = defaultViewport;
       sceneViewport = defaultViewport;
       inspectorViewport.Height = InfoPaneSize * inspectorFont.LineSpacing;
       inspectorProjection = Matrix.CreatePerspectiveFieldOfView((float) Math.PI/4.0f,
      inspectorViewport.Width/inspectorViewport.Height, 1.0f, 200.0f);
       sceneViewport.Height = defaultViewport.Height - inspectorViewport.Height;
       sceneViewport.Y = inspectorViewport.Height;
       sceneProjection = Matrix.CreatePerspectiveFieldOfView((float) Math.PI/4.0f,
      sceneViewport.Width /sceneViewport.Height, 1.0f, 1000.0f);
       // create Inspector display
       Texture2D inspectorBackground = Content.Load<Texture2D>("inspectorBackground");
       inspector = new Inspector(display, inspectorViewport, inspectorFont, Color.Black, inspectorBackground);
       // create information display strings
       // help strings
       inspector.setInfo(0, "AGMGSKv7 -- Academic Graphics MonoGames/XNA Starter Kit for CSUN Comp 565 assignments.");
       inspector.setInfo(1, "Press keyboard for input (not case sensitive 'H' || 'h')");
       inspector.setInfo(2, "Inspector toggles:  'H' help or info   'M'  matrix or info   'I'  displays next info pane.");
       inspector.setInfo(3, "Arrow keys move the player in, out, left, or right.  'R' resets player to initial orientation.");
       inspector.setInfo(4, "Stage toggles:  'B' bounding spheres, 'C' || 'X' cameras, 'F' fog, 'T' updates, 'Y' yon");
       // initialize empty info strings
       for (int i = 5; i < 20; i++) inspector.setInfo(i, "  ");
       // set blending for bounding sphere drawing
       blending = new BlendState();
       blending.ColorSourceBlend = Blend.SourceAlpha;
       blending.ColorDestinationBlend = Blend.InverseSourceAlpha;
       blending.ColorBlendFunction = BlendFunction.Add;
       notBlending = new BlendState();
       notBlending = display.BlendState;
       // Create and add stage components
       // You must have a TopDownCamera, BoundingSphere3D, WayPoint3D, Terrain, and Agents (player, npAgent) in your stage!
       // Place objects at a position, provide rotation axis and rotation radians.
       // All location vectors are specified relative to the center of the stage.
       // Create a top-down "Whole stage" camera view, make it first camera in collection.
       topDownCamera = new Camera(this, Camera.CameraEnum.TopDownCamera);
       camera.Add(topDownCamera);
     // Set initial camera and projection matrix
     setCamera(0);  // select the first camera
       boundingSphere3D = Content.Load<Model>("boundingSphereV3");
       wayPoint3D = Content.Load<Model>("100x50x100Marker");				// model for navigation node display
       // Create required entities:
       collidable = new List<Object3D>();  // collection of objects to test for collisions
     terrain = new Terrain(this, "terrain", "heightTexture", "colorTexture");
       Components.Add(terrain);
       // Load Agent mesh objects, meshes do not have textures
       player = new Player(this, "Chaser",
      new Vector3(510 * spacing, terrain.surfaceHeight(510, 507), 507 * spacing),
      new Vector3(0, 1, 0), 0.78f, "redAvatarV6");  // face looking diagonally across stage
       player.IsCollidable = true; // test collisions for player
       Components.Add(player);
       npAgent = new NPAgent(this, "Evader",
      new Vector3(490 * spacing, terrain.surfaceHeight(490, 450), 450 * spacing),
      new Vector3(0, 1, 0), 0.0f, "magentaAvatarV6");  // facing +Z
     npAgent.IsCollidable = false;  // npAgent does not test for collisions
       Components.Add(npAgent);
     // create file output stream for trace()
     fout = new StreamWriter("trace.txt", false);
     Trace = string.Format("{0} trace output from AGMGSKv7", DateTime.Today.ToString("MMMM dd, yyyy"));
     //  ------ The wall and pack are required for Comp 565 projects, but not AGMGSK   ---------
     // create walls for navigation algorithms
     Wall wall = new Wall(this, "wall", "100x100x100Brick");
     Components.Add(wall);
     // create a pack for "flocking" algorithms
     // create a Pack of 6 dogs centered at (450, 500) that is leaderless
     Pack pack = new Pack(this, "dog", "dogV6", 6, 450, 430, null);
     Components.Add(pack);
       // ----------- OPTIONAL CONTENT HERE -----------------------
       // Load content for your project here
       // create a temple
       Model3D m3d = new Model3D(this, "temple", "templeV3");
       m3d.IsCollidable = true;  // must be set before addObject(...) and Model3D doesn't set it
       m3d.addObject(new Vector3(340 * spacing, terrain.surfaceHeight(340, 340), 340 * spacing),
      new Vector3(0, 1, 0), 0.79f); // , new Vector3(1, 4, 1));
       Components.Add(m3d);
       Model3D treasure = new Model3D(this, "treasure", "treasure2");
       treasure.IsCollidable = true;  // must be set before addObject(...) and Model3D doesn't set it
       treasure.addObject(new Vector3(67050,100,67950),
      new Vector3(0, 1, 0), 0.0f, new Vector3(10,10,10)); // , new Vector3(1, 4, 1));
       Components.Add(treasure);
     // create 20 clouds
     Cloud cloud = new Cloud(this, "cloud", "cloudV3", 20);
     Components.Add(cloud);
     Trace = string.Format("Scene created with {0} collidable objects.", Collidable.Count);
 }
Ejemplo n.º 4
0
 public void GetPlayers()
 {
     m_Player1 = new Player(1, m_isAgainstComputer);
     m_Player2 = new Player(2, m_isAgainstComputer);
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            // Add player to game
            thePlayer = new Player(this, playerstart);
            Components.Add(thePlayer);

            // Set values for countdowns (subject to change)
            bombCountdown = 50;
            missileCountdown = 50;

            // Set values for keys (subject to change)
            missileButton = Keys.Space;
            bombButton = Keys.LeftShift;

            base.Initialize();
        }