Changeset 4933 for 2013


Ignore:
Timestamp:
2014-06-10 11:04:43 (5 years ago)
Author:
milajoja
Message:
 
Location:
2013/24/MikaelJ
Files:
41 added
6 edited

Legend:

Unmodified
Added
Removed
  • 2013/24/MikaelJ/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs

    r4926 r4933  
    77using Jypeli.Widgets; 
    88 
    9 public class Tasohyppelypeli1 : PhysicsGame 
    10 { 
    11     const double nopeus = 200; 
    12     const double hyppyNopeus = 600; 
    13     const int RUUDUN_KOKO = 40; 
    149 
    15     PlatformCharacter pelaaja1; 
    1610 
    17     Image pelaajanKuva = LoadImage("norsu"); 
    18     Image tahtiKuva = LoadImage("tahti"); 
    19     Image taustakuva1 = LoadImage("Level1(1024)"); 
    20     Image Knife = LoadImage("Knife"); 
     11    public class Tasohyppelypeli1 : PhysicsGame 
     12    { 
     13        const double nopeus = 200; 
     14        const double hyppyNopeus = 600; 
     15        const int RUUDUN_KOKO = 40; 
    2116 
    22     SoundEffect maaliAani = LoadSoundEffect("maali"); 
     17        PlatformCharacter pelaaja1; 
    2318 
    24     public override void Begin() 
    25     { 
    26         Gravity = new Vector(0, -1000); 
     19        Image pelaajanKuva = LoadImage("norsu"); 
     20        Image tahtiKuva = LoadImage("tahti"); 
     21        Image taustakuva1 = LoadImage("Level1(1024)"); 
     22        Image Knife = LoadImage("Knife"); 
    2723 
    28         LuoKentta(); 
    29         LisaaNappaimet(); 
     24        //private Image[] vihu1 = LoadImages("...", "...", "..."); 
    3025 
    31         //Camera.Follow(pelaaja1); 
    32         Camera.ZoomFactor = 1.2; 
    33         Camera.StayInLevel = true; 
    34     } 
     26        class Vihu : PhysicsObject 
     27        { 
     28            private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 
     29            public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
    3530 
    36     void LuoKentta() 
    37     { 
    38         TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
    39         kentta.SetTileMethod('#', LisaaTaso); 
    40         kentta.SetTileMethod('*', LisaaTahti); 
    41         kentta.SetTileMethod('P', LisaaPelaaja); 
    42         kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    43         Level.CreateBorders(); 
    44         Level.Background.Image = taustakuva1; 
    45     } 
     31            public Vihu(double leveys, double korkeus) 
     32                : base(leveys, korkeus) 
     33            { 
     34                elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
    4635 
    47     void LisaaTaso(Vector paikka, double leveys, double korkeus) 
    48     { 
    49         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    50         taso.Position = paikka; 
    51         taso.IsVisible = false; 
    52         Add(taso); 
    53     } 
     36                { 
     37                    Vihu vihu1 = new Vihu(20, 20); 
     38                    vihu1.X = 30; 
     39                    vihu1.Y = 10; 
     40                    vihu1.ElamaLaskuri.Value--; 
    5441 
    55     void LisaaTahti(Vector paikka, double leveys, double korkeus) 
    56     { 
    57         PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    58         tahti.IgnoresCollisionResponse = true; 
    59         tahti.Position = paikka; 
    60         tahti.Image = tahtiKuva; 
    61         tahti.Tag = "tahti"; 
    62         Add(tahti); 
    63     } 
    6442 
    65     void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    66     { 
    67         pelaaja1 = new PlatformCharacter(leveys, korkeus); //pelaaja 
    68         pelaaja1.Position = paikka; 
    69         pelaaja1.Mass = 4.0; 
    70         pelaaja1.Image = pelaajanKuva; 
    71         AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
    72         Add(pelaaja1); 
     43                } 
    7344 
    74         pelaaja1.Weapon = new AssaultRifle(30, 10); 
     45            } 
     46        } 
    7547 
    76         pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
     48        public override void Begin() 
     49        { 
     50            Gravity = new Vector(0, -1000); 
    7751 
    78         pelaaja1.Weapon.CanHitOwner = true; 
     52            LuoKentta(); 
     53            LisaaNappaimet(); 
    7954 
    80         pelaaja1.Weapon.FireRate =1000000000000.0; 
     55            Camera.ZoomFactor = 1.2; 
     56            Camera.StayInLevel = true; 
     57        } 
    8158 
    82         pelaaja1.Weapon.InfiniteAmmo = true; 
     59        void LuoKentta() 
     60        { 
     61            TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
     62            kentta.SetTileMethod('#', LisaaTaso); 
     63            kentta.SetTileMethod('*', LisaaTahti); 
     64            kentta.SetTileMethod('P', LisaaPelaaja); 
     65            kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
     66            Level.CreateBorders(); 
     67            Level.Background.Image = taustakuva1; 
     68        } 
    8369 
    84         pelaaja1.Weapon.Image = Knife; 
     70        void LisaaTaso(Vector paikka, double X, double Y) 
     71        { 
     72            PhysicsObject taso = PhysicsObject.CreateStaticObject(X, Y); 
     73            taso.Position = paikka; 
     74            taso.IsVisible = false; 
     75            Add(taso); 
     76        } 
     77 
     78        void LisaaTahti(Vector paikka, double X, double Y) 
     79        { 
     80            PhysicsObject tahti = PhysicsObject.CreateStaticObject(X, Y); 
     81            tahti.IgnoresCollisionResponse = true; 
     82            tahti.Position = paikka; 
     83            tahti.Image = tahtiKuva; 
     84            tahti.Tag = "tahti"; 
     85            Add(tahti); 
     86        } 
     87 
     88        void LisaaPelaaja(Vector paikka, double X, double Y) 
     89        { 
     90            pelaaja1 = new PlatformCharacter(X, Y); //pelaaja 
     91            pelaaja1.Position = paikka; 
     92            pelaaja1.Mass = 4.0; 
     93            pelaaja1.Image = pelaajanKuva; 
     94            AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     95            Add(pelaaja1); 
     96 
     97            pelaaja1.Weapon = new AssaultRifle(30, 10); 
     98 
     99            pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
     100 
     101            pelaaja1.Weapon.CanHitOwner = true; 
     102 
     103            pelaaja1.Weapon.FireRate = 1000000000000.0; 
     104 
     105            pelaaja1.Weapon.InfiniteAmmo = true; 
     106 
     107            pelaaja1.Weapon.Image = Knife; 
     108 
     109        } 
     110 
     111        void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     112        { 
     113            ammus.Destroy(); 
     114        } 
     115 
     116        void AmmuAseella(PlatformCharacter pelaaja) 
     117        { 
     118            PhysicsObject ammus = pelaaja.Weapon.Shoot(); 
     119 
     120            if (ammus != null) 
     121            { 
     122                ammus.Size *= 0.5; 
     123                //ammus.Image = ... 
     124            } 
     125        } 
     126 
     127        void LisaaNappaimet() 
     128        { 
     129            Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     130            Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     131            Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
     132            Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
     133            Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     134            Keyboard.Listen(Key.F, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 
     135 
     136            ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     137            ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
     138            ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
     139            ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     140            ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, AmmuAseella, "Ampuu", pelaaja1); 
     141 
     142            PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     143        } 
     144 
     145        void Liikuta(PlatformCharacter hahmo, double nopeus) 
     146        { 
     147            hahmo.Walk(nopeus); 
     148        } 
     149 
     150        void Hyppaa(PlatformCharacter hahmo, double nopeus) 
     151        { 
     152            hahmo.Jump(nopeus); 
     153        } 
     154 
     155        void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 
     156        { 
     157            MessageDisplay.Add("Keräsit tähden!"); 
     158            tahti.Destroy(); 
     159        } 
    85160 
    86161    } 
    87  
    88     void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
    89     { 
    90         ammus.Destroy(); 
    91     } 
    92  
    93     void AmmuAseella(PlatformCharacter pelaaja) 
    94     { 
    95         PhysicsObject ammus = pelaaja.Weapon.Shoot(); 
    96  
    97         if (ammus != null) 
    98         { 
    99             ammus.Size *= 0.5; 
    100             //ammus.Image = ... 
    101             //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
    102         } 
    103     } 
    104  
    105     void LisaaNappaimet() 
    106     { 
    107         Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    108         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    109  
    110         Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    111         Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    112         Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    113  
    114         Keyboard.Listen(Key.F, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 
    115  
    116         ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    117  
    118         ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
    119         ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    120         ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    121  
    122         ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, AmmuAseella, "Ampuu", pelaaja1); 
    123  
    124         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    125     } 
    126  
    127     void Liikuta(PlatformCharacter hahmo, double nopeus) 
    128     { 
    129         hahmo.Walk(nopeus); 
    130     } 
    131  
    132     void Hyppaa(PlatformCharacter hahmo, double nopeus) 
    133     { 
    134         hahmo.Jump(nopeus); 
    135     } 
    136  
    137     void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 
    138     { 
    139         maaliAani.Play(); 
    140         MessageDisplay.Add("Keräsit tähden!"); 
    141         tahti.Destroy(); 
    142     } 
    143 } 
Note: See TracChangeset for help on using the changeset viewer.