Changeset 7482 for 2016/25


Ignore:
Timestamp:
2016-06-22 09:54:27 (7 years ago)
Author:
tesatapa
Message:
 
Location:
2016/25/TeroP
Files:
60 added
6 edited

Legend:

Unmodified
Added
Removed
  • 2016/25/TeroP/Pong/Pong/Pong/Pong.cs

    r7450 r7482  
    99public class Pong : PhysicsGame 
    1010{ 
     11    PhysicsObject pelaaja; 
    1112    public override void Begin() 
    1213    { 
    13         // TODO: Kirjoita ohjelmakoodisi tähän 
    14         PhysicsObject pallo = new PhysicsObject(50, 50); 
    15         pallo.Shape = Shape.Circle; 
    16         pallo.Color = Color.Gold; 
    17         Add(pallo); 
    18        // pallo.Color = Color.Red; 
     14        //bit.ly/pelikurssi 
     15 
     16        LuoMontaPalloa(); 
     17        pelaaja = LuoPallo(0, 0, Shape.Triangle, Color.Emerald); 
     18        pelaaja.Width = 100; 
     19        pelaaja.MakeStatic(); 
     20        pelaaja.IgnoresGravity = true; 
     21 
     22 
     23        AddCollisionHandler(pelaaja, "pallo", SyoPallo); 
     24        AddCollisionHandler(pelaaja, "pieni", CollisionHandler.DestroyTarget); 
     25        Mouse.ListenMovement(0.01, HiiriLiikkuu, "Seurataan hiiren liikettä, jotta kolmiota voi liikuttaa"); 
     26 
     27        // pallo.Color = Color.Red; 
    1928        Level.Background.CreateGradient(Color.Black, Color.Blue); 
     29 
     30        Gravity = new Vector(0, -500); 
     31 
     32        Level.CreateBorders(); 
    2033 
    2134        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    2235        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    2336    } 
     37 
     38 
     39    void AliohjelmanNimi() 
     40    { 
     41 
     42    } 
     43 
     44 
     45    void SyoPallo(PhysicsObject pelaajaHahmo, PhysicsObject kohde) 
     46    { 
     47        PhysicsObject pieni = LuoPallo(kohde.X + 25, kohde.Y, kohde.Shape, kohde.Color); 
     48        pieni.Width = kohde.Width / 3.0; 
     49        pieni.Height = kohde.Height / 3.0; 
     50        pieni.Tag = "pieni"; 
     51 
     52        PhysicsObject pieni2 = LuoPallo(kohde.X + 25, kohde.Y + 25, kohde.Shape, kohde.Color); 
     53        pieni2.Width = kohde.Width / 3.0; 
     54        pieni2.Height = kohde.Height / 3.0; 
     55        pieni2.Tag = "pieni"; 
     56 
     57        PhysicsObject pieni3 = LuoPallo(kohde.X, kohde.Y + 25, kohde.Shape, kohde.Color); 
     58        pieni3.Width = kohde.Width / 3.0; 
     59        pieni3.Height = kohde.Height / 3.0; 
     60        pieni3.Tag = "pieni"; 
     61 
     62        kohde.Destroy(); 
     63         
     64    } 
     65 
     66    void HiiriLiikkuu(AnalogState muutos) 
     67    { 
     68        pelaaja.Position = Mouse.PositionOnWorld; 
     69    } 
     70 
     71    PhysicsObject LuoPallo(double x, double y, Shape muoto, Color vari) 
     72    { 
     73        PhysicsObject pallo = new PhysicsObject(50, 50); 
     74        pallo.Shape = muoto; 
     75        pallo.X = x; 
     76        pallo.Y = y; 
     77        pallo.Color = vari; 
     78        pallo.Tag = "pallo"; 
     79        Add(pallo); 
     80        return pallo; 
     81    } 
     82 
     83    void LuoMontaPalloa() 
     84    { 
     85 
     86        for (int i = 0; i < 100; i++) 
     87        { 
     88            double x = RandomGen.NextDouble(Level.Left, Level.Right); 
     89            double y = RandomGen.NextDouble(Level.Bottom, Level.Top); 
     90            LuoPallo(x, y, RandomGen.SelectOne(Shape.Heart, Shape.Octagon, Shape.Hexagon, Shape.Pentagon, Shape.Star), RandomGen.NextColor()); 
     91        } 
     92        
     93        
     94    } 
    2495} 
Note: See TracChangeset for help on using the changeset viewer.