Ignore:
Timestamp:
2017-07-04 14:57:28 (2 years ago)
Author:
npo17_47
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/27/OttoK/1v1MeBitch/1v1MeBitch/_1v1MeBitch/_1v1MeBitch.cs

    r8839 r8889  
    77using Jypeli.Widgets; 
    88 
    9 public class Tikas : PhysicsObject 
    10 { 
    11     public Tikas(double leveys, double korkeus) : base(leveys, korkeus) 
    12     { 
    13     } 
    14  
    15     public Vector AloitusPaikka; 
    16 } 
    17  
    18 class Pelaaja: PlatformCharacter 
    19 { 
    20     private IntMeter elamaLaskuri = new IntMeter(8, 0, 8 ); 
    21     public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
    22  
    23     public Pelaaja(double leveys, double korkeus) 
    24         : base(leveys, korkeus) 
    25     { 
    26         elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
    27     } 
    28 } 
    29  
    309public class _1v1MeBitch : PhysicsGame 
    3110{ 
     
    3716    Pelaaja pelaaja2; 
    3817 
    39     //Image pelaajanKuva = LoadImage("") 
     18    Image ohjuksenKuva = LoadImage("ohjus"); 
     19    Image pelaaja1kuva = LoadImage("pelaaja1"); 
     20    Image pelaaja2kuva = LoadImage("pelaaja2"); 
    4021 
    4122    public override void Begin() 
     
    4627        LisaaNappaimet(); 
    4728        IsFullScreen = true; 
     29 
     30        pelaaja1.Ammuslaskuri = LuoAmmuslaskuri(Screen.Right - 100, Screen.Bottom + 100); 
     31        pelaaja2.Ammuslaskuri = LuoAmmuslaskuri(Screen.Left +100, Screen.Bottom + 100); 
    4832 
    4933        Camera.ZoomToLevel(); 
     
    7357    void LisaaTikas(Vector paikka, double leveys, double korkeus) 
    7458    { 
    75         Tikas k = new Tikas(leveys, korkeus); 
    76         k.MakeOneWay(); 
    77         k.AloitusPaikka = paikka; 
    78         k.MakeStatic(); 
    79         k.Color = Color.Brown; 
    80         k.Position = paikka; 
    81         k.Tag = "tikas"; 
    82         Add(k); 
     59        //Luodaan tikkaat. 
     60        Tikas tikas = new Tikas(leveys, korkeus); 
     61        tikas.MakeOneWay(); 
     62        tikas.AloitusPaikka = paikka; 
     63        tikas.MakeStatic(); 
     64        tikas.Color = Color.Brown; 
     65        tikas.Position = paikka; 
     66        tikas.Tag = "tikas"; 
     67        Add(tikas); 
    8368    } 
    8469 
     
    8772    { 
    8873        Pelaaja pelaaja = new Pelaaja(leveys, korkeus); 
    89         //pelaaja.CollisionIgnoreGroup = group; 
    9074        pelaaja.Position = paikka; 
    9175        pelaaja.Mass = 4.0; 
    9276        pelaaja.Color = vari; 
    93         //pelaaja1.Image = pelaajanKuva; 
    9477        Add(pelaaja); 
    9578 
     
    10588    { 
    10689        pelaaja1 = LisaaPelaaja(paikka, leveys, korkeus, Color.HotPink, new Vector(Screen.Right - 150, Screen.Top - 20)); 
    107  
    108          
     90        pelaaja1.Image = pelaaja1kuva;      
    10991    } 
    11092 
     
    11294    { 
    11395        pelaaja2 = LisaaPelaaja(paikka, leveys, korkeus, Color.JungleGreen, new Vector(Screen.Left + 150, Screen.Top - 20)); 
     96        pelaaja2.Image = pelaaja2kuva; 
    11497    } 
    11598 
     
    123106        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    124107 
    125         Keyboard.Listen(Key.Down, ButtonState.Down, Alas, "Pelaaja menee alas", pelaaja1, hyppyNopeus, "tikas"); 
    126         Keyboard.Listen(Key.S, ButtonState.Down, Alas, "Pelaaja menee alas", pelaaja2, hyppyNopeus, "tikas2"); 
    127  
    128         Keyboard.Listen(Key.NumPad0, ButtonState.Pressed, Ammu, "Ammu ohjus", pelaaja1); 
    129         Keyboard.Listen(Key.Space, ButtonState.Pressed, Ammu, "Ammu ohjus", pelaaja2); 
    130  
    131108        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, -nopeus); 
    132109        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, nopeus); 
    133110        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 
    134111 
    135  
    136         ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    137  
    138         ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
    139         ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    140         ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    141  
    142         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    143     } 
    144  
    145     void Liikuta(PlatformCharacter hahmo, double nopeus) 
     112        Keyboard.Listen(Key.Down, ButtonState.Down, Alas, "Pelaaja menee alas", pelaaja1, hyppyNopeus, "tikas"); 
     113        Keyboard.Listen(Key.S, ButtonState.Down, Alas, "Pelaaja menee alas", pelaaja2, hyppyNopeus, "tikas2"); 
     114 
     115        Keyboard.Listen(Key.NumPad0, ButtonState.Pressed, Ammu, "Ammu ohjus", pelaaja1); 
     116        Keyboard.Listen(Key.LeftControl, ButtonState.Pressed, Ammu, "Ammu ohjus", pelaaja2); 
     117    } 
     118    IntMeter LuoAmmuslaskuri(double sijaintix, double sijaintiy) 
     119    { 
     120        IntMeter ammuslaskuri = new IntMeter(4, 0, 4); 
     121 
     122        Label pisteNaytto = new Label(); 
     123        pisteNaytto.X = sijaintix; 
     124        pisteNaytto.Y = sijaintiy; 
     125        pisteNaytto.TextColor = Color.Black; 
     126        pisteNaytto.Color = Color.White; 
     127        pisteNaytto.BindTo(ammuslaskuri); 
     128        Add(pisteNaytto); 
     129 
     130        ammuslaskuri.LowerLimit += delegate 
     131        { 
     132            Timer.SingleShot(4.0, delegate 
     133            { 
     134                ammuslaskuri.Value = ammuslaskuri.MaxValue; 
     135            }); 
     136        }; 
     137        return ammuslaskuri; 
     138    } 
     139 
     140    void Liikuta(Pelaaja hahmo, double nopeus) 
    146141    { 
    147142        hahmo.Walk(nopeus); 
    148143    } 
    149  
    150     void Hyppaa(PlatformCharacter hahmo, double nopeus) 
     144    void Hyppaa(Pelaaja hahmo, double nopeus) 
    151145    { 
    152146        hahmo.Jump(nopeus); 
    153147    } 
    154     void Alas(PlatformCharacter hahmo, double nopeus, string tag) 
     148    void Alas(Pelaaja hahmo, double nopeus, string tag) 
    155149    { 
    156150        List<GameObject> tikkaat = GetObjectsAt(new Vector(hahmo.X, hahmo.Bottom - 5)); 
     
    164158            } 
    165159        } 
    166  
    167160        if (!hahmo.IsAboutToFall() && voiPudota) 
    168161        { 
    169162            hahmo.Y -= 50; 
    170163        } 
    171  
    172         //List<GameObject> tikkaat = GetObjectsWithTag(tag); 
    173         //foreach(GameObject tikas in tikkaat) 
    174         //{ 
    175         //    Tikas p = (Tikas)tikas; 
    176         //    p.Y += 2000; 
    177         //    Timer.SingleShot(0.5, delegate { p.Position = p.AloitusPaikka; }); 
    178         //} 
    179     } 
    180     void Ammu(PlatformCharacter hahmo) 
    181     { 
    182         if (hahmo.IsDestroyed) 
     164    } 
     165    void Ammu(Pelaaja hahmo) 
     166    { 
     167        if (hahmo.IsDestroyed || hahmo.Ammuslaskuri.Value == 0) 
    183168            return; 
    184169 
    185170        PhysicsObject ohjus = new PhysicsObject(40, 12); 
    186         //ohjus.MakeStatic(); 
    187171        ohjus.Position = hahmo.Position; 
    188172        ohjus.X += hahmo.FacingDirection.GetVector().X * 45; 
    189173        ohjus.Color = hahmo.Color; 
     174        ohjus.Image = ohjuksenKuva; 
    190175        ohjus.CollisionIgnoreGroup = 1; 
    191176        ohjus.IgnoresGravity = true; 
     
    193178        Add(ohjus); 
    194179 
    195         //ohjus.Velocity = hahmo.FacingDirection.GetVector() * 600; 
    196         ohjus.Hit(hahmo.FacingDirection.GetVector() * 600); 
     180        hahmo.Ammuslaskuri.AddValue(-1); 
     181 
     182        ohjus.Hit(hahmo.FacingDirection.GetVector() * 1000); 
     183 
     184        if (ohjus.Velocity.X < 0) ohjus.Angle += Angle.FromDegrees(180); 
    197185 
    198186        AddCollisionHandler(ohjus, delegate(PhysicsObject a, PhysicsObject b) 
     
    206194        { 
    207195 
    208             Explosion rajahdys = new Explosion(80); 
    209             rajahdys.Force = 5; 
     196            Explosion rajahdys = new Explosion(110); 
     197            rajahdys.Force = 15; 
    210198            rajahdys.Position = ohjus.Position; 
    211199            Add(rajahdys); 
     
    216204                { 
    217205                    kohdePelaaja.ElamaLaskuri.Value--; 
     206 
     207                    if (kohdePelaaja.IsDestroyed || kohdePelaaja.IsDestroying) Timer.SingleShot(2.0, ConfirmExit); 
    218208                } 
    219209            }; 
     
    221211        } 
    222212    } 
     213 
    223214} 
Note: See TracChangeset for help on using the changeset viewer.