Changeset 4747 for 2013/30


Ignore:
Timestamp:
2013-07-26 12:43:57 (6 years ago)
Author:
nieekrva
Message:

Talletus.

Location:
2013/30/NikiV/Airbattle/Airbattle
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2013/30/NikiV/Airbattle/Airbattle/Airbattle/Airbattle.cs

    r4669 r4747  
    1616    List<Vector> hamistenSpawnauspaikat; 
    1717    IntMeter vihulaskuri; 
     18    IntMeter elämät; 
    1819    string ase = ""; 
    1920    EasyHighScore topLista = new EasyHighScore(); 
    2021    Image plasmaAmmusKuva = LoadImage("plasmaammus"); 
     22    Image rakettiAmmusKuva = LoadImage("raketti"); 
     23 
     24    Vector aloitusPaikka; 
     25    bool osuttiinkoJo = false; 
    2126 
    2227    int[] montakoVihuaKentassa = { 20, 30, 40, 50, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180 }; 
     
    2732    { 
    2833        SetWindowSize(800, 600, false); 
     34        Level.Size = Screen.Size; 
     35        Level.Background.Image = LoadImage("päävalikko"); 
     36        Level.Background.FitToLevel(); 
     37 
    2938        Paavalikko(); 
    3039    } 
     
    3241    void Aloitapeli() 
    3342    { 
     43        IsPaused = false; 
     44        kenttaNro = 0; 
    3445        ClearAll(); 
    3546        vihujenSpawnauspaikat = new List<Vector>(); 
     
    7283    { 
    7384        Keyboard.Listen(Key.Space, ButtonState.Pressed, Ammu, "Ammu", alus); 
     85        Keyboard.Listen(Key.Z, ButtonState.Pressed, AmmuRaketilla, "Ammu", alus); 
    7486 
    7587        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, alus, new Vector(-1000, 0)); 
     
    103115    } 
    104116 
     117    void AmmuRaketilla(PhysicsObject ampuja) 
     118    { 
     119        PhysicsObject ammus = LuoAmmus(ampuja); 
     120        ammus.Size *= 3; 
     121        ammus.Image = rakettiAmmusKuva; 
     122        AddCollisionHandler(ammus, RakettiOsuu); 
     123    } 
    105124 
    106125    void Ammu(PhysicsObject ampuja) 
     126    { 
     127        PhysicsObject ammus = LuoAmmus(ampuja); 
     128 
     129        if(ase.Equals("plasmaase")) 
     130        { 
     131            ammus.Image = plasmaAmmusKuva; 
     132            ammus.IgnoresCollisionResponse = true; 
     133        } 
     134 
     135 
     136 
     137    } 
     138 
     139    PhysicsObject LuoAmmus(PhysicsObject ampuja) 
    107140    { 
    108141        PhysicsObject ammus = new PhysicsObject(10, 10); 
     
    118151        ammus.CollisionIgnoreGroup = ampuja.CollisionIgnoreGroup; 
    119152        ammus.Hit(Vector.FromLengthAndAngle(1000, ampuja.Angle + Angle.FromDegrees(90))); 
    120         if(ase.Equals("plasmaase")) 
    121         { 
    122             ammus.Image = plasmaAmmusKuva; 
    123             ammus.IgnoresCollisionResponse = true; 
    124         } 
    125153 
    126154        Add(ammus); 
     
    129157        AddCollisionHandler(ammus, AmmusOsuu); 
    130158 
     159        return ammus; 
     160    } 
     161 
     162    void RakettiOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     163    { 
     164        Explosion e = new Explosion(150); 
     165        e.Position = kohde.Position; 
     166        e.AddShockwaveHandler("perusvihu", PaineaaltoOsuu); 
     167        Add(e); 
     168    } 
     169 
     170    void PaineaaltoOsuu(IPhysicsObject olio, Vector shokki) 
     171    { 
     172        olio.Destroy(); 
     173        // tehdään jotain 
    131174    } 
    132175 
     
    143186    void PelaajaOsuu(PhysicsObject alus, PhysicsObject kohde) 
    144187    { 
    145         alus.Destroy(); 
    146         rajahdys.AddEffect(alus.X, alus.Y, 100); 
    147         ControllerOne.Vibrate(1.5, 1.5, 0.0, 0.0, 1.5); 
    148         topLista.EnterAndShow(pisteLaskuri.Value); 
    149         topLista.HighScoreWindow.Closed += IkkunaSuljettu; 
    150  
    151     } 
     188        if (osuttiinkoJo) return; 
     189        IsPaused = true; 
     190        osuttiinkoJo = true; 
     191        //alus.Destroy(); 
     192        Vector pos = alus.Position; 
     193        //alus = null; 
     194        DoNextUpdate(delegate 
     195        { 
     196 
     197            rajahdys.AddEffect(pos.X, pos.Y, 100); 
     198            ControllerOne.Vibrate(1.5, 1.5, 0.0, 0.0, 1.5); 
     199            elämät.Value--; 
     200            if (elämät.Value > 0) JatkaPeliaAluksella(); 
     201 
     202        }); 
     203 
     204         
     205    } 
     206 
     207    void JatkaPeliaAluksella() 
     208    { 
     209         
     210        //ClearControls(); 
     211        ase = ""; 
     212        //Luoalus(aloitusPaikka, RUUDUN_LEVEYS, RUUDUN_LEVEYS); 
     213        //Kontrollit(); 
     214        alus.Position = aloitusPaikka; 
     215        IsPaused = false; 
     216        osuttiinkoJo = false; 
     217    } 
     218 
    152219     
    153220    void IkkunaSuljettu(Window sender) 
     
    194261        TileMap ruudut = TileMap.FromLevelAsset("kentta1"); 
    195262        ruudut.SetTileMethod('a', Luoalus); 
    196         ruudut.SetTileMethod('h', LisaaHamiksenPaikka); 
     263        ruudut.SetTileMethod('h', LisaaHamiksenPaikka);        
    197264        ruudut.SetTileMethod('p', LisaaVihunPaikka); 
    198265        ruudut.SetTileMethod('t', Luoplasmaase); 
     
    203270    void Luoalus(Vector paikka, double leveys, double korkeus) 
    204271    { 
     272        aloitusPaikka = paikka; 
    205273        alus = new PhysicsObject(leveys, korkeus, Shape.Circle); 
    206274        Add(alus); 
     
    214282        AddCollisionHandler(alus, "perusvihu", PelaajaOsuu); 
    215283        AddCollisionHandler(alus, TarkistaKerattavat); 
     284        osuttiinkoJo = false; 
    216285    } 
    217286 
     
    270339        seuraajanAivot.Speed = 200; 
    271340        seuraajanAivot.Active = true; 
     341        seuraajanAivot.Updated += delegate { PaivitaAivot(seuraajanAivot); }; 
    272342        perusvihu.Brain = seuraajanAivot; 
    273343        perusvihu.Tag = "perusvihu"; 
    274344        return perusvihu; 
    275345    } 
     346 
     347    void PaivitaAivot(FollowerBrain aivot) 
     348    { 
     349        aivot.Active = true; 
     350 
     351    } 
     352 
    276353    void Paavalikko() 
    277354    { 
     
    294371        plasmaase.Hit(new Vector(0, -500)); 
    295372    } 
    296          
    297     
    298  
    299  
     373    void Luoraketti(Vector paikka, double leveys, double korkeus) 
     374    { 
     375        PhysicsObject raketti = new PhysicsObject(leveys, korkeus); 
     376        raketti.Position = paikka; 
     377        Add(raketti); 
     378        raketti.CanRotate = false; 
     379        Image rakettikuva = LoadImage("token2"); 
     380        raketti.Image = rakettikuva; 
     381        raketti.Tag = "raketti"; 
     382        raketti.Hit(new Vector(0, -500)); 
     383    } 
     384 
     385 
     386    void TarkistaSaadaankoElama() 
     387    { 
     388        elämät.Value++; 
     389        pisteLaskuri.MaxValue += 100000; 
     390 
     391    } 
     392     
    300393 
    301394    void LuoPistelaskuri() 
    302395    { 
    303396        pisteLaskuri = new IntMeter(0); 
     397        pisteLaskuri.MaxValue = 100000; 
     398        pisteLaskuri.UpperLimit += TarkistaSaadaankoElama; 
    304399 
    305400        Label pisteNaytto = new Label(); 
     
    311406        pisteNaytto.BindTo(pisteLaskuri); 
    312407        Add(pisteNaytto); 
    313     } 
    314      
    315      
    316  
     408 
     409        elämät = new IntMeter(3, 0, 9); 
     410 
     411        elämät.LowerLimit += NaytaTopLista; 
     412 
     413        Label elamaNaytto = new Label(); 
     414        elamaNaytto.X = Screen.Right - 100; 
     415        elamaNaytto.Y = Screen.Top - 100; 
     416        elamaNaytto.TextColor = Color.Black; 
     417        elamaNaytto.Color = Color.White; 
     418 
     419        elamaNaytto.BindTo(elämät); 
     420        Add(elamaNaytto); 
     421    } 
     422 
     423 
     424    void NaytaTopLista() 
     425    { 
     426        topLista.EnterAndShow(pisteLaskuri.Value); 
     427        topLista.HighScoreWindow.Closed += IkkunaSuljettu; 
     428 
     429 
     430    } 
    317431 
    318432 
  • 2013/30/NikiV/Airbattle/Airbattle/AirbattleContent/AirbattleContent.contentproj

    r4669 r4747  
    150150    </Compile> 
    151151  </ItemGroup> 
     152  <ItemGroup> 
     153    <Compile Include="token2.png"> 
     154      <Name>token2</Name> 
     155      <Importer>TextureImporter</Importer> 
     156      <Processor>TextureProcessor</Processor> 
     157    </Compile> 
     158  </ItemGroup> 
    152159  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    153160  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2013/30/NikiV/Airbattle/Airbattle/AirbattleContent/kentta1.txt

    r4669 r4747  
    2020 
    2121 
    22             a 
    2322 
    2423 
     
    2827 
    2928 
     29            a 
    3030 
    31  
    32  
    33                               
    34  
    35  
    36  
    37  
    38  
    39  
    40           
Note: See TracChangeset for help on using the changeset viewer.