Ignore:
Timestamp:
2014-06-26 14:03:52 (9 years ago)
Author:
otoskinn
Message:
 
Location:
2014/26/OttoK/Jump/Jump
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • 2014/26/OttoK/Jump/Jump/Jump/Jump.cs

    r5107 r5118  
    77using Jypeli.Widgets; 
    88 
     9class Norsu : PlatformCharacter 
     10{ 
     11    private IntMeter pisteLaskuri = new IntMeter(0); 
     12    public IntMeter PisteLaskuri { get { return pisteLaskuri; } } 
     13 
     14    private IntMeter kranaattiLaskuri = new IntMeter(1000, 0, 1000); 
     15    public IntMeter KranaattiLaskuri { get { return kranaattiLaskuri; } } 
     16 
     17    public Norsu(double leveys, double korkeus) 
     18        : base(leveys, korkeus) 
     19    { 
     20        Weapon = new AssaultRifle(40, 20); 
     21        Weapon.Ammo.Value = 10000; 
     22        Weapon.InfiniteAmmo = true; 
     23    } 
     24} 
     25 
     26 
    927public class Jump : PhysicsGame 
    1028{ 
     
    1331    const int RUUDUN_KOKO = 40; 
    1432 
    15     PlatformCharacter pelaaja1; 
    16     PlatformCharacter pelaaja2; 
    17     IntMeter pisteLaskuri1; 
    18     IntMeter pisteLaskuri2; 
     33    Norsu pelaaja1; 
     34    Norsu pelaaja2; 
     35 
     36    //IntMeter pisteLaskuri1; 
     37    //IntMeter pisteLaskuri2; 
    1938 
    2039    Image pelaajanKuva = LoadImage("norsu"); 
     
    2948        LuoKentta(); 
    3049        LisaaNappaimet(); 
    31         LuoPistelaskuri1(); 
    32         LuoPistelaskuri2(); 
     50        LuoPistelaskuri(pelaaja1); 
     51        LuoPistelaskuri(pelaaja2); 
    3352 
    3453        Camera.Follow(pelaaja1, pelaaja2); 
    3554        //Camera.ZoomFactor = 1.2; 
    3655        //Camera.StayInLevel = true; 
     56    } 
     57 
     58    void LuoAseValikko(Norsu pelaaja) 
     59    { 
     60        MultiSelectWindow alkuValikko = new MultiSelectWindow("valitse ase", "Assault Rifle", "Kranaatit"); 
     61        Add(alkuValikko); 
    3762    } 
    3863 
     
    6994    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    7095    { 
    71         pelaaja1 = new PlatformCharacter(leveys, korkeus); 
     96        pelaaja1 = new Norsu(leveys, korkeus); 
    7297        pelaaja1.Position = paikka; 
    7398        pelaaja1.Mass = 4.0; 
     
    75100        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
    76101        Add(pelaaja1); 
     102        pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
     103 
    77104    } 
    78105 
    79106    void LisaaPelaaja2(Vector paikka, double leveys, double korkeus) 
    80107    { 
    81         pelaaja2 = new PlatformCharacter(leveys, korkeus); 
     108        pelaaja2 = new Norsu(leveys, korkeus); 
    82109        pelaaja2.Position = paikka; 
    83110        pelaaja2.Mass = 4.0; 
     
    85112        AddCollisionHandler(pelaaja2, "tahti", TormaaTahteen); 
    86113        Add(pelaaja2); 
     114        pelaaja2.Weapon.ProjectileCollision = AmmusOsui; 
     115 
    87116    } 
    88117 
    89118    void LisaaNappaimet() 
    90119    { 
    91         Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     120        Keyboard.Listen(Key.Tab, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    92121        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    93122 
     
    95124        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    96125        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     126        Keyboard.Listen(Key.NumPad2, ButtonState.Pressed , HeitaKranaatti, "Heitä Kranaatti", pelaaja1); 
     127        Keyboard.Listen(Key.NumPad1, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 
    97128 
    98129        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, -nopeus); 
    99130        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, nopeus); 
    100         Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 
     131        Keyboard.Listen(Key.W,ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 
     132        Keyboard.Listen(Key.F, ButtonState.Pressed, HeitaKranaatti, "Heitä Kranaatti", pelaaja2); 
     133        Keyboard.Listen(Key.G, ButtonState.Down, AmmuAseella, "Ammu", pelaaja2); 
    101134 
    102135        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     
    107140 
    108141        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    109     } 
     142     
     143    } 
     144 
     145 
     146 
     147    void HeitaKranaatti(Norsu pelaaja) 
     148    { 
     149        if (pelaaja.KranaattiLaskuri.Value > 0) 
     150        { 
     151            Grenade kranu = new Grenade(4.0); 
     152            pelaaja.Throw(kranu, Angle.FromDegrees(30), 10000); 
     153            pelaaja.KranaattiLaskuri.Value--; 
     154           // kranu.Mass = 1000.0; 
     155        } 
     156    } 
     157 
     158    void AmmuAseella(Norsu pelaaja) 
     159    { 
     160        PhysicsObject ammus = pelaaja.Weapon.Shoot(); 
     161       
     162        if (ammus != null) 
     163     
     164        { 
     165            ammus.Mass = 99999999999; 
     166            //ammus.Size *=  
     167            //ammus.Image = ... 
     168            ammus.MaximumLifetime = TimeSpan.FromSeconds(5.0); 
     169        } 
     170    } 
     171 
     172    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     173    { 
     174        ammus.Destroy(); 
     175 
     176    } 
     177 
    110178 
    111179    void Liikuta(PlatformCharacter hahmo, double nopeus) 
     
    127195        if (hahmo == pelaaja1) 
    128196        { 
    129             pisteLaskuri1.Value += 1; 
     197            pelaaja1.PisteLaskuri.Value += 1; 
    130198        } 
    131199        else 
    132200        { 
    133             pisteLaskuri2.Value += 1; 
    134  
    135  
    136         } 
    137     } 
    138  
    139     void LuoPistelaskuri1() 
    140     { 
    141         pisteLaskuri1 = new IntMeter(0); 
    142  
     201            pelaaja2.PisteLaskuri.Value += 1; 
     202        } 
     203    } 
     204 
     205    void LuoPistelaskuri(Norsu pelaaja) 
     206    { 
    143207        Label pisteNaytto = new Label(); 
    144         pisteNaytto.X = Screen.Left + 100; 
    145         pisteNaytto.Y = Screen.Top - 100; 
    146208        pisteNaytto.TextColor = Color.Black; 
    147209        pisteNaytto.Color = Color.White; 
     210        Add(pisteNaytto); 
     211        pisteNaytto.BindTo(pelaaja.PisteLaskuri); 
     212 
     213        Label kranaattiNaytto = new Label(); 
     214        kranaattiNaytto.TextColor = Color.Black; 
     215        kranaattiNaytto.Color = Color.Green; 
     216        Add(kranaattiNaytto); 
     217        kranaattiNaytto.BindTo(pelaaja.KranaattiLaskuri); 
    148218 
    149219        Timer ajastin = new Timer(); 
     
    151221        ajastin.Timeout += delegate 
    152222        { 
    153             pisteNaytto.Position = Camera.WorldToScreen(pelaaja1.Position + new Vector(0, 30)); 
     223            pisteNaytto.Position = Camera.WorldToScreen(pelaaja.Position + new Vector(0, 30)); 
     224            kranaattiNaytto.Position = Camera.WorldToScreen(pelaaja.Position + new Vector(0, 50)); 
    154225        }; 
    155         ajastin.Start(); 
    156  
    157         pisteNaytto.BindTo(pisteLaskuri1); 
    158         Add(pisteNaytto); 
    159     } 
    160  
    161     void LuoPistelaskuri2() 
    162     { 
    163         pisteLaskuri2 = new IntMeter(0); 
    164  
    165         Label pisteNaytto = new Label(); 
    166         pisteNaytto.X = Screen.Right - 100; 
    167         pisteNaytto.Y = Screen.Top - 100; 
    168         pisteNaytto.TextColor = Color.Black; 
    169         pisteNaytto.Color = Color.White; 
    170  
    171         Timer ajastin = new Timer(); 
    172         ajastin.Interval = 0.01; 
    173         ajastin.Timeout += delegate 
    174         { 
    175             pisteNaytto.Position = Camera.WorldToScreen(pelaaja2.Position + new Vector(0, 30)); 
    176         }; 
    177         ajastin.Start(); 
    178  
    179         pisteNaytto.BindTo(pisteLaskuri2); 
    180         Add(pisteNaytto); 
    181     } 
     226        ajastin.Start();  
     227         
     228    } 
     229 
    182230 
    183231} 
  • 2014/26/OttoK/Jump/Jump/Jump/obj/x86/Debug/ContentPipeline-{63B38ACA-3B70-45B9-9BE0-E245FDD44385}.xml

    r5107 r5118  
    3636      <Options>None</Options> 
    3737      <Output>C:\MyTemp\OttoK\Jump\Jump\Jump\bin\x86\Debug\Content\kentta1.xnb</Output> 
    38       <Time>2014-06-25T14:51:59.4913813+03:00</Time> 
     38      <Time>2014-06-26T13:37:45.3701107+03:00</Time> 
    3939    </Item> 
    4040    <BuildSuccessful>true</BuildSuccessful> 
  • 2014/26/OttoK/Jump/Jump/JumpContent/kentta1.txt

    r5107 r5118  
    66 
    77 
    8      
    9  
     8                                                             * 
     9                                                               ##### 
    1010   
    1111 
     
    1414                                                                        * 
    1515                                                         ####################### 
    16                                                               *    *    *    # 
    17                            #     #    #    #    #   # 
    18                      ## 
    19           *     * 
     16                            *      *    *    *   *   * # 
     17                           ##    ##   ##   ##   ##   ## 
     18                                                                                 ## 
     19          *     *      #### 
    2020       ############                                                                  * 
    2121                                                                                        ##### 
    22   #                  # 
     22  #                  #                                                                    ##d 
    2323 
    24    #################################                                                        
     24   #################################                                                           ### 
    2525  #                                          * 
    26   #                                   ##    ###                                             * 
    27        *                                                                                  ### 
    28   ##################                     ##                                                                * *        *   *  *  *  *   *       
     26  #                                   ##    ###                                             *                                                  * 
     27       *                                                                                  ###                                                  ## 
     28  ##################                     ##                                                   #            * *        *   *  *  *  *   *       
    2929  #                   #      *  *  *                                                                  ############   ###  #  #  #  #  ######   
    30   #          *               #  #  #  ######## 
    31   #    ####################                     # 
    32   # 
     30  #          *               #  #  #  ########                                                *   ## 
     31  #    ####################                     #                                        *   ### 
     32  #                                                                                    ## 
    3333  ####                                                                              * 
    3434                                          ##################3                       # 
    35   ########    ###                                    # 
    36             *  #                     ##                # #################### 
    37   ####    #####                                      # 
    38        C N     *                                     # 
    39   #################################################### 
     35  ########    ###                                    #                *        ## 
     36             * #                     ##                ###################### 
     37  ####    #####                                      ##                        # 
     38       C N      *                                     # 
     39###################################################### 
     40 ****************************************************# 
     41 ****************************************************# 
     42 ****************************************************# 
     43 ##################################################### 
Note: See TracChangeset for help on using the changeset viewer.