Changeset 6685


Ignore:
Timestamp:
2015-07-01 14:56:27 (4 years ago)
Author:
saveviku
Message:
 
Location:
2015/27/SanteriK/Hundreddays
Files:
2 added
14 edited

Legend:

Unmodified
Added
Removed
  • 2015/27/SanteriK/Hundreddays/Hundreddays/Hundreddays/Hundreddays.cs

    r6612 r6685  
    1313    Image pelaajankuva1 = LoadImage("ukkeli1"); 
    1414    Image groundImage = LoadImage("lattia"); 
     15    Image zombinkuva = LoadImage("zombie"); 
     16 
    1517 
    1618    PhysicsObject ukkeli2; 
    1719    PhysicsObject ukkeli1; 
     20     
    1821 
    1922    //Kuinka nopeasti ukkeli liikkuu maksimissaan 
     
    2124 
    2225    AssaultRifle ase; 
    23  
     26    AssaultRifle ase2; 
    2427    public override void Begin() 
    2528    { 
     
    4649 
    4750        ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LuoPelaaja1); 
    48         ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LuoPelaaja2); 
     51        ruudut.SetTileMethod(Color.FromHexCode("4CFF00"), LuoPelaaja2); 
     52        ruudut.SetTileMethod(Color.FromHexCode("FF0000"), Luozombi); 
    4953        ruudut.SetTileMethod(Color.Black, LuoTaso); 
    5054        ruudut.SetTileMethod(Color.Gray, LuoLattia); 
     
    6266 
    6367    } 
    64    
     68    void Luozombi(Vector paikka, double leveys, double korkeus) 
     69    { 
     70 
     71        Zombi zombi = new Zombi(40, 20); 
     72        zombi.Image = zombinkuva; 
     73        zombi.FlipImage(); 
     74        zombi.AngularDamping = 0.8; 
     75        zombi.Tag = "zombi"; 
     76        Add(zombi); 
     77 
     78        AddCollisionHandler(zombi, "ammus", delegate(PhysicsObject z, PhysicsObject ammus) 
     79        { 
     80            Zombi zo = z as Zombi; 
     81            zo.ElamaLaskuri.Value--; 
     82        }); 
     83 
     84        FollowerBrain seuraajanAivot = new FollowerBrain("ukkeli"); 
     85        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(); 
     86        seuraajanAivot.Speed = 50;                 // Millä nopeudella kohdetta seurataan 
     87        seuraajanAivot.DistanceFar = 150;           // Etäisyys jolla aletaan seurata kohdetta 
     88         
     89        seuraajanAivot.FarBrain = satunnaisAivot;   // Käytetään satunnaisaivoja kun ollaan kaukana 
     90        satunnaisAivot.ChangeMovementSeconds = 3; 
     91 
     92        //Aivot käyttöön oliolle 
     93        zombi.Brain = seuraajanAivot; 
     94 
     95        
     96    } 
     97 
     98 
     99 
    65100    void AsetaOhjaimet() 
    66101    { 
    67         //ControllerTwo.ListenAnalog(AnalogControl.LeftStick, 0.1, LiikutaPelaajaa, "Liikuta pelaajaa tattia pyörittämällä.", ukkeli2); 
    68         //ControllerTwo.Listen(Button.A, ButtonState.Down, AmmuAseella, "ammu", ase); 
     102        ControllerTwo.ListenAnalog(AnalogControl.LeftStick, 0.1, LiikutaPelaajaa, "Liikuta pelaajaa tattia pyörittämällä.", ukkeli2); 
     103        ControllerTwo.Listen(Button.A, ButtonState.Down, AmmuAseella, "ammu", ase2); 
    69104        ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, LiikutaPelaajaa, "Liikuta pelaajaa tattia pyörittämällä.", ukkeli1); 
    70105        ControllerOne.Listen(Button.A, ButtonState.Down, AmmuAseella, "ammu", ase); 
     
    86121        pelaaja.Angle = tatinTila.StateVector.Angle; 
    87122        pelaaja.Push(tatinTila.StateVector * maxLiikkuminen); 
    88         
     123 
    89124    } 
    90125 
     
    97132            //ammus.Size *= 3; 
    98133            //ammus.Image = ... 
    99             //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     134            ammus.MaximumLifetime = TimeSpan.FromSeconds(6.0); 
     135            ammus.Tag = "ammus"; 
    100136        } 
    101137    } 
     
    114150        ukkeli.Image = pelaajankuva1; 
    115151        ukkeli.Color = Color.Red; 
    116          
     152        ukkeli.Tag = "ukkeli"; 
    117153        Add(ukkeli); 
    118154 
    119         ukkeli1 = ukkeli; 
    120  
     155        AddCollisionHandler(ukkeli, "zombi", PelaajaosuuVihuun); 
     156 
     157        LuoLattia(paikka, leveys, korkeus); 
     158 
     159        return ukkeli; 
     160    } 
     161 
     162    void LuoPelaaja1(Vector paikka, double leveys, double korkeus) 
     163    { 
     164        ukkeli1 = LuoPelaaja(paikka, leveys, korkeus); 
    121165        ase = new AssaultRifle(30, 10); 
    122166 
     
    126170        // //Mitä tapahtuu kun ammus osuu johonkin? 
    127171        ase.ProjectileCollision = AmmusOsui; 
    128         ukkeli.Add(ase); 
    129  
    130         LuoLattia(paikka, leveys, korkeus); 
    131  
    132         return ukkeli; 
    133     } 
    134  
    135     void LuoPelaaja1(Vector paikka, double leveys, double korkeus) 
    136     { 
    137         ukkeli1 = LuoPelaaja(paikka, leveys, korkeus); 
     172        ukkeli1.Add(ase); 
     173 
    138174    } 
    139175 
     
    141177    { 
    142178        ukkeli2 = LuoPelaaja(paikka, leveys, korkeus); 
     179        ase2 = new AssaultRifle(30, 10); 
     180 
     181        // //Ammusten määrä aluksi: 
     182        ase2.Ammo.Value = 1000; 
     183        ase2.IsVisible = false; 
     184        // //Mitä tapahtuu kun ammus osuu johonkin? 
     185        ase2.ProjectileCollision = AmmusOsui; 
     186        ukkeli2.Add(ase2); 
     187 
     188    } 
     189    void PelaajaosuuVihuun(PhysicsObject ukkeli,PhysicsObject zombi ) 
     190    { 
     191        ukkeli.Destroy(); 
    143192    } 
    144193} 
    145  
    146  
     194class Zombi : PhysicsObject 
     195{ 
     196    private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 
     197    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     198 
     199    public Zombi(double leveys, double korkeus) 
     200        : base(leveys, korkeus) 
     201    { 
     202        elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     203    } 
     204} 
     205 
  • 2015/27/SanteriK/Hundreddays/Hundreddays/HundreddaysContent/HundreddaysContent.contentproj

    r6612 r6685  
    9393    </Compile> 
    9494  </ItemGroup> 
     95  <ItemGroup> 
     96    <Compile Include="valo.png"> 
     97      <Name>valo</Name> 
     98      <Importer>TextureImporter</Importer> 
     99      <Processor>TextureProcessor</Processor> 
     100    </Compile> 
     101  </ItemGroup> 
    95102  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    96103  <!--  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.