Ignore:
Timestamp:
2017-07-27 14:53:41 (23 months ago)
Author:
otosjahn
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/utsjoki/ÁndeN/msPaint/msPaint/msPaint/msPaint.cs

    r9133 r9176  
    1313    Image taustaKuva = LoadImage("tausta"); 
    1414 
    15     Vector nopeusYlos = new Vector(0, 7500); 
    16     Vector nopeusAlas = new Vector(0, -7500); 
    17     Vector nopeusVasen = new Vector(-7500, 0); 
    18     Vector nopeusOikea = new Vector(7500, 0); 
     15    Vector nopeusYlos = new Vector(0, 250); 
     16    Vector nopeusAlas = new Vector(0, -250); 
     17    Vector nopeusVasen = new Vector(-250, 0); 
     18    Vector nopeusOikea = new Vector(250, 0); 
    1919 
    2020    PhysicsObject pelaaja1; 
     
    2323    PhysicsObject vasenReuna; 
    2424    PhysicsObject oikeaReuna; 
    25     PhysicsObject ylaReuna; 
     25    PhysicsObject yläReuna; 
    2626    PhysicsObject alaReuna; 
    2727     
     
    4949        kentta.Execute(50, 50); 
    5050 
    51         pelaaja1 = LuoPelaaja1(Level.Left + 20.0, 0.0); 
    52         pelaaja2 = LuoPelaaja2(Level.Right - 20.0, 0.0); 
     51        pelaaja1 = LuoPelaaja1(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Bottom, Level.Top)); 
     52        pelaaja2 = LuoPelaaja2(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Bottom, Level.Top)); 
    5353 
    5454        vasenReuna = Level.CreateLeftBorder(); 
     55        vasenReuna.Tag = "vasen"; 
    5556        vasenReuna.IsVisible = false; 
    5657 
    5758        oikeaReuna = Level.CreateRightBorder(); 
     59        oikeaReuna.Tag = "oikea"; 
    5860        oikeaReuna.IsVisible = false; 
    5961 
    60         ylaReuna = Level.CreateTopBorder(); 
    61         ylaReuna.IsVisible = false; 
     62        yläReuna = Level.CreateTopBorder(); 
     63        yläReuna.Tag = "ylä"; 
     64        yläReuna.IsVisible = false; 
    6265 
    6366        alaReuna = Level.CreateBottomBorder(); 
     67        alaReuna.Tag = "ala"; 
    6468        alaReuna.IsVisible = false; 
    6569 
    6670        Level.Background.Image = taustaKuva; 
    6771        Level.Background.TileToLevel(); 
     72 
     73         
    6874 
    6975        Camera.ZoomToLevel(); 
     
    7682        pelaaja1.X = x; 
    7783        pelaaja1.Y = y; 
    78         pelaaja1.LinearDamping = 0.4; 
     84        //pelaaja1.LinearDamping = 0.4; 
    7985        Add(pelaaja1); 
    8086        pelaaja1.Image = LoadImage("pelaaja1"); 
    8187        pelaaja1.CanRotate = false; 
    82          
     88        AddCollisionHandler(pelaaja1, "vasen", osuuVasempaan); 
     89        AddCollisionHandler(pelaaja1, "oikea", osuuOikeaan); 
     90        AddCollisionHandler(pelaaja1, "ylä", osuuYlös); 
     91        AddCollisionHandler(pelaaja1, "ala", osuuAlas); 
     92 
    8393 
    8494        Timer ajastin = new Timer(); 
    85         ajastin.Interval = 0.1; 
     95        ajastin.Interval = 0.01; 
    8696        ajastin.Timeout += delegate { Maalaa(pelaaja1); }; 
    8797        ajastin.Start(); 
    8898 
    8999        return pelaaja1; 
     100    } 
     101 
     102    void osuuVasempaan(PhysicsObject pelaaja, PhysicsObject seinä) 
     103    { 
     104        pelaaja.X = oikeaReuna.Left - 50; 
     105    } 
     106 
     107    void osuuOikeaan(PhysicsObject pelaaja, PhysicsObject seinä) 
     108    { 
     109        pelaaja.X = vasenReuna.Right + 50; 
     110    } 
     111 
     112    void osuuYlös(PhysicsObject pelaaja, PhysicsObject seinä) 
     113    { 
     114        pelaaja.Y = alaReuna.Top + 70; 
     115    } 
     116 
     117    void osuuAlas(PhysicsObject pelaaja, PhysicsObject seinä) 
     118    { 
     119        pelaaja.Y = yläReuna.Bottom - 70; 
    90120    } 
    91121 
     
    96126        pelaaja2.X = x; 
    97127        pelaaja2.Y = y; 
    98         pelaaja2.LinearDamping = 0.4; 
     128        //pelaaja2.LinearDamping = 0.4; 
    99129        Add(pelaaja2); 
    100130        pelaaja2.Image = LoadImage("pelaaja2"); 
    101131        pelaaja2.CanRotate = false; 
     132        AddCollisionHandler(pelaaja2, "vasen", osuuVasempaan); 
     133        AddCollisionHandler(pelaaja2, "oikea", osuuOikeaan); 
     134        AddCollisionHandler(pelaaja2, "ylä", osuuYlös); 
     135        AddCollisionHandler(pelaaja2, "ala", osuuAlas); 
    102136 
    103137        Timer ajastin = new Timer(); 
    104         ajastin.Interval = 0.1; 
     138        ajastin.Interval = 0.01; 
    105139        ajastin.Timeout += delegate { Maalaa(pelaaja2); }; 
    106140        ajastin.Start(); 
     
    111145    void Maalaa(PhysicsObject pelaaja) 
    112146    { 
    113         GameObject ruutu = GetObjectAt(pelaaja.Position); 
    114         ruutu.Angle = pelaaja.Angle; 
     147        GameObject ruutu = GetObjectAt(pelaaja.Position+(pelaaja.Angle + Angle.FromDegrees(90)).GetVector()*-50); 
    115148         
    116149        if(pelaaja==pelaaja1) 
     
    143176    void AsetaNopeus(PhysicsObject pelaaja, Vector nopeus, Angle kulma) 
    144177    { 
    145         pelaaja.Push(nopeus); 
     178        //pelaaja.Push(nopeus); 
     179        pelaaja.Velocity = nopeus; 
    146180        pelaaja.Angle = kulma; 
    147181    } 
Note: See TracChangeset for help on using the changeset viewer.