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

Legend:

Unmodified
Added
Removed
  • 2017/27/UunoT/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs

    r8838 r8888  
    99public class Tasohyppelypeli1 : PhysicsGame 
    1010{ 
     11 
    1112    const double nopeus = 200; 
    1213    const double hyppyNopeus = 750; 
    1314    const int RUUDUN_KOKO = 40; 
    1415    Image Blast = LoadImage("Blast"); 
     16    Image brick = LoadImage("Castle birck"); 
    1517    Image explusion = LoadImage("explusion"); 
     18    Image norsu = LoadImage("norsu"); 
     19    Image Lyontii = LoadImage("Lyonti"); 
     20 
    1621    PlatformCharacter pelaaja1; 
    1722    PlatformCharacter pelaaja2; 
    1823    IntMeter laskuri; 
    1924    IntMeter laskuri2; 
     25    // IntMeter laskurimana; 
    2026    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    2127 
     
    7076        taso.Color = Color.Green; 
    7177        taso.Tag = "seina"; 
     78        taso.Image = brick; 
     79        taso.CollisionIgnoreGroup = 3; 
    7280        Add(taso); 
    7381    } 
     
    7785        PlatformCharacter pelaaja = new PlatformCharacter(leveys, korkeus); 
    7886        pelaaja.Position = paikka; 
     87        pelaaja.Image = norsu; 
    7988        pelaaja.Mass = 4.0; 
    8089        //AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     
    8796        pelaaja1 = LisaaPelaaja(paikka, leveys, korkeus); 
    8897        pelaaja1.CollisionIgnoreGroup = 1; 
     98        pelaaja1.Tag = "pel"; 
    8999 
    90100    } 
     
    93103    { 
    94104        pelaaja2 = LisaaPelaaja(paikka, leveys, korkeus); 
     105        pelaaja2.Tag = "seina"; 
     106        AddCollisionHandler(pelaaja2, "expluded", expluded); 
     107        pelaaja2.CollisionIgnoreGroup = 2; 
    95108    } 
    96109    void LisaaNappaimet() 
     
    103116        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus, 180.0); 
    104117        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus, 0.0); 
    105         Keyboard.Listen(Key.W, ButtonState.Down, Katsoo ,"Pelaaja Katsoo ylös", pelaaja1, 90.0); 
    106         Keyboard.Listen(Key.S, ButtonState.Down, Katsoo ,"Pelaaja Katsoo alas", pelaaja1, 270.0); 
     118        Keyboard.Listen(Key.W, ButtonState.Down, Katsoo, "Pelaaja Katsoo ylös", pelaaja1, 90.0); 
     119        Keyboard.Listen(Key.S, ButtonState.Down, Katsoo, "Pelaaja Katsoo alas", pelaaja1, 270.0); 
    107120        Keyboard.Listen(Key.J, ButtonState.Pressed, RuneBlast, "Pelaaja ampuu", pelaaja1); 
    108121        Keyboard.Listen(Key.K, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     
    111124        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, nopeus, 0.0); 
    112125        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 
     126        Keyboard.Listen(Key.NumPad4, ButtonState.Pressed, slash, "Lyö alas", pelaaja2, 180.0); 
     127        Keyboard.Listen(Key.NumPad6, ButtonState.Pressed, slash, "Lyö ylös", pelaaja2, 0.0); 
     128        Keyboard.Listen(Key.NumPad8, ButtonState.Pressed, slash, "Lyö vasemmalle", pelaaja2, 90.0); 
     129        Keyboard.Listen(Key.NumPad2, ButtonState.Pressed, slash, "Lyö oikealle", pelaaja2, 270.0); 
     130 
    113131 
    114132        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     
    126144        hahmo.Angle = Angle.FromDegrees(kulma); 
    127145    } 
    128     void Katsoo( PlatformCharacter hahmo, double kulma) 
     146    //  void Liikuta(PlatformCharacter hahmo, double nopeus, double kulma) 
     147    //  { 
     148    //     hahmo.Walk(nopeus); 
     149    //     hahmo.Angle = Angle.FromDegrees(kulma); 
     150    //} 
     151    void Katsoo(PlatformCharacter hahmo, double kulma) 
    129152    { 
    130153        hahmo.Angle = Angle.FromDegrees(kulma); 
    131154    } 
    132  
     155    void slash(PlatformCharacter hahmo, double kulma2) 
     156    { 
     157        hahmo.Angle = Angle.FromDegrees(kulma2); 
     158        Lyo(); 
     159    } 
    133160    void Hyppaa(PlatformCharacter hahmo, double nopeus) 
    134161    { 
     
    137164    void RuneBlast(PlatformCharacter pelaaja1) 
    138165    { 
    139         PhysicsObject runeblast = new PhysicsObject(25, 10); 
     166        PhysicsObject runeblast = new PhysicsObject(50.0, 20.0); 
    140167        runeblast.Position = pelaaja1.Position; 
    141168        Angle suunta = pelaaja1.Angle; 
     
    153180        runeblast.Hit(Vector.FromLengthAndAngle(5000.0, pelaaja1.Angle)); 
    154181        runeblast.Tag = "Prjectile"; 
    155          
     182        runeblast.Tag = "expluded"; 
     183 
    156184        AddCollisionHandler(runeblast, "seina", Tromaaseina); 
    157185 
    158186    } 
     187    void Lyo() 
     188    { 
     189        PhysicsObject lyonti = new PhysicsObject(20, 40); 
     190        lyonti.Position = pelaaja2.Position; 
     191        Angle suunta = pelaaja2.Angle; 
     192 
     193        lyonti.CollisionIgnoreGroup = 2; 
     194        //runeblast.IgnoresCollisionWith(pelaaja1); 
     195        lyonti.Image = Lyontii; 
     196        lyonti.Angle = suunta; 
     197        lyonti.IgnoresGravity = true; 
     198        lyonti.Mass = 10; 
     199        //runeblast.Brain = new FollowerBrain(); 
     200        //AddCollisionHandler(runeblast, "seina", Tromaaseina); 
     201        //runeblast.MaximumLifetime = TimeSpan.FromSeconds(15.0); 
     202        lyonti.MaximumLifetime = TimeSpan.FromSeconds(0.1); 
     203 
     204        Add(lyonti); 
     205        lyonti.Hit(Vector.FromLengthAndAngle(3000.0, pelaaja2.Angle)); 
     206        lyonti.Tag = "Hitti"; 
     207 
     208        AddCollisionHandler(lyonti, "pel", dmg); 
     209 
     210 
     211    } 
     212 
     213    void dmg() 
     214    { 
     215        laskuri.Value -= 20; 
     216 
     217 
     218        if (laskuri.Value <= 0) 
     219            pelaaja1.Destroy(); 
     220    } 
     221    //  Runicexplude(PhysicsObject runeblast, Vector paikka) 
     222    // { 
     223    //   Explosion rajahdys = new Explosion(50); 
     224    //   rajahdys.Position = runeblast.Position; 
     225    //  Add(rajahdys); 
     226    //  runeblast.Destroy; 
     227    //} 
     228    void LuoPisteLaskuri(double x, double y) 
     229    { 
     230        laskuri = new IntMeter(350); 
     231        laskuri.MaxValue = 350; 
     232 
     233        Label naytto = new Label(); 
     234        naytto.X = x; 
     235        naytto.Y = y; 
     236        naytto.TextColor = Color.Black; 
     237        naytto.BorderColor = Color.Green; 
     238        naytto.Color = Color.Red; 
     239 
     240        naytto.BindTo(laskuri); 
     241        Add(naytto); 
     242        naytto.Title = "Elämä"; 
     243    } 
     244    void LisaaLaskuri() 
     245 
     246    { 
     247        LuoPisteLaskuri(Screen.Left + 100.0, Screen.Bottom + 100.0); 
     248    } 
     249    //   void LuoManaLaskuri(double x, double y) 
     250    //  { 
     251    //    laskurimana = new IntMeter(100); 
     252    //      laskurimana.MaxValue = 100; 
     253 
     254    //     Label naytto = new Label(); 
     255    //   naytto.X = x; 
     256    //     naytto.Y = y; 
     257    //naytto.TextColor = Color.Black; 
     258    //    naytto.BorderColor = Color.Green; 
     259    //    naytto.Color = Color.Blue; 
     260 
     261    //     naytto.BindTo(laskurimana); 
     262    //    Add(naytto); 
     263    //     naytto.Title = "Mana"; 
     264    //  } 
     265    //void LisaaManaLaskuri() 
     266 
     267    //{ 
     268    //    LuoManaLaskuri(Screen.Left + 100.0, Screen.Top + 100.0); 
     269    //  } 
     270 
     271    void LuoPisteLaskuri2(double x, double y) 
     272    { 
     273        laskuri2 = new IntMeter(500); 
     274        laskuri2.MaxValue = 500; 
     275 
     276        Label naytto = new Label(); 
     277        naytto.X = x; 
     278        naytto.Y = y; 
     279        naytto.TextColor = Color.Black; 
     280        naytto.BorderColor = Color.Green; 
     281        naytto.Color = Color.Red; 
     282 
     283        naytto.BindTo(laskuri2); 
     284        Add(naytto); 
     285        naytto.Title = "Elämä"; 
     286    } 
     287    void LisaaLaskuri2() 
     288    { 
     289        LuoPisteLaskuri2(Screen.Right - 100.0, Screen.Bottom + 100.0); 
     290    } 
     291 
    159292    void Tromaaseina(PhysicsObject runeblast, PhysicsObject taso) 
    160293    { 
     
    166299        rajahdys.Image = explusion; 
    167300        rajahdys.Position = runeblast.Position; 
     301        rajahdys.Tag = "expluded"; 
    168302        Add(rajahdys); 
    169303        runeblast.Destroy(); 
    170304    } 
    171305 
    172      
    173  
    174   //  Runicexplude(PhysicsObject runeblast, Vector paikka) 
    175    // { 
    176      //   Explosion rajahdys = new Explosion(50); 
    177      //   rajahdys.Position = runeblast.Position; 
    178       //  Add(rajahdys); 
    179       //  runeblast.Destroy; 
    180     //} 
    181     void LuoPisteLaskuri(double x, double y) 
    182     { 
    183         laskuri = new IntMeter(15000); 
    184         laskuri.MaxValue = 15000; 
    185  
    186         Label naytto = new Label(); 
    187         naytto.X = x; 
    188         naytto.Y = y; 
    189         naytto.TextColor = Color.Black; 
    190         naytto.BorderColor = Color.Green; 
    191         naytto.Color = Color.Red; 
    192  
    193         naytto.BindTo(laskuri); 
    194         Add(naytto); 
    195         naytto.Title = "Elämä"; 
    196     } 
    197     void LisaaLaskuri() 
    198     { 
    199         LuoPisteLaskuri(Screen.Left + 100.0, Screen.Bottom + 100.0); 
    200     } 
    201  
    202  
    203     void LuoPisteLaskuri2(double x, double y) 
    204     { 
    205         laskuri2 = new IntMeter(15000); 
    206         laskuri2.MaxValue = 15000; 
    207  
    208         Label naytto = new Label(); 
    209         naytto.X = x; 
    210         naytto.Y = y; 
    211         naytto.TextColor = Color.Black; 
    212         naytto.BorderColor = Color.Green; 
    213         naytto.Color = Color.Red; 
    214  
    215         naytto.BindTo(laskuri2); 
    216         Add(naytto); 
    217         naytto.Title = "Elämä"; 
    218     } 
    219     void LisaaLaskuri2() 
    220     { 
    221         LuoPisteLaskuri(Screen.Right - 100.0, Screen.Bottom + 100.0); 
    222     } 
    223  
     306    void expluded(PhysicsObject pelaaja2, PhysicsObject kohde) 
     307    { 
     308 
     309 
     310        laskuri2.Value -= 25; 
     311 
     312 
     313        if (laskuri2.Value <= 0) 
     314            pelaaja2.Destroy(); 
     315    } 
     316    void PelaajaOsuu(PhysicsObject pelaaja1, PhysicsObject kohde) 
     317    { 
     318 
     319 
     320        laskuri.Value -= 50; 
     321 
     322 
     323        if (laskuri.Value <= 0) 
     324            pelaaja1.Destroy(); 
     325    } 
     326    void Tekeedmg() 
     327    { 
     328        laskuri.Value -= 20; 
     329 
     330 
     331        if (laskuri.Value <= 0) 
     332            pelaaja1.Destroy(); 
     333    } 
    224334} 
Note: See TracChangeset for help on using the changeset viewer.