コード例 #1
0
ファイル: Program.cs プロジェクト: ronnieholm/Playground
    public static void Main()
    {
        var circle    = new Shape.Circle(5);
        var rectangle = new Shape.Rectangle(4, 8);
        var a1        = Shape.Area(circle);
        var a2        = Shape.Area(rectangle);

        Console.WriteLine(a1);
        Console.WriteLine(a2);
    }
コード例 #2
0
        public void DeserializeUnionWithFields()
        {
            Shape c = JsonConvert.DeserializeObject <Shape>(@"{""Case"":""Rectangle"",""Fields"":[10.0,5.0]}");

            Assert.AreEqual(true, c.IsRectangle);

            Shape.Rectangle r = (Shape.Rectangle)c;

            Assert.AreEqual(5.0, r.length);
            Assert.AreEqual(10.0, r.width);
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: SIRprise/neon2d
        public override void onUpdate()
        {
            checkInput();

            if (movingup)
            {
                imagey--;
            }

            string imagepath = Environment.CurrentDirectory + @"\..\..\res\demoimage.png"; //this is /bin/Debug/ btw
            Prop   demoimage = new Prop(new Bitmap(imagepath), 150, 150);

            scene.render(demoimage, 0, imagey);

            Rect rect1 = new Rect(0, 0, 60, 60);
            Rect rect2 = new Rect(10, 10, 40, 40);

            if (rect1.intersects(rect2))
            {
                //Console.WriteLine("intersecting!");
            }

            Shape.Triangle  tri  = new Shape.Triangle(50, 50, false);
            Shape.Rectangle rect = new Shape.Rectangle(45, 80, true);
            Shape.Ellipse   ell  = new Shape.Ellipse(30, 50);
            Shape.Line      li   = new Shape.Line(600, 400, 650, 350);

            scene.render(tri, 100, 100, 2, Brushes.Blue);
            scene.render(rect, 300, 300, 1, Brushes.Green);
            scene.render(ell, 50, 50, 3, Brushes.Red);
            scene.render(li, 4, Brushes.Yellow);

            int mx = scene.getMouseX();
            int my = scene.getMouseY();

            scene.render(mx.ToString(), 0, 0);
            scene.render(my.ToString(), 0, 10);
            scene.render("Vector result: " + vector.ToString(), 200, 100);

            //THIS CODE DEMOS BACKGROUNDS
            //BUT ALSO MAKES THE WINDOW MORE CLUTTERED (BAD FOR THE DEMO)
            //scene.renderBackground(demoimage, true);

            particles.addParticle(particleProp);
            particles.addParticle(particleProp2);

            particles.step();
            scene.render(particles, 400, 300);
        }
コード例 #4
0
        public void SerializeUnionWithConverter()
        {
            string json = JsonConvert.SerializeObject(Shape.NewRectangle(10.0, 5.0), new DoubleDoubleConverter());

            Assert.AreEqual(@"{""Case"":""Rectangle"",""Fields"":[20.0,10.0]}", json);

            Shape c = JsonConvert.DeserializeObject <Shape>(json, new DoubleDoubleConverter());

            Assert.AreEqual(true, c.IsRectangle);

            Shape.Rectangle r = (Shape.Rectangle)c;

            Assert.AreEqual(5.0, r.length);
            Assert.AreEqual(10.0, r.width);
        }
コード例 #5
0
        public void Deserialize()
        {
            Union union = CreateUnion(typeof(Shape.Rectangle));

            UnionCase caseInfo = union.Cases.Single(c => c.Name == "Rectangle");

            Shape.Rectangle value = (Shape.Rectangle)caseInfo.Constructor.Invoke(new object[]
            {
                10.0, 5.0
            });

            Assert.AreEqual("Newtonsoft.Json.Tests.TestObjects.GeometricForms.Shape+Rectangle", value.ToString());
            Assert.AreEqual(10, value.width);
            Assert.AreEqual(5, value.length);
        }
コード例 #6
0
        public void Deserialize()
        {
            Union union = CreateUnion(typeof(Shape.Rectangle));

            UnionCase caseInfo = union.Cases.Single(c => c.Name == "Rectangle");

            Shape.Rectangle value = (Shape.Rectangle)caseInfo.Constructor.Invoke(new object[]
            {
                10.0, 5.0
            });

            Console.WriteLine(value.ToString());

            Console.WriteLine(value.width);
            Console.WriteLine(value.length);
        }
コード例 #7
0
        public void SerializeUnionWithTypeNameHandlingAndReferenceTracking()
        {
            string json = JsonConvert.SerializeObject(Shape.NewRectangle(10.0, 5.0), new JsonSerializerSettings
            {
                PreserveReferencesHandling = PreserveReferencesHandling.All,
                TypeNameHandling           = TypeNameHandling.All
            });

            Assert.AreEqual(@"{""Case"":""Rectangle"",""Fields"":[10.0,5.0]}", json);

            Shape c = JsonConvert.DeserializeObject <Shape>(json);

            Assert.AreEqual(true, c.IsRectangle);

            Shape.Rectangle r = (Shape.Rectangle)c;

            Assert.AreEqual(5.0, r.length);
            Assert.AreEqual(10.0, r.width);
        }
コード例 #8
0
ファイル: Game.cs プロジェクト: NynrahGhost/Decadence
        public Game()
        {
            Image tip = new Image.Rectangle(new Shader.RichText(new string[] {
                "/cPress _space_ to stop and resume continious walking.",
                "When it's stopped, press any movement or controll buttons to walk one frame.",
                "/cPress _esc_ to leave test."
            }, new Color8(255, 255, 255)), new Vector2d16(76, 3), 126);

            hud = new IRenderable[]
            {
                new VisualObject(new Vector2d16(Config.screenWidth / 2 - 33, Config.screenHeight / 5 * 4), tip) //new Vector2d16(Config.screenWidth / 2, Config.screenHeight / 5 * 4)
            };

            Shader plainShader = new Shader.Plain(new Color8(0, 0, 0), new Color8(0, 0, 0), ' ');
            Image  plainImage  = new Image.Rectangle(plainShader, new Vector2d16(600, 300), 0);

            Shader gradientShader = new Shader.Gradient(new Color8(255, 0, 0), new Color8(255, 255, 255), new Color8(255, 0, 0), new Color8(0, 0, 255), ' ');
            Image  gradientImage  = new Image.Rectangle(gradientShader, new Vector2d16(20, 10));

            Shader characterShader     = new Shader.TextureSymbol(ResourceLoader.LoadResource <Atlas16>(@"Textures\Textures_test.txt"), new Vector2d32(0, 95), new Vector2d32(2, 97));
            Shader buildingSmallShader = new Shader.TextureSymbol(ResourceLoader.LoadResource <Atlas16>(@"Textures\Textures_test.txt"), new Vector2d32(0, 42), new Vector2d32(33, 60));
            Shader buildingBigShader   = new Shader.TextureSymbol(ResourceLoader.LoadResource <Atlas16>(@"Textures\Textures_test.txt"), new Vector2d32(0, 63), new Vector2d32(58, 81));
            Shader truckShader         = new Shader.TextureSymbol(ResourceLoader.LoadResource <Atlas16>(@"Textures\Textures_test.txt"), new Vector2d32(0, 30), new Vector2d32(15, 39));

            Image characterImage     = new Image.Rectangle(characterShader, new Vector2d16(3, 3), 128);
            Image buildingSmallImage = new Image.Rectangle(buildingSmallShader, new Vector2d16(33, 20), 127);
            Image buildingBigImage   = new Image.Rectangle(buildingBigShader, new Vector2d16(81, 20), 127);
            Image truckImage         = new Image.Rectangle(truckShader, new Vector2d16(15, 10), 127);

            //Shader earthShader = new Shader.TextureBackground(ResourceLoader.LoadResource<AtlasPNG>(@"Textures\earth.png"), new Vector2d32(0, 0), new Vector2d32(15, 15));
            //Image earthImage = new Image.Rectangle(earthShader, new Vector2d16(30, 15), 126);

            Shape circle = new Shape.Circle(1);
            Shape border = new Shape.Rectangle(new Vector2d16(31, 15));

            /*Shape carBorder = new Shape.Polygon(
             *  new Vector2d16(6,6),
             *  new Vector2d16(12,0),
             *  new Vector2d16(-4,2),
             *  //new Vector2d16(-2, 2),
             *  new Vector2d16(2,6)
             * );*/

            Shape carBorder = new Shape.Polygon(
                new Vector2d16(0, 7),
                new Vector2d16(0, 9),
                new Vector2d16(8, 9),

                new Vector2d16(6, 0),
                new Vector2d16(14, 0),
                new Vector2d16(14, 3)
                );

            PhysicalObject character = new PhysicalObject(new Vector2d16(98, 16), circle, characterImage);

            var tmp = new GameObject[]
            {
                //new VisualObject(new Vector2d16(-100, -50), plainImage),
                //new PhysicalObject(new Vector2d16(50,10), circle, gradientImage),

                new TactileObject(new Vector2d16(70, 13), border),
                new TactileObject(new Vector2d16(109, 13), border),
                new TactileObject(new Vector2d16(134, 13), border),
                //new TactileObject(new Vector2d16(50,70), border),

                new TactileObject(new Vector2d16(40, 20), carBorder),

                new VisualObject(new Vector2d16(40, 0), buildingSmallImage),
                new VisualObject(new Vector2d16(80, 0), buildingBigImage),
                new VisualObject(new Vector2d16(24, 14), truckImage),

                new PhysicalObject(new Vector2d16(98, 16), circle, characterImage)
                //new PhysicalObject(new Vector2d16(98, 16), circle, characterImage),
            };

            //Console.WriteLine(s.Value);
            events.Add(new Animation(hud[0]).
                       SetProperties((object x, object y) => { ((GameObject)x).Position = (Vector2d16)y; }).
                       AddFrame(new Vector2d16(20, 24)).
                       AddFrame(new Vector2d16(40, 24)).
                       AddFrame(new Vector2d16(40, 30)).
                       AddFrame(new Vector2d16(20, 30)).
                       AddFrame(new Vector2d16(20, 24)).
                       AddFunctions(Animation.square).
                       AddFunctions(Animation.square).
                       AddFunctions(Animation.square).
                       AddFunctions(Animation.square).
                       AddFunctions(Animation.square).
                       AddTimespan(1).
                       AddTimespan(2).
                       AddTimespan(3).
                       AddTimespan(4).
                       AddTimespan(4).
                       SetActive(true));

            events.Add(new Animation(tmp[7]).
                       SetProperties((object x, object y) => { ((GameObject)x).Position = (Vector2d16)y; }).
                       AddFrame(new Vector2d16(98, 20)).
                       AddFrame(new Vector2d16(40, 20)).
                       AddFrame(new Vector2d16(40, 20)).
                       AddFrame(new Vector2d16(98, 20)).
                       AddFrame(new Vector2d16(98, 20)).
                       AddFunctions(Animation.liniar).
                       AddFunctions(Animation.liniar).
                       AddFunctions(Animation.liniar).
                       AddFunctions(Animation.liniar).
                       AddFunctions(Animation.liniar).
                       AddTimespan(2).
                       AddTimespan(4).
                       AddTimespan(6).
                       AddTimespan(8).
                       AddTimespan(8).
                       SetActive(true));

            map  = new Map("Test", new Vector2d16(2000, 1000), 1, tmp);
            hero = new KinematicObject(new Vector2d16(Config.screenWidth / 2, Config.screenHeight / 2), circle, characterImage);
            Renderer.SetObjects(map.GetVisuals());
        }