Ignore:
Timestamp:
2017-06-15 11:57:12 (2 years ago)
Author:
npo17_18
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/24/ViljamiM/Zombodroid/Zombodroid/Zombodroid/Zombodroid.cs

    r8669 r8703  
    99public class Zombodroid : PhysicsGame 
    1010{ 
    11     PhysicsObject matti; 
     11    Viho matti; 
    1212    SoundEffect Aani = LoadSoundEffect("pyssyaani"); 
    1313    bool vasenPyssy = true; 
    1414    List<Viho> vihut = new List<Viho>(); 
    1515    List<PhysicsObject> nakokentat = new List<PhysicsObject>(); 
     16    Image tsompinkuva = LoadImage("zombi"); 
     17    Image puunkuva = LoadImage("puu"); 
     18    Image kivenkuva = LoadImage("kivi"); 
    1619    public override void Begin() 
    1720    { 
    1821        AsetaOhjaimet(); 
    19         AsetaHenkilot(); 
     22      
    2023 
    2124        Mappi(); 
     
    2730        IsMouseVisible = true; 
    2831 
    29          
    30  
    31  
     32        AlkuValikko(); 
     33 
     34        Level.Background.Image = LoadImage("mappi2"); 
     35        Level.Background.Size *= 30; 
    3236 
    3337    } 
     
    5862 
    5963    } 
    60     void AsetaHenkilot() 
    61     { 
    62         matti = new PhysicsObject(75, 75); 
     64    void AsetaHenkilot(Vector paikka, double leveys, double korkeus) 
     65    { 
     66        matti = new Viho(75, 75); 
    6367        matti.Image = LoadImage("oikeeukkeli"); 
    6468        matti.Tag = "pelaaja"; 
    65         matti.X = 100; 
     69        matti.Position = paikka; 
     70        matti.CollisionIgnoreGroup = 1; 
     71 
    6672        Add(matti, 3); 
    6773        matti.CanRotate = false; 
     
    7278        matti.Add(laser); 
    7379        AddCollisionHandler(matti, "nakoalue", VihuNakeeMatin); 
    74  
     80        AddCollisionHandler(matti, "tsompi", VihuOsuuMattiin); 
    7581    } 
    7682 
     
    8692    void Ammu() 
    8793    { 
     94         
     95        if (matti.Hengissa == false) return; 
    8896        Aani.Play(); 
    8997        PhysicsObject panos = new PhysicsObject(5.0, 5.0); 
     98        panos.CollisionIgnoreGroup = 1; 
    9099        if (vasenPyssy) 
    91100        { 
     
    103112        panos.Velocity = ((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 2000; 
    104113 
    105          
     114 
    106115 
    107116 
    108117        panos.Tag = "luoti"; 
    109118 
     119    } 
     120    void AlkuValikko() 
     121    { 
     122        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 
     123"Aloita peli", "Lopeta"); 
     124        Add(alkuValikko); 
    110125    } 
    111126    void Mappi() 
     
    114129        TileMap ruudut = TileMap.FromLevelAsset("mappi1"); 
    115130        ruudut.SetTileMethod('z', YksVihu); 
    116        //ruudut.SetTileMethod('#', LuoPalikka); 
    117         //ruudut.SetTileMethod('*', LuoTahti); 
    118         ruudut.Execute(100, 100); 
    119  
    120  
    121  
     131        ruudut.SetTileMethod('m', AsetaHenkilot); 
     132        ruudut.SetTileMethod('p', LuoPuu); 
     133        ruudut.SetTileMethod('#', LuoMohkale); 
     134        ruudut.SetTileMethod('k', LuoKivi); 
     135 
     136        ruudut.Execute(200, 200); 
     137 
     138 
     139 
     140    } 
     141    void LuoKivi(Vector paikka, double leveys, double korkeus) 
     142    { 
     143        PhysicsObject Kivi = PhysicsObject.CreateStaticObject(200.0, 200.0); 
     144        Kivi.Position = paikka; 
     145        Kivi.Position = paikka; 
     146        Kivi.Image = kivenkuva; 
     147        Add(Kivi); 
     148    } 
     149    void LuoMohkale(Vector paikka, double leveys, double korkeus) 
     150    { 
     151        PhysicsObject Mohkale = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     152        Mohkale.Position = paikka; 
     153 
     154        Add(Mohkale); 
     155        Mohkale.IsVisible = true; 
     156    } 
     157    void LuoPuu(Vector paikka, double leveys, double korkeus) 
     158    { 
     159        PhysicsObject puu = PhysicsObject.CreateStaticObject(200.0, 200.0); 
     160        puu.Position = paikka; 
     161        puu.Image = puunkuva; 
     162        Add(puu); 
    122163    } 
    123164    void LiikuEteen() 
     
    128169    { 
    129170        Viho vihu = new Viho(100.0, 100.0); 
    130         RandomMoverBrain satunnaisAivot = new RandomMoverBrain(300); 
     171        vihu.Image = tsompinkuva; 
     172        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(250); 
    131173        satunnaisAivot.ChangeMovementSeconds = 3; 
    132174        vihu.Brain = satunnaisAivot; 
     
    137179        vihu.Tag = "tsompi"; 
    138180 
    139         double nakokentanpituus = 1000; 
    140         PhysicsObject nakokentta = new PhysicsObject(1000, nakokentanpituus); 
     181        double nakokentanpituus = 1500; 
     182        PhysicsObject nakokentta = new PhysicsObject(1500, nakokentanpituus); 
    141183        nakokentta.Tag = "nakoalue"; 
    142184        //nakokentta.Y = vihu.Y + nakokentanpituus / 2 + 16; 
     
    171213        vihu.Brain = suraajanAivot; 
    172214        suraajanAivot.TurnWhileMoving = true; 
    173          
     215        suraajanAivot.Speed = 300; 
    174216    } 
    175217    void LuotiOsuu(PhysicsObject vihu, PhysicsObject luoti) 
     
    180222 
    181223    } 
    182      
     224    void VihuOsuuMattiin(PhysicsObject matti, PhysicsObject vihu) 
     225 
     226    { 
     227        Viho m = (Viho)matti; 
     228        m.ElmaLaskuri.Value--; 
     229 
     230    } 
    183231} 
    184232class Viho : PhysicsObject 
     
    187235    public IntMeter ElmaLaskuri { get { return elamaLaskuri; } } 
    188236 
     237    public bool Hengissa { get; set; } 
     238 
    189239    public PhysicsObject Nakokentta { get; set; } 
    190240 
     
    192242        : base(leveys, korkeus) 
    193243    { 
    194         elamaLaskuri.LowerLimit += delegate { this.Destroy(); this.Nakokentta.Destroy(); }; 
     244        elamaLaskuri.LowerLimit += delegate 
     245        { 
     246            this.Destroy(); 
     247            if (this.Nakokentta != null) this.Nakokentta.Destroy(); Hengissa = false; 
     248        }; 
     249        Hengissa = true; 
     250 
    195251 
    196252    } 
Note: See TracChangeset for help on using the changeset viewer.