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)); }
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)); }