Ejemplo n.º 1
0
        public SceneBattle(ContentManager content, GraphicsDevice graphicsDevice)
        {
            whitekeys.Add(Keys.T);
            whitekeys.Add(Keys.G);
            whitekeys.Add(Keys.F);
            whitekeys.Add(Keys.H);
            whitekeys.Add(Keys.O);
            whitekeys.Add(Keys.P);

            blackkeys.Add(Keys.Up);
            blackkeys.Add(Keys.Down);
            blackkeys.Add(Keys.Left);
            blackkeys.Add(Keys.Right);
            blackkeys.Add(Keys.NumPad5);
            blackkeys.Add(Keys.NumPad6);

            white = new WhiteModel(content.Load<Model>(@"Models\Fighter"), whitekeys, new Vector3(-25, 0, 0), new Vector3(0, MathHelper.PiOver2, 0), new Vector3(0.05f));
            black = new BlackModel(content.Load<Model>(@"Models\Cleric"), blackkeys, new Vector3(25, 0, 0), new Vector3(0, -MathHelper.PiOver2, 0), new Vector3(0.06f));

            camera = new PerspectiveCamera();
            ((PerspectiveCamera)camera).Initialize(
                cameraPosition,
                new Vector3(0, 0, 0),
                Vector3.Up,
                MathHelper.PiOver4,
                (float)Util.screenWidth /
                (float)Util.screenHeight,
                1, 10000);

            landscape = new Model3D(@"Models/scene_e", content, Matrix.Identity, new Vector3(70, 4.3f, 70));
        }
Ejemplo n.º 2
0
        public SceneChessBoard(ContentManager content, GraphicsDevice graphicsDevice)
        {
            //Get the current presentation parameters
            var pp = graphicsDevice.PresentationParameters;
            //Create our new render target
            mainRenderTarget = new RenderTarget2D(graphicsDevice,
                                 pp.BackBufferWidth, //Same width as backbuffer
                                 pp.BackBufferHeight, //Same height
                                 false, //No mip-mapping
                                 pp.BackBufferFormat, //Same colour format
                                 pp.DepthStencilFormat); //Same depth stencil

            camera = new PerspectiveCamera();
            float t = Util.cellWidthSpace;
            ((PerspectiveCamera)camera).Initialize(
                new Vector3(-t * 4, 20, t * 4),
                new Vector3(t * 4, 0, t * 4),
                Vector3.Up,
                MathHelper.PiOver4,
                (float)Util.screenWidth /
                (float)Util.screenHeight,
                1, 1000);

            Vector3 rotation = Vector3.Zero;
            float scale = Util.chessPieceScale;

            for (int i = 0; i < 64; ++i)
            {
                int nk = _sampleBoard[i];
                switch (Math.Abs(nk))
                {
                    case 0:
                        pieces[i] = null;
                        break;
                    case 1:
                        pieces[i] = new Pawn(nk > 0, content, rotation, scale, i % 8, i / 8);
                        break;
                    case 2:
                        pieces[i] = new Rook(nk > 0, content, rotation, scale, i % 8, i / 8);
                        break;
                    case 3:
                        pieces[i] = new Knight(nk > 0, content, rotation, scale, i % 8, i / 8);
                        break;
                    case 4:
                        pieces[i] = new Bishop(nk > 0, content, rotation, scale, i % 8, i / 8);
                        break;
                    case 5:
                        pieces[i] = new Queen(nk > 0, content, rotation, scale, i % 8, i / 8);
                        break;
                    case 6:
                        pieces[i] = new King(nk > 0, content, rotation, scale, i % 8, i / 8);
                        break;
                }
            }

            board = new ChessBoard(@"Terrains/BoardGray128", content, Matrix.CreateScale(Util.boardScale));
            circlePos = new PlanarObject(content, @"Terrains/circlePos", 2);
            circleHover = new PlanarObject(content, @"Terrains/circleHover", 2);
            circleDie = new PlanarObject(content, @"Terrains/circleDie", 2);
            circleSpecial = new PlanarObject(content, @"Terrains/circleSpecial", 2);
            circleSelect = new PlanarObject(content, @"Terrains/circleSelect", 2);
            circleCheck = new PlanarObject(content, @"Terrains/circleCheck", 2);

            avatarW = content.Load<Texture2D>(@"Images/Avatar/avatarW");
            avatarB = content.Load<Texture2D>(@"Images/Avatar/avatarB");
            avatarBorder = content.Load<Texture2D>(@"Images/Avatar/avatarBorder");

            surrender = new FrameButton(content, "Surrender", FrameButton.MyButtonAlignment.Left, new Rectangle(360, avatarMargin, 960, 340));
            back = new FrameButton(content, "Back", FrameButton.MyButtonAlignment.Left, new Rectangle(600, avatarMargin, 960, 340));

            landscape = new Model3D(@"Models/scene_e", content, Matrix.Identity, new Vector3(7.2f, 0.8f, 4.8f * 3));
        }