Changeset 4023 for 2013/23


Ignore:
Timestamp:
2013-06-07 13:26:49 (6 years ago)
Author:
anlakane
Message:
 
Location:
2013/23/AkuK/FysiikkaPeli3/FysiikkaPeli3
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2013/23/AkuK/FysiikkaPeli3/FysiikkaPeli3/FysiikkaPeli3/FysiikkaPeli3.cs

    r3983 r4023  
    99public class FysiikkaPeli3 : PhysicsGame 
    1010{ 
     11    EasyHighScore topLista = new EasyHighScore(); 
     12    IntMeter pisteLaskuri; 
     13    AssaultRifle pelaajan1Ase; 
    1114    Image taustaKuva = LoadImage("tausta5"); 
    12     
    13  
     15 
     16    List<Vector> rottienspawnit = new List<Vector>(); 
    1417    DoubleMeter elamaLaskuri; 
    1518 
     
    1821    public override void Begin() 
    1922    { 
    20         
    21  
    22         // TODO: Kirjoita ohjelmakoodisi tähän 
    23  
    24         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    25         
     23 
     24         
    2625        LuoAlkuValikko(); 
    2726 
     27 
    2828      
    2929 
     
    3535    { 
    3636 
    37    MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko","Start Game", "Help", "Quit"); 
     37   MultiSelectWindow alkuValikko = new MultiSelectWindow("Plague Survival Beta","Start Game", "Help", "Quit"); 
    3838        Keyboard.Listen(Key.Escape, ButtonState.Pressed,Exit, "Lopeta peli"); 
    3939   
     
    4242        alkuValikko.AddItemHandler(1,Help); 
    4343        alkuValikko.AddItemHandler(2, Exit); 
    44  
     44     
    4545 
    4646    } 
    4747    void AloitaPeli() 
    48     { LuoKentta(); 
    49  
     48    { 
     49        rottienspawnit.Clear(); 
     50        LuoKentta(); 
     51    LuoPistelaskuri(); 
    5052  
    5153 
     
    5759    void Help() 
    5860    { 
    59  
     61        MessageDisplay.Add("Move with arrow keys, Press space to shoot and Press A and D to Rotate Gun"); 
     62        LuoAlkuValikko(); 
     63 
     64 
     65   
    6066 
    6167    } 
     
    8793 
    8894        ruudut.SetTileMethod(Color.FromHexCode("F7FF1E"), LuoRotta); 
    89  
     95        ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LisaaSpawner); 
    9096        ruudut.Execute(20, 20); 
    9197        LuoElamanLaskuri(); 
    9298 Level.Background.Image = taustaKuva; 
    9399Level.Background.TileToLevel(); 
    94  
     100Timer ajastin = new Timer(); 
     101ajastin.Interval = 1.5; 
     102ajastin.Timeout += Lisaarottia; 
     103ajastin.Start(); 
    95104 
    96105    } 
     
    118127         AddCollisionHandler(Pelaaja1, "health", PelaajaParanee); 
    119128         Pelaaja1.Tag = "pelaaja"; 
    120  
    121  
    122  
     129pelaajan1Ase = new AssaultRifle(30, 10); 
     130        Keyboard.Listen (Key.A, ButtonState.Down,LiikutaAsetta,null, pelaajan1Ase,5.0); 
     131        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaAsetta, null, pelaajan1Ase, -5.0); 
     132 
     133 
     134     Pelaaja1.Add(pelaajan1Ase); 
     135 
     136        pelaajan1Ase.Ammo.Value = 1000; 
     137 
     138        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     139        pelaajan1Ase.ProjectileCollision = AmmusOsui; 
     140        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase); 
    123141    } 
    124142 
     
    167185    seuraajaAivot.Speed = 300;                  
    168186seuraajaAivot.DistanceFar = 600;            
    169 seuraajaAivot.DistanceClose = 200;         
     187seuraajaAivot.DistanceClose = 0;         
    170188seuraajaAivot.StopWhenTargetClose = true; 
    171189 
     
    183201        Lepakko.Image = Leppakko; 
    184202        Add(Lepakko); 
    185         RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200); 
    186         satunnaisAivot.ChangeMovementSeconds = 3; 
    187         satunnaisAivot.WanderRadius = 200; 
    188  
    189         Lepakko.Brain = satunnaisAivot; 
     203 
     204        FollowerBrain seuraajaAivot = new FollowerBrain("pelaaja"); 
     205        seuraajaAivot.Speed = 400; 
     206        seuraajaAivot.DistanceFar = 600; 
     207        seuraajaAivot.DistanceClose = 0; 
     208        seuraajaAivot.StopWhenTargetClose = true; 
     209        Lepakko.Brain = seuraajaAivot; 
    190210        Lepakko.Position = paikka; 
    191211 
    192212 
    193213        Lepakko.Tag = "pahis"; 
    194         
    195  
    196  
    197214 
    198215 
     
    204221    { 
    205222 
    206         elamaLaskuri = new DoubleMeter(10); 
    207         elamaLaskuri.MaxValue = 10; 
     223        elamaLaskuri = new DoubleMeter(30); 
     224        elamaLaskuri.MaxValue = 30; 
    208225        elamaLaskuri.LowerLimit += ElamaLoppui; 
    209226 
     
    244261        if (elamaLaskuri.Value == 0) 
    245262            Pelaaja1.Destroy(); 
     263 
    246264        
    247  
     265       
    248266 
    249267 
     
    261279            Pelaaja1.Destroy(); 
    262280 
    263  
     281         
    264282 
    265283    } 
     
    270288 
    271289        Potion.Destroy(); 
    272  
    273  
    274     } 
     290        pisteLaskuri.Value += 1; 
     291 
     292    } 
     293    
     294     
     295    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     296    { 
     297        if (kohde.Tag.ToString() == "rotta") kohde.Destroy(); 
     298        if (kohde.Tag.ToString() == "pahis") kohde.Destroy(); 
     299        pisteLaskuri.Value += 5; 
     300        ammus.Destroy(); 
     301 
     302           
     303    } 
     304 
     305 
     306 
     307    void AmmuAseella(AssaultRifle ase) 
     308    { 
     309        PhysicsObject ammus = ase.Shoot(); 
     310        
     311         if(ammus != null) 
     312            ammus.LifetimeLeft = TimeSpan.FromSeconds(1.0); 
     313 
     314 
     315 
     316 
     317    } 
     318 
     319    void LiikutaAsetta(AssaultRifle ase,double kulma) 
     320    { 
     321 
     322ase.Angle += Angle.FromDegrees(kulma); 
     323 
     324 
     325 
     326 
     327    } 
     328 
     329    void LuoPistelaskuri() 
     330    { 
     331 
     332        pisteLaskuri = new IntMeter(0); 
     333 
     334        Label pisteNaytto = new Label(); 
     335        pisteNaytto.X = Screen.Left + 100; 
     336        pisteNaytto.Y = Screen.Top - 100; 
     337        pisteNaytto.TextColor = Color.Black; 
     338        pisteNaytto.Color = Color.White; 
     339 
     340        pisteNaytto.BindTo(pisteLaskuri); 
     341        Add(pisteNaytto); 
     342        pisteNaytto.Title = "Current score"; 
     343pisteLaskuri.Reset(); 
     344    } 
     345 
     346 
     347    void Lisaarottia() 
     348    { 
     349        PhysicsObject Rotta = new PhysicsObject(30, 30); 
     350        Image Rottga = LoadImage("Rottqa"); 
     351        Rotta.Image = Rottga; 
     352   Add(Rotta); 
     353        Rotta.Tag = "rotta"; 
     354        Rotta.Position = rottienspawnit[RandomGen.NextInt(rottienspawnit.Count)]; 
     355FollowerBrain seuraajaAivot = new FollowerBrain("pelaaja"); 
     356    seuraajaAivot.Speed = 300;                  
     357seuraajaAivot.DistanceFar = 600;            
     358seuraajaAivot.DistanceClose = 0;         
     359seuraajaAivot.StopWhenTargetClose = true; 
     360 
     361 Rotta.Brain = seuraajaAivot; 
     362    
     363 
     364  } 
     365 
     366    void LisaaSpawner( Vector paikka, double leveys, double korkeus) 
     367    { 
     368        rottienspawnit.Add(paikka); 
     369        GameObject spawni = new GameObject(50, 50); 
     370        Image Spawni1 = LoadImage("Spawni1"); 
     371        spawni.Image = Spawni1; 
     372    } 
     373 
     374 
    275375} 
  • 2013/23/AkuK/FysiikkaPeli3/FysiikkaPeli3/FysiikkaPeli3Content/FysiikkaPeli3Content.contentproj

    r3983 r4023  
    171171    </Compile> 
    172172  </ItemGroup> 
     173  <ItemGroup> 
     174    <Compile Include="Spawni1.png"> 
     175      <Name>Spawni1</Name> 
     176      <Importer>TextureImporter</Importer> 
     177      <Processor>TextureProcessor</Processor> 
     178    </Compile> 
     179  </ItemGroup> 
     180  <ItemGroup> 
     181    <Folder Include="NewFolder1\" /> 
     182  </ItemGroup> 
    173183  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    174184  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
Note: See TracChangeset for help on using the changeset viewer.