source: 2009/arho_m/FysiikkaPeli1Test/Peli.cs @ 8789

Revision 251, 2.7 KB checked in by armahlam, 11 years ago (diff)
Line 
1#region Usings
2using System;
3using System.Collections.Generic;
4using System.Linq;
5using Microsoft.Xna.Framework;
6using Microsoft.Xna.Framework.Audio;
7using Microsoft.Xna.Framework.Content;
8using Microsoft.Xna.Framework.Graphics;
9using Microsoft.Xna.Framework.Input;
10using Microsoft.Xna.Framework.Media;
11using Jypeli;
12using Jypeli.ScreenObjects;
13using Jypeli.Assets;
14using AdvanceMath;
15using Physics2DDotNet;
16using Physics2DDotNet.Shapes;
17#endregion
18
19namespace FysiikkaPeli1Test
20{
21    public class Peli : PhysicsGame
22    {
23        protected override void LoadContent()
24        {
25            TeePallot(10.0, 1500);
26            TeeLumiUkko(50.0, 0.0, 0.0);
27            Level.BackgroundColor = Color.Black;
28            Tulosta5(123);
29        }
30
31        void Tulosta5(int num)
32        {
33            MessageDisplay.TextColor = Color.Cyan;
34            MessageDisplay.Add("NUMERO " + num);
35        }
36
37        void LuoLumiUkonPallo(double size, double x, double y)
38        {
39            IShape sh = Shapes.CreateCircle(size * 2);
40            PhysicsObject po = new PhysicsObject(10.0, sh);
41            po.X = x;
42            po.Y = y;
43            po.Color = Color.White;
44            po.IgnoresCollisionResponse = true;
45            po.IgnoresPhysicsLogics = true;
46            Level.Objects.Add(po);
47        }
48
49        void TeeLumiUkko(double size, double x, double y)
50        {
51            int i;
52            for (i = 0; i < 3; i++)
53            {
54                double cur_size = size/i;
55                double cur_y = y - size*4;
56                LuoLumiUkonPallo(cur_size, x, cur_y);
57            }
58
59            return;
60        }
61
62        void TeePallot(double size, int pallojenmaara)
63        {
64            for (int i = 0; i < pallojenmaara; i++)
65            {
66                IShape sh = Shapes.CreateCircle(size);
67                PhysicsObject po = new PhysicsObject(10.0, sh);
68
69                po.IgnoresPhysicsLogics = true;
70                po.IgnoresCollisionResponse = true;
71
72                po.X = RandomGen.NextDouble(Level.Left, Level.Right);
73                po.Y = RandomGen.NextDouble(Level.Top, Level.Bottom);
74
75                if (po.X < 0)
76                {
77                    if (po.Y < 0)
78                        po.Color = Color.Red;
79                    else
80                        po.Color = Color.Yellow;
81                }
82                else
83                {
84                    if (po.Y < 0)
85                        po.Color = RandomGen.NextColor(Color.Black, Color.White);
86                    else
87                        po.Color = RandomGen.NextColor();
88                }
89
90                Level.Objects.Add(po);
91            }
92        }
93    }
94}
Note: See TracBrowser for help on using the repository browser.