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