Changeset 4434 for 2013/27


Ignore:
Timestamp:
2013-07-04 15:00:22 (6 years ago)
Author:
otweijo
Message:

Talletus.

Location:
2013/27/OttoW/Stickman jump/Stickman jump
Files:
4 added
6 edited

Legend:

Unmodified
Added
Removed
  • 2013/27/OttoW/Stickman jump/Stickman jump/Stickman jump/Stickman_jump.cs

    r4412 r4434  
    3030    Image piikitKuva = LoadImage("piikit"); 
    3131    Image maaliKuva = LoadImage("lippu"); 
     32    Image vihukuva = LoadImage("pahis"); 
     33    Image ufoKuva = LoadImage("ufo"); 
    3234    Image oviKuva = LoadImage("ovi"); 
    3335    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    3739    public override void Begin() 
    3840    { 
    39         AloitaPeli(); 
     41        AlkuValikko(); 
    4042    } 
    4143 
    4244    void AloitaPeli() 
    4345    { 
    44  
    4546        SeuraavaKentta(); 
    46  
    47  
    48     } 
    49  
     47    }    
     48         
    5049    void SeuraavaKentta() 
    5150    { 
    5251        ClearAll(); 
    5352        Gravity = new Vector(0, -1000); 
    54         if (kenttaNro > 2) Exit(); 
     53        if (kenttaNro > 3) Exit(); 
    5554        else LuoKentta("kentta" + kenttaNro); 
    5655 
    5756        LisaaNappaimet(); 
    5857        Camera.Follow(pelaaja1); 
    59         Camera.ZoomFactor = 1.2; 
     58        Camera.ZoomFactor = 1.0; // Level.Width / 1400.0; ; 
    6059        Camera.StayInLevel = true; 
     60    } 
     61 
     62 
     63    void AlkuValikko() 
     64    { 
     65        MultiSelectWindow alkuValikko = new MultiSelectWindow("Stickman Jump!", "Aloita peli", "Lopeta"); 
     66        Add(alkuValikko); 
     67 
     68        alkuValikko.AddItemHandler(0, AloitaPeli); 
     69        //alkuValikko.AddItemHandler(1, ParhaatPisteet); 
     70        alkuValikko.AddItemHandler(1, Exit); 
    6171    } 
    6272 
     
    7080        kentta.SetTileMethod('N', LisaaPelaaja); 
    7181        kentta.SetTileMethod('M', LisaaMaali); 
     82        kentta.SetTileMethod('V', LisaaVihu); 
     83        kentta.SetTileMethod('U', LisaaUfo); 
    7284        kentta.SetTileMethod('B', LisaaNappi, 'O'); 
    7385        kentta.SetTileMethod('O', LisaaOvi, 'O'); 
     
    7688        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    7789        Level.CreateBorders(); 
    78         Level.Background.CreateGradient(Color.Red, Color.White); 
     90        Level.Background.CreateGradient(Color.Blue, Color.White); 
    7991    } 
    8092 
     
    8698        Add(taso); 
    8799    } 
     100    void LisaaVihu(Vector paikka, double leveys, double korkeus) 
     101    { 
     102        PlatformCharacter vihu = new PlatformCharacter(leveys, korkeus); 
     103        vihu.Position = paikka; 
     104        vihu.Image = vihukuva; 
     105        vihu.Tag = "vihu"; 
     106        
     107        Add(vihu); 
     108 
     109        PlatformWandererBrain vihuAivot = new PlatformWandererBrain(); 
     110        vihuAivot.Speed = 100; 
     111 
     112        vihu.Brain = vihuAivot; 
     113 
     114 
     115    } 
     116    void LisaaUfo(Vector paikka, double leveys, double korkeus) 
     117    { 
     118        Vihollinen ufo = new Vihollinen(leveys / 1 * 5, korkeus * 1.5, 3); 
     119        ufo.Elamat.LowerLimit += delegate { RajaytaJaTuhoa(ufo); }; 
     120        ufo.Shape = Shape.FromImage(ufoKuva); 
     121        ufo.Position = paikka; 
     122        ufo.MakeStatic(); 
     123 
     124        ufo.Image = ufoKuva; 
     125        ufo.Tag = "ufo"; 
     126        ufo.IgnoresGravity = true; 
     127         
     128        Timer ajastin = new Timer(); 
     129        Vector[] kohteet = { new Vector(-100, 0), new Vector(100, 0) }; 
     130        ajastin.Timeout += delegate { LiikutaOliotaKahteenPaikkaan(ufo, kohteet); }; 
     131        ajastin.Interval = 2; 
     132        ajastin.Start(); 
     133        ufo.Velocity = kohteet[0]; 
     134        Add(ufo); 
     135 
     136 
     137    } 
     138 
     139    void RajaytaJaTuhoa(PhysicsObject obj) 
     140    { 
     141        Explosion rajahdys = new Explosion(50); 
     142        rajahdys.Position = obj.Position; 
     143 
     144        Add(rajahdys); 
     145        obj.Destroy(); 
     146    } 
     147 
     148 
     149    void LiikutaOliotaKahteenPaikkaan(PhysicsObject olio, Vector[] kohteet) 
     150    { 
     151        if (olio.Velocity == kohteet[0]) 
     152            olio.Velocity = kohteet[1]; 
     153        else olio.Velocity = kohteet[0]; 
     154 
     155 
     156    } 
     157 
    88158 
    89159    void LisaaNappi(Vector paikka, double leveys, double korkeus, char mitkaTuhoaa) 
     
    112182    { 
    113183        PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     184        tahti.Shape = Shape.FromImage(piikitKuva); 
    114185        tahti.IgnoresCollisionResponse = true; 
    115186        tahti.Position = paikka; 
     
    128199        pelaaja1.AnimWalk = new Animation(kavelykuvat); 
    129200        pelaaja1.AnimWalk.FPS = 5; 
     201        pelaaja1.Weapon = new AssaultRifle(70, 20); 
     202        pelaaja1.Weapon.InfiniteAmmo = true; 
     203        pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
    130204        AddCollisionHandler(pelaaja1, "piikit", TormaaPiikkeihin); 
    131205        AddCollisionHandler(pelaaja1, "maali", PaaseeMaaliin); 
     206        AddCollisionHandler(pelaaja1, "vihu", TormaaVihuun); 
     207        AddCollisionHandler(pelaaja1, "ufo", TormaaUfoon); 
    132208        AddCollisionHandler<PhysicsObject, Nappi>(pelaaja1, PainaaNappia); 
    133209        Add(pelaaja1); 
     
    138214        kenttaNro++; 
    139215        SeuraavaKentta(); 
     216    } 
     217    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     218    { 
     219        ammus.Destroy(); 
     220        if (kohde.Tag.Equals("vihu")) 
     221        { 
     222            kohde.Destroy(); 
     223             
     224        } 
     225        if (kohde.Tag.Equals("ufo")) 
     226        { 
     227            ((Vihollinen)kohde).Elamat.Value--; 
     228 
     229        } 
     230 
    140231    } 
    141232 
     
    148239        Add(maali); 
    149240    } 
     241    void TormaaVihuun(PhysicsObject hahmo, PhysicsObject vihu) 
     242    { 
     243       pelaaja1.Destroy(); 
     244       MessageDisplay.Add("Örkki söi sinut!"); 
     245    } 
     246    void TormaaUfoon(PhysicsObject hahmo, PhysicsObject ufo) 
     247    { 
     248         pelaaja1.Destroy(); 
     249         MessageDisplay.Add("Ufot tuhosivat sinut!"); 
     250 
     251    } 
    150252 
    151253 
     
    154256        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    155257        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     258        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 
    156259 
    157260        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
     
    169272        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    170273    } 
     274    void AmmuAseella(PlatformCharacter pelaaja) 
     275    { 
     276        PhysicsObject ammus = pelaaja.Weapon.Shoot(); 
     277 
     278         if(ammus != null) 
     279         { 
     280             ammus.Size *= 1; 
     281             ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     282              
     283         } 
     284    }  
    171285 
    172286    void Liikuta(PlatformCharacter hahmo, double nopeus) 
     
    191305    } 
    192306} 
     307 
     308 
     309public class Vihollinen : PhysicsObject 
     310{ 
     311    IntMeter elamat; 
     312    public IntMeter Elamat { get { return elamat; } } 
     313 
     314 
     315    public Vihollinen(double leveys, double korkeus, int elamia) 
     316        : base (leveys, korkeus) 
     317    { 
     318        elamat = new IntMeter(elamia, 0, elamia); 
     319    
     320 
     321    } 
     322 
     323 
     324} 
     325 
     326 
  • 2013/27/OttoW/Stickman jump/Stickman jump/Stickman jumpContent/Stickman jumpContent.contentproj

    r4412 r4434  
    124124    </Compile> 
    125125  </ItemGroup> 
     126  <ItemGroup> 
     127    <Compile Include="vihu.png"> 
     128      <Name>vihu</Name> 
     129      <Importer>TextureImporter</Importer> 
     130      <Processor>TextureProcessor</Processor> 
     131    </Compile> 
     132  </ItemGroup> 
     133  <ItemGroup> 
     134    <Compile Include="pahis.png"> 
     135      <Name>pahis</Name> 
     136      <Importer>TextureImporter</Importer> 
     137      <Processor>TextureProcessor</Processor> 
     138    </Compile> 
     139  </ItemGroup> 
     140  <ItemGroup> 
     141    <Compile Include="ufo.png"> 
     142      <Name>ufo</Name> 
     143      <Importer>TextureImporter</Importer> 
     144      <Processor>TextureProcessor</Processor> 
     145    </Compile> 
     146  </ItemGroup> 
     147  <ItemGroup> 
     148    <Compile Include="kentta3.txt"> 
     149      <Name>kentta3</Name> 
     150      <Importer>TextFileImporter</Importer> 
     151      <Processor>TextFileContentProcessor</Processor> 
     152    </Compile> 
     153  </ItemGroup> 
    126154  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    127155  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2013/27/OttoW/Stickman jump/Stickman jump/Stickman jumpContent/kentta1.txt

    r4412 r4434  
    11 
     2          V                    # 
     3         ##                    # 
     4       #  ##                   # 
    25                               # 
    3          ##                    # 
    4        ##  ##                  # 
    5                                # 
    6     # **                       # 
    7 oooo   ###                     # 
    8    #         ####       #      # 
    9                 #              # 
    10 ##   **   **       *        #B # 
    11   #                ####  *  ####                       M 
    12  b                      ##  O                  * ######### 
    13  ###      #####             O                  # 
    14       #                     O       ##    #### 
    15                 N     ****  O     # 
     6     #**     *                 #     
     7   #         #####      #      #     
     8                               #           U 
     9##   **   **       *        # B#    
     10  #                #### *   ####                       M 
     11           V            ##  O                 * ######### 
     12 ###      #####             O          V      # 
     13      #                     O       ######### 
     14                N     ****  O    # 
    1615###############################*********************************** 
  • 2013/27/OttoW/Stickman jump/Stickman jump/Stickman jumpContent/kentta2.txt

    r4412 r4434  
    55                                                                                    
    66 
    7    M 
    8    #     o 
    9      #   o 
    10        # o 
    11          o                                                                # 
    12          #######                                                         b# 
    13                                                                                  ## 
    14                   #                                                    #### 
    15  
    16                       #################oooo########################### 
     7   M                                                                 U 
     8   #     o                                                                       B# 
     9     #   o                                          VV     #################   # ## 
     10       # o             #     ##############################               # 
     11         o                                 O                              # 
     12         ####        #                     O                             b### 
     13             ##          #                 O                            ###### 
     14                                           O                          #### 
     15                  #                    V   O         VVVVV           # 
     16                      ########  #######oooo########################### 
    1717 N      ########## 
    1818######********************************************************************************************** 
Note: See TracChangeset for help on using the changeset viewer.