Changeset 7343 for 2016/24


Ignore:
Timestamp:
2016-06-15 14:59:30 (7 years ago)
Author:
karkaite
Message:
 
Location:
2016/24/IlariJ/ShootIO
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • 2016/24/IlariJ/ShootIO/ShootIO/ShootIO/ShootIO.cs

    r7289 r7343  
    1212    Image zompi2 = LoadImage("zompi2"); 
    1313    Image zompi3 = LoadImage("zompi3"); 
     14    List<Image> vihuKuvat; 
    1415    Image taustaKuva = LoadImage("tausta"); 
    1516    AssaultRifle pyssy; 
    1617    private double liikkumisnopeus = 100; 
     18    private int zompiLeveys = 10; 
     19    private int zompiKorkeus = 12; 
    1720    Image tankinKuva = LoadImage("tankki"); 
    1821    Tankki pelaaja; 
     22 
    1923    DoubleMeter elamaLaskuri; 
    2024    public override void Begin() 
     25    { 
     26        LuoAlkuValikko(); 
     27    } 
     28    void LuoAlkuValikko() 
     29    { 
     30        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 
     31   "Aloita peli", "Parhaat pisteet", "Lopeta"); 
     32         
     33        alkuValikko.AddItemHandler(0, AloitaPeli); 
     34        alkuValikko.AddItemHandler(1, ParhaatPisteet); 
     35        alkuValikko.AddItemHandler(2, Exit); 
     36        Add(alkuValikko); 
     37    } 
     38    void AloitaPeli() 
    2139    { 
    2240        LuoKentta(); 
     
    2442        LisaaOhjaimet(); 
    2543        LuoElamaLaskuri(); 
     44        LuoPistelaskuri(); 
    2645        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella"); 
     46        vihuKuvat = new List<Image> { zompi1, zompi3, zompi2, zompi1, zompi2, zompi1, zompi3, zompi2, zompi3, zompi2, zompi2, zompi3, zompi1, zompi1, zompi3, zompi2, zompi3, zompi1 }; 
     47        LuoVihuAjastin(); 
    2748        Camera.Follow(pelaaja); 
    2849        Camera.Zoom(4); 
     50 
    2951        // TODO: Kirjoita ohjelmakoodisi tähän 
    3052 
    3153        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    3254        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    33     } 
     55 
     56    } 
     57    void ParhaatPisteet() 
     58    { 
     59 
     60    } 
     61 
    3462    void LuoKentta() 
    3563    { 
     
    4169        ruudut.SetTileMethod(Color.Black, LuoEste); 
    4270        ruudut.SetTileMethod(Color.Red, LuoPommi); 
    43         ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LuoVihu, zompi1); 
    44         ruudut.SetTileMethod(Color.FromHexCode("FFD800"), LuoVihu, zompi2); 
    45         ruudut.SetTileMethod(Color.FromHexCode("FF6A00"), LuoVihu, zompi3); 
     71        //ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LuoVihu, zompi1); 
     72        //ruudut.SetTileMethod(Color.FromHexCode("FFD800"), LuoVihu, zompi2); 
     73        //ruudut.SetTileMethod(Color.FromHexCode("FF6A00"), LuoVihu, zompi3); 
    4674 
    4775        //3. Execute luo kentän 
     
    5886        pelaaja.Position = new Vector(0,0); 
    5987        AddCollisionHandler(pelaaja, "pommi", TormaaPommiin); 
     88        AddCollisionHandler(pelaaja, "vihu", TormaaVihuun); 
    6089        Add(pelaaja); 
    6190        pelaaja.Image = tankinKuva; 
     
    6493 
    6594        LuoAse(); 
     95 
     96    } 
     97    void TormaaVihuun(PhysicsObject pelaaja, PhysicsObject vihu) 
     98    { 
     99        elamaLaskuri.Value -= 1; 
     100        vihu.Destroy(); 
    66101 
    67102    } 
     
    111146        Add(rajahdys); 
    112147        pommi.Destroy(); 
    113         this.pelaaja.ElamaLaskuri.Value -=2; 
     148        //this.pelaaja.ElamaLaskuri.Value -=2; 
    114149        elamaLaskuri.Value -=2; 
    115150        rajahdys.Speed = 100.0; 
     
    119154    void LuoElamaLaskuri() 
    120155    { 
    121         elamaLaskuri = new DoubleMeter(10); 
     156        elamaLaskuri = pelaaja.ElamaLaskuri; 
    122157        elamaLaskuri.MaxValue = 10; 
    123158        elamaLaskuri.LowerLimit += ElamaLoppui; 
     
    146181        if (ammus != null) 
    147182        { 
     183            ammus.Tag = "panos"; 
    148184            ammus.Size *= 0.5; 
    149185            //ammus.Image = ... 
     
    175211 
    176212    { 
    177         PhysicsObject Vihu = new PhysicsObject(10, 12); 
    178         Vihu.Shape = Shape.Rectangle; 
    179         Add(Vihu); 
    180         Vihu.Image = vihuKuva; 
    181         Vihu.Position = paikka; 
    182     } 
    183  
    184  
     213        PhysicsObject vihu = new PhysicsObject(zompiLeveys, zompiKorkeus); 
     214        vihu.Shape = Shape.Rectangle; 
     215        Add(vihu); 
     216        vihu.Image = vihuKuva; 
     217        vihu.Position = paikka; 
     218        vihu.CanRotate = false; 
     219        vihu.Tag = "vihu"; 
     220        AddCollisionHandler(vihu, "panos", TormaaLuotiin); 
     221 
     222        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja); 
     223        seuraajanAivot.Active = true; 
     224        seuraajanAivot.TurnWhileMoving = true; 
     225        seuraajanAivot.Speed = 80;                 // Millä nopeudella kohdetta seurataan 
     226        seuraajanAivot.DistanceFar = 1000;           // Etäisyys jolla aletaan seurata kohdetta 
     227        seuraajanAivot.DistanceClose = 10;         // Etäisyys jolloin ollaan lähellä kohdetta 
     228        seuraajanAivot.StopWhenTargetClose = true;  // Pysähdytään kun ollaan lähellä kohdetta 
     229        //seuraajanAivot.FarBrain = satunnaisAivot;   // Käytetään satunnaisaivoja kun ollaan kaukana 
     230        vihu.Brain = seuraajanAivot; 
     231        // Tapahtuma, joka tapahtuu kun ollaan lähellä kohdetta 
     232        seuraajanAivot.TargetClose += delegate { vihuLahella(vihu); }; 
     233    } 
     234 
     235    void TormaaLuotiin(PhysicsObject vihu,PhysicsObject ammus) 
     236    { 
     237        vihu.Destroy(); 
     238        ammus.Destroy(); 
     239        pisteLaskuri.Value++; 
     240    } 
     241 
     242    void vihuLahella(PhysicsObject vihu) 
     243    { 
     244        //pelaaja.ElamaLaskuri.Value--; 
     245    } 
     246 
     247    void LuoVihuAjastin() 
     248    { 
     249         
     250        Timer ajastin = new Timer(); 
     251        ajastin.Interval = 0.3; 
     252        ajastin.Timeout += delegate { 
     253            RandomGen.Shuffle(vihuKuvat); 
     254            int index = RandomGen.NextInt(0, 17); 
     255            LuoVihu(new Vector(RandomGen.NextDouble(Level.Left + 20, Level.Right - 20), RandomGen.NextDouble(Level.Bottom + 20, Level.Top - 20)), zompiLeveys, zompiKorkeus, vihuKuvat[index]); 
     256        }; 
     257        ajastin.Start(); 
     258    } 
     259 
     260    IntMeter pisteLaskuri; 
     261    void LuoPistelaskuri() 
     262    { 
     263        pisteLaskuri = new IntMeter(0); 
     264 
     265        Label pisteNaytto = new Label(); 
     266        pisteNaytto.X = Screen.Left + 100; 
     267        pisteNaytto.Y = Screen.Top - 100; 
     268        pisteNaytto.TextColor = Color.White; 
     269        pisteNaytto.Color = Color.Black; 
     270 
     271        pisteNaytto.BindTo(pisteLaskuri); 
     272        Add(pisteNaytto); 
     273    } 
    185274} 
    186275 
    187276class Tankki : PhysicsObject 
    188277{ 
    189     private IntMeter elamaLaskuri = new IntMeter(10, 0, 20); 
    190     public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     278    private DoubleMeter elamaLaskuri = new DoubleMeter(10, 0, 20); 
     279    public DoubleMeter ElamaLaskuri { get { return elamaLaskuri; } } 
    191280 
    192281    public Tankki(double leveys, double korkeus) 
     
    196285    } 
    197286 
     287 
    198288} 
  • 2016/24/IlariJ/ShootIO/ShootIO/ShootIO/obj/x86/Debug/ContentPipeline-{8CBB56FE-761C-42CC-99C2-D82A0DF5B03E}.xml

    r7289 r7343  
    99      <Options>None</Options> 
    1010      <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\tankki.xnb</Output> 
    11       <Time>2016-06-13T14:01:59.3737083+03:00</Time> 
     11      <Time>2016-06-15T10:12:15.4420855+03:00</Time> 
    1212    </Item> 
    1313    <Item> 
     
    1818      <Options>None</Options> 
    1919      <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\mappi.xnb</Output> 
    20       <Time>2016-06-14T14:44:51.634375+03:00</Time> 
     20      <Time>2016-06-15T10:12:15.5200855+03:00</Time> 
    2121    </Item> 
    2222    <Item> 
     
    2727      <Options>None</Options> 
    2828      <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\pommi.xnb</Output> 
    29       <Time>2016-06-13T14:40:18.2205688+03:00</Time> 
     29      <Time>2016-06-15T10:12:15.4420855+03:00</Time> 
    3030    </Item> 
    3131    <Item> 
     
    3636      <Options>None</Options> 
    3737      <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\este.xnb</Output> 
    38       <Time>2016-06-13T14:48:21.3041201+03:00</Time> 
     38      <Time>2016-06-15T10:12:15.4420855+03:00</Time> 
    3939    </Item> 
    4040    <Item> 
     
    4545      <Options>None</Options> 
    4646      <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\tausta.xnb</Output> 
    47       <Time>2016-06-14T12:33:32.5605464+03:00</Time> 
     47      <Time>2016-06-15T10:12:15.4576855+03:00</Time> 
    4848    </Item> 
    4949    <Item> 
     
    5454      <Options>None</Options> 
    5555      <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\zompi1.xnb</Output> 
    56       <Time>2016-06-14T14:17:08.4710753+03:00</Time> 
     56      <Time>2016-06-15T10:12:15.4264855+03:00</Time> 
    5757    </Item> 
    5858    <Item> 
     
    6363      <Options>None</Options> 
    6464      <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\zompi2.xnb</Output> 
    65       <Time>2016-06-14T14:17:21.699398+03:00</Time> 
     65      <Time>2016-06-15T10:12:15.4420855+03:00</Time> 
    6666    </Item> 
    6767    <Item> 
     
    7272      <Options>None</Options> 
    7373      <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\zompi3.xnb</Output> 
    74       <Time>2016-06-14T14:17:39.6031882+03:00</Time> 
     74      <Time>2016-06-15T10:12:15.4576855+03:00</Time> 
    7575    </Item> 
    7676    <BuildSuccessful>true</BuildSuccessful> 
Note: See TracChangeset for help on using the changeset viewer.