Ignore:
Timestamp:
2011-06-15 14:55:49 (9 years ago)
Author:
vievkang
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/24/VilmaK/Magneetti/Magneetti/Magneetti/Peli.cs

    r1987 r2021  
    1010{ 
    1111    PhysicsObject Magneetti; 
     12    PhysicsObject JattiMagneetti; 
    1213    Image hahmo = LoadImage("örkki"); 
    13     PhysicsObject Risti; 
     14    GameObject Risti; 
    1415    Image liikuttaja = LoadImage("risti"); 
    1516 
     
    1819    public override void Begin() 
    1920    { 
    20         LuoMagneetti(); 
    2121        LuoRisti(); 
    2222        AsetaOhjaimet(); 
     23        LuoKentta(); 
     24        Level.CreateBorders(); 
    2325        // TODO: Kirjoita ohjelmakoodisi tähän 
    2426    } 
    2527 
    26     void LuoMagneetti() 
     28 
     29 
     30    void LuoKentta() 
    2731    { 
    28         Magneetti = new PhysicsObject(50, 50); 
     32        TileMap ruudut = TileMap.FromFile("kentta.txt"); 
     33        ruudut.SetTileMethod('x', LuoPalikka); 
     34        ruudut.SetTileMethod('p', LuoPuu); 
     35        ruudut.SetTileMethod('o', LuoMaali); 
     36        ruudut.SetTileMethod('j', LuoJarvi); 
     37        ruudut.SetTileMethod('k', LuoKukka); 
     38        ruudut.SetTileMethod('$', LuoMagneetti); 
     39        ruudut.SetTileMethod('r', LuoRanta); 
     40        ruudut.SetTileMethod('M', LuoJattiMagneetti); 
     41        ruudut.Execute(50, 50); 
     42    } 
     43 
     44    void LuoPalikka(Vector paikka, double leveys, double korkeus) 
     45    { 
     46        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     47        palikka.Position = paikka; 
     48 
     49        palikka.Color = Color.Orange; 
     50        Add(palikka); 
     51 
     52    } 
     53 
     54    void LuoPuu(Vector paikka, double leveys, double korkeus) 
     55    { 
     56        GameObject puu =  new GameObject(leveys, korkeus); 
     57        puu.Image = LoadImage("puu"); 
     58        puu.Position = paikka; 
     59 
     60        Add(puu); 
     61    } 
     62 
     63    void LuoMaali( Vector paikka, double leveys, double korkeus) 
     64    { 
     65        GameObject maali = new GameObject(leveys, korkeus); 
     66        maali.Image = LoadImage("maali"); 
     67        maali.Position = paikka; 
     68        Add(maali); 
     69 
     70    } 
     71 
     72    void LuoJarvi(Vector paikka, double leveys, double korkeus) 
     73    { 
     74        GameObject jarvi = new GameObject(leveys*8, korkeus); 
     75        jarvi.Image = LoadImage ("järvi"); 
     76        jarvi.Position = new Vector(paikka.X + jarvi.Width /2 - leveys/2, paikka.Y); 
     77        Add (jarvi); 
     78    } 
     79 
     80    void LuoKukka( Vector paikka, double leveys, double korkeus) 
     81    { 
     82        GameObject kukka = new GameObject (leveys, korkeus); 
     83        kukka.Image = LoadImage("kukka"); 
     84        kukka.Position = paikka; 
     85        Add(kukka); 
     86    } 
     87 
     88    void LuoMagneetti (Vector paikka, double leveys, double korkeus) 
     89    { 
     90        Magneetti = new PhysicsObject(25, 25); 
    2991        Magneetti.Shape = Shape.Circle; 
     92        Magneetti.Position = paikka; 
    3093        Magneetti.Image = hahmo; 
     94        Magneetti.CanRotate = false; 
     95        Magneetti.Restitution = 0.25; 
    3196        Add(Magneetti); 
     97 
     98    } 
     99 
     100    void LuoRanta( Vector paikka, double leveys, double korkeus) 
     101    { 
     102        GameObject Ranta = new GameObject(3*leveys, korkeus); 
     103        Ranta.Image = LoadImage("beach"); 
     104        Ranta.Position = new Vector(paikka.X + Ranta.Width /1.5 - leveys/2, paikka.Y); 
     105        Add(Ranta); 
     106 
    32107    } 
    33108 
    34109 
     110    void LuoJattiMagneetti(Vector paikka, double leveys, double korkeus) 
     111    { 
     112      JattiMagneetti = PhysicsObject.CreateStaticObject (50, 50);      
     113      JattiMagneetti.Image = LoadImage ( "jättimagneetti"); 
     114      JattiMagneetti.Position = paikka; 
     115 
     116      Add (JattiMagneetti); 
     117       
     118    } 
     119 
    35120    void LuoRisti() 
    36121    { 
    37         Risti = new PhysicsObject(200, 200); 
     122        Risti = new GameObject(200, 200); 
    38123        Risti.Shape = Shape.Circle; 
    39124        Risti.Image = liikuttaja; 
    40         Add(Risti); 
     125        Add(Risti, 1); 
    41126 
    42127    } 
     
    49134    void KuunteleLiiketta(AnalogState hiirentila) 
    50135    { 
    51         Vector PaikkaRuudulla = Mouse.PositionOnWorld; 
    52136        Risti.X = Mouse.PositionOnWorld.X; 
    53137        Risti.Y = Mouse.PositionOnWorld.Y; 
     
    56140    protected override void Update(Time time) 
    57141    { 
    58         Vector v = (Magneetti.Position - Risti.Position).Normalize(); 
    59         MessageDisplay.Add(v.X + " " + v.Y); 
    60         Magneetti.Push((Magneetti.Position - Risti.Position)*0.01); 
     142        Vector v = Magneetti.Position - Risti.Position; 
     143        // MessageDisplay.Add(v.X + " " + v.Y); 
     144        Magneetti.Push(1500/v.Magnitude * v.Normalize()); 
     145 
     146        Vector z = JattiMagneetti.Position - Magneetti.Position; 
     147        Magneetti.Push (1500 / z.Magnitude * z.Normalize()); 
     148 
    61149        base.Update(time); 
    62150    } 
Note: See TracChangeset for help on using the changeset viewer.