Ignore:
Timestamp:
2015-10-17 14:53:06 (4 years ago)
Author:
sieerinn
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/24/EemeliK/Zombieland/Files/ZombieLandV1.0/ZombieLand/ZombieLand/ZombieLand.cs

    r6082 r7072  
    1  using System; 
     1using System; 
    22using System.Collections.Generic; 
    33using Jypeli; 
     
    7474    int[] maxLoot = new int[] { 15, 30, 30, 30, 30 }; 
    7575 
    76     SoundEffect pislaapiupiu= LoadSoundEffect("pisla"); 
     76    SoundEffect pislaapiupiu = LoadSoundEffect("pisla"); 
    7777    SoundEffect sniperAani = LoadSoundEffect("Snipuaani"); 
    7878    SoundEffect Akaani = LoadSoundEffect("Ak-47"); 
     
    9898    PhysicsObject palikka; 
    9999    GameObject cursor; 
     100    IntMeter raheLaskuri; 
     101    PhysicsObject kauppa; 
    100102    GameObject cursor2; 
    101103 
     
    110112    Image pelaajanKuvaAK = LoadImage("pelaajakonsulla"); 
    111113    string aseNimi = "pistooli"; 
    112      
     114 
    113115    Image helaKuva = LoadImage("hela"); 
    114116    Image koriskentanKuva = LoadImage("koriskentta"); 
     
    124126    Image puunKuva = LoadImage("tree"); 
    125127    Image ammonKuva = LoadImage("ammo"); 
     128    Image taustaKuva1 = LoadImage("bc1"); 
    126129    Image LogiKuva = LoadImage("log"); 
    127130    Image kivenKuva = LoadImage("floor"); 
     
    135138    public override void Begin() 
    136139    { 
    137         goLaskuri = new Label(""); 
    138         Add(goLaskuri); 
    139         IsFullScreen = false; 
    140         LuoKentta(); 
    141         LuoElamaLaskuri(); 
    142         LuoBensaLaskuri(); 
    143         LuoElamaLaskuri2(); 
    144         LuoPelaajan2Ase(); 
    145         Ammukset(); 
    146         LuoCursor(); 
    147         LuoCursor2(new Vector(pelaaja2.Position.X + 20, pelaaja2.Position.Y + 20)); 
    148         LisaaNappaimet(); 
    149  
    150         for (int i = 0; i < loottikuvat.Length; i++) 
    151         { 
    152             kamaMittarit[i] = new KamaMittari(maxLoot[i], loottikuvat[i], new Vector(Screen.Right - 150, Screen.Top - 100 - 50 * i), this); 
    153         } 
    154          
    155         AddCollisionHandler(pelaaja, auto, MeneAutoon); 
    156          
    157         AddCollisionHandler(pelaaja2, auto, MeneAutoon); 
    158         AddCollisionHandler(pelaaja, "Ammoboxi", SaaAmmoBoxi); 
    159         AddCollisionHandler(pelaaja2, "lootti", KeraaLootti); 
    160          
    161         AddCollisionHandler(pelaaja, "hela", SaaHela); 
    162         AddCollisionHandler(pelaaja2, "hela", SaaHelaa); 
    163         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    164         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     140 
     141        Jee(); 
     142 
    165143    } 
    166144 
     
    175153    { 
    176154        //goLaskuri.Text = GetObjects(x => x is GameObject).Count.ToString(); 
    177          
     155 
    178156        if (kuski != null && !ensimainenPelaajaAutoon.IsPlaying && !autonStandbyAani.IsPlaying) 
    179157        { 
    180158            autonStandbyAani.Play(); 
    181159        } 
    182         if(kuski == null) 
     160        if (kuski == null) 
    183161        { 
    184162            autonStandbyAani.Stop(); 
     
    187165    } 
    188166 
    189     void LuoPelaaja(Vector paikka, double leveys, double korkeus) 
    190     { 
    191         pelaaja = new PhysicsObject(70, 70); 
     167    void LuoPelaaja(Vector paikka, double leveys, double korkeus, PhysicsObject pelaaja) 
     168    { 
     169 
    192170        pelaaja.Position = paikka; 
    193171        pelaaja.Shape = Shape.FromImage(pelaajanKuva); 
     
    216194        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000)); 
    217195        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000)); 
    218          
     196 
    219197 
    220198        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Allah", pelaajanase); 
     
    239217    { 
    240218        TileMap level = TileMap.FromLevelAsset("mappifinaali"); 
    241         level.SetTileMethod('P', LuoPelaaja); 
     219        pelaaja = new PhysicsObject(70, 70); 
     220        level.SetTileMethod('P', delegate (Vector pos, double w, double h) { LuoPelaaja(pos, w, h, pelaaja); }); 
     221 
    242222        level.SetTileMethod('S', SpawnausPaikka); 
    243223        level.SetTileMethod('O', LuoPelaaja2); 
     
    254234        level.SetTileMethod('C', LuoKoriPallo); 
    255235        level.SetTileMethod('L', LuoAuto); 
    256         level.SetTileMethod('Z', delegate(Vector pos, double w, double h) { LuoZombi(pos, w, h, false); }); 
     236        level.SetTileMethod('Z', delegate (Vector pos, double w, double h) { LuoZombi(pos, w, h, false); }); 
    257237        level.SetTileMethod('M', LuoMagicPalikka); 
    258238        level.SetTileMethod('A', LuoKiviBlock); 
     
    262242        level.Optimize('M', 'G', 'K', 'A'); 
    263243        level.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    264          
     244 
    265245        Level.Background.Image = taustaKuva; 
    266246        Level.Background.TileToLevel(); 
     
    275255        paivatimer.Start(); 
    276256 
    277          
     257 
    278258        Timer loottitimer = new Timer(); 
    279259        loottitimer.Interval = 20; 
     
    284264        }; 
    285265        loottitimer.Start(); 
    286          
     266 
    287267 
    288268        Timer juoksutimer = new Timer(); 
     
    349329        const double WIDTH = 80; 
    350330        const double HEIGHT = 160; 
    351         GameObject autotieflipped = new GameObject(leveys, korkeus); 
     331        //GameObject autotieflipped = new GameObject(leveys, korkeus); 
     332        GameObject autotieflipped = new GameObject(leveys, HEIGHT); 
    352333        autotieflipped.Image = autotieflippedinKuva; 
    353         autotieflipped.TextureWrapSize = new Vector(leveys / WIDTH, korkeus / HEIGHT); 
    354         autotieflipped.Position = paikka; 
     334        //autotieflipped.TextureWrapSize = new Vector(leveys / WIDTH, korkeus / HEIGHT); 
     335        autotieflipped.TextureWrapSize = new Vector(leveys / WIDTH, 1); 
     336        //autotieflipped.Position = paikka; 
     337        autotieflipped.Position = paikka + new Vector(0, korkeus * 2F); 
    355338        autotieflipped.Tag = "tie"; 
    356339        Add(autotieflipped, -1); 
     
    375358 
    376359        } 
    377         if(Level.AmbientLight <= 0.5) 
     360        if (Level.AmbientLight <= 0.5) 
    378361        { 
    379362            LuoZombi(RandomGen.SelectOne<Vector>(Spawnauspaikat), 70, 70, false); 
     
    395378                ammus.Destroy(); 
    396379            } 
     380             
    397381        } 
    398382        if (kohde.Tag.Equals("zombi")) 
     
    411395            ammus.Destroy(); 
    412396        } 
     397        if (kohde.Tag.Equals("slayerzombi")) 
     398        { 
     399            raheLaskuri.Value += 10; 
     400            double damage = 1.5; 
     401            if (aseNimi == "sniper") 
     402            { 
     403                damage = 9.0; 
     404            } 
     405            if (aseNimi == "ak") 
     406            { 
     407                damage = 0.5; 
     408            } 
     409            ammus.Destroy(); 
     410            (kohde as Vihu).ElamaLaskuri.Value -= damage; 
     411        } 
    413412    } 
    414413 
     
    416415    { 
    417416        PhysicsObject ammus = ase.Shoot(); 
    418          
     417 
    419418        if (ammus != null) 
    420419        { 
     
    426425            ammus.Size *= 1; 
    427426            pislaapiupiu.Play(); 
    428             AddCollisionHandler(ammus, "penkki", AmmusOsui);  
     427            AddCollisionHandler(ammus, "penkki", AmmusOsui); 
    429428        } 
    430429    } 
     
    446445        }; 
    447446 
    448         AddCollisionHandler(puu, "ammus2", delegate(PhysicsObject A, PhysicsObject B) 
     447        AddCollisionHandler(puu, "ammus2", delegate (PhysicsObject A, PhysicsObject B) 
    449448        { 
    450449            mittari.Value--; 
     
    484483          LiikutaPelaajaa2, null, new Vector(0, -1000), pelaaja2); 
    485484 
    486          
     485 
    487486 
    488487        ControllerOne.Listen(Button.LeftTrigger, ButtonState.Pressed, 
     
    497496    void Craft() 
    498497    { 
    499         MultiSelectWindow alkuValikko = new MultiSelectWindow("Craft","AK", "Kiikari", "Sniper"); 
     498        MultiSelectWindow alkuValikko = new MultiSelectWindow("Craft", "AK", "Kiikari", "Sniper"); 
    500499        Add(alkuValikko); 
    501500 
     
    558557    { 
    559558        pelaaja2.Push(vektori); 
    560         AjaAutoa(vektori,  pelaaja2); 
     559        AjaAutoa(vektori, pelaaja2); 
    561560    } 
    562561    void AjaAutoa(Vector vektori, PhysicsObject ajaja) 
     
    569568        if (kuski == ajaja) 
    570569        { 
    571             if(vektori.Y > 0) 
     570            if (vektori.Y > 0) 
    572571            { 
    573572                auto.Push((auto.Angle + Angle.FromDegrees(90)).GetVector() * 5000); 
    574573            } 
    575             if(Math.Abs(vektori.X )>0) 
     574            if (Math.Abs(vektori.X) > 0) 
    576575            { 
    577576                auto.ApplyTorque(vektori.X * -800); 
     
    618617        satunnaisAivot.TurnWhileMoving = true; 
    619618 
    620         AddCollisionHandler(pelaaja, zombi, PelaajatTormaavat); 
    621         AddCollisionHandler(pelaaja2, zombi, PelaajatTormaavat2); 
     619        AddCollisionHandler(zombi, "pelaaja", PelaajatTormaavat); 
     620        AddCollisionHandler(zombi, "pelaaja2", PelaajatTormaavat2); 
    622621 
    623622        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja, pelaaja2); 
     
    725724        Add(pisteNaytto); 
    726725    } 
    727      
     726 
    728727 
    729728    /* 
     
    760759        auto.Angle = Angle.FromDegrees(90); 
    761760        auto.CanRotate = true; 
    762         auto.Collided += delegate(IPhysicsObject a, IPhysicsObject kohde) 
     761        auto.Collided += delegate (IPhysicsObject a, IPhysicsObject kohde) 
    763762        { 
    764763            const double DMG_FACTOR = 1.0 / 100.0; 
     
    792791        for (int i = 0; i < 2; i++) 
    793792        { 
     793 
     794 
    794795            Vector paikka = auto.Position + auto.Velocity * aika; 
    795796 
    796797            GameObject RenkaanJalki = new GameObject(20, 30); 
    797             RenkaanJalki.Position = paikka + (auto.Angle + Angle.FromDegrees(-70 - 40 * i)).GetVector() * 100;  
     798            RenkaanJalki.Position = paikka + (auto.Angle + Angle.FromDegrees(-70 - 40 * i)).GetVector() * 100; 
    798799            RenkaanJalki.Shape = Shape.Circle; 
    799800            RenkaanJalki.Angle = auto.Angle; 
    800             /*if (GetObjectAt(RenkaanJalki.Position, "tie") != null) // activate ultimate lag 
    801                 RenkaanJalki.Color = Color.Black; 
    802             else*/ 
    803                 RenkaanJalki.Color = Color.Darker(Color.DarkBrown, 30); 
     801 
     802            if (GetObjectAt(RenkaanJalki.Position, "tie") == null) 
     803                continue; 
     804 
     805            RenkaanJalki.Color = Color.Black; 
     806 
     807            //if (GetObjectAt(RenkaanJalki.Position, "tie") != null) // activate ultimate lag 
     808            //    RenkaanJalki.Color = Color.Black; 
     809            //else 
     810            //    RenkaanJalki.Color = Color.Darker(Color.DarkBrown, 30); 
     811 
    804812            RenkaanJalki.FadeColorTo(Color.Transparent, 4.0); 
    805813            RenkaanJalki.LifetimeLeft = TimeSpan.FromSeconds(5); 
     
    828836            ammus2.Destroy(); 
    829837        } 
    830         if(kohde.Tag.Equals("zombi")) 
     838        if (kohde.Tag.Equals("zombi")) 
    831839        { 
    832840            (kohde as Vihu).ElamaLaskuri.Value -= 3; 
     
    39033911    void MeneAutoon(PhysicsObject tormaaja, PhysicsObject auto) 
    39043912    { 
    3905         const double CHANCE_TO_SPAWN_ENEMIES = 50.0; 
    3906         const int ZOMBIEN_MAARA = 3; 
     3913        const double CHANCE_TO_SPAWN_ENEMIES = 20.0; 
     3914        const int ZOMBIEN_MAARA = 1; 
    39073915        const double MIN_DISTANCE = 200; 
    39083916        const double MAX_DISTANCE = 400; 
    39093917 
    3910          
     3918 
    39113919 
    39123920        /* 
     
    39403948        tormaaja.IgnoresCollisionResponse = true; 
    39413949        tormaaja.Position = new Vector(-4000, 0); 
    3942         if(kuski == null) 
     3950        if (kuski == null) 
    39433951        { 
    39443952            kuski = tormaaja; 
     
    39473955            ensimainenPelaajaAutoon.Play(); 
    39483956        } 
    3949         else if(epaKuski == null) 
     3957        else if (epaKuski == null) 
    39503958        { 
    39513959            epaKuski = tormaaja; 
     
    39613969            Keyboard.Listen(Key.F, ButtonState.Pressed, UlosAutosta, null, pelaaja); 
    39623970        } 
    3963          
    3964  
    3965          
     3971 
     3972 
     3973 
    39663974 
    39673975    } 
     
    39733981 
    39743982        autonOviAani.Play(); 
    3975          
    3976         if(ajaja.Tag.Equals("pelaaja2")) 
     3983 
     3984        if (ajaja.Tag.Equals("pelaaja2")) 
    39773985        { 
    39783986            ControllerOne.Disable(Button.X); 
     
    39823990            Keyboard.Disable(Key.F); 
    39833991        } 
    3984         if(ajaja == kuski) 
     3992        if (ajaja == kuski) 
    39853993        { 
    39863994            kuski = null; 
     
    39903998        } 
    39913999 
    3992         if(ajaja == epaKuski) 
     4000        if (ajaja == epaKuski) 
    39934001        { 
    39944002            epaKuski = null; 
     
    39964004            //Camera.Follow(pelaaja, pelaaja2); 
    39974005        } 
    3998         if(epaKuski == null && kuski == null) 
     4006        if (epaKuski == null && kuski == null) 
    39994007        { 
    40004008            Camera.Follow(pelaaja, pelaaja2); 
     
    40074015        koriskentta.Position = paikka; 
    40084016        koriskentta.Image = koriskentanKuva; 
    4009         koriskentta.IgnoresCollisionResponse = true;  
     4017        koriskentta.IgnoresCollisionResponse = true; 
    40104018        //koriskentta.IgnoresPhysicsLogics = true; 
    40114019        Add(koriskentta, -1); 
    40124020 
    4013         PhysicsObject magicpalikka = PhysicsObject.CreateStaticObject(80,80); 
    4014         magicpalikka.Position = paikka + new Vector(15, koriskentta.Height / 2-25); 
     4021        PhysicsObject magicpalikka = PhysicsObject.CreateStaticObject(80, 80); 
     4022        magicpalikka.Position = paikka + new Vector(15, koriskentta.Height / 2 - 25); 
    40154023        magicpalikka.IsVisible = false; 
    40164024        Add(magicpalikka); 
     
    40194027        magicpalikka2.IsVisible = false; 
    40204028        Add(magicpalikka2); 
    4021          
     4029 
    40224030    } 
    40234031 
    40244032    void LuoPuuPalikka() 
    40254033    { 
    4026         if(kamaMittarit[0].Määrä.Value > 0) 
     4034        if (kamaMittarit[0].Määrä.Value > 0) 
    40274035        { 
    40284036            PhysicsObject PuuPalikka = PhysicsObject.CreateStaticObject(40, 40); 
     
    40344042            kamaMittarit[0].Lisaa(-1); 
    40354043        } 
    4036          
     4044 
    40374045    } 
    40384046 
     
    40674075    void LisaaLootti() 
    40684076    { 
    4069          
     4077 
    40704078        Vector tulevapaikka = RandomGen.SelectOne<Vector>(loottilista); 
    4071         if (GetObjectsAt(tulevapaikka, "lootti", 100).Count==0) 
     4079        if (GetObjectsAt(tulevapaikka, "lootti", 100).Count == 0) 
    40724080        { 
    40734081            PhysicsObject lootti = new PhysicsObject(10, 10); 
     
    40784086            Add(lootti); 
    40794087 
    4080              
     4088 
    40814089        } 
    40824090        if (GetObjectsAt(tulevapaikka, "lootti", 100).Count == 1) 
    40834091        { 
    4084              
    4085         } 
    4086          
     4092 
     4093        } 
     4094 
    40874095    } 
    40884096    void KeraaLootti(PhysicsObject pelaaja2, PhysicsObject lootti) 
     
    41044112        parkkipaikka.Position = paikka + new Vector(170, 0); 
    41054113        parkkipaikka.Image = parkkipaikanKuva; 
    4106         parkkipaikka.IgnoresCollisionResponse = true;  
    4107         Add(parkkipaikka, - 2); 
     4114        parkkipaikka.IgnoresCollisionResponse = true; 
     4115        Add(parkkipaikka, -2); 
    41084116    } 
    41094117 
     
    41154123        Add(magicpalikka3); 
    41164124    } 
     4125 
     4126    void StartGaem() 
     4127    { 
     4128        MultiSelectWindow alkuValikko = new MultiSelectWindow("GameModes", 
     4129        "SingleSlayer", "Multiplayer", "Back"); 
     4130        Add(alkuValikko); 
     4131        alkuValikko.SelectionColor = Color.Transparent; 
     4132        alkuValikko.Color = Color.Transparent; 
     4133        alkuValikko.AddItemHandler(0, SingleSlayer); 
     4134        alkuValikko.AddItemHandler(1, MultiPlayer); 
     4135        alkuValikko.AddItemHandler(2, Jee); 
     4136        Level.Background.Image = taustaKuva1; 
     4137        Level.Background.Width = Window.Width; 
     4138        Level.Background.Height = Window.Height; 
     4139    } 
     4140 
     4141    void MultiPlayer() 
     4142    { 
     4143        goLaskuri = new Label(""); 
     4144        Add(goLaskuri); 
     4145        IsFullScreen = false; 
     4146 
     4147        LuoKentta(); 
     4148 
     4149        LuoElamaLaskuri(); 
     4150        LuoBensaLaskuri(); 
     4151        LuoElamaLaskuri2(); 
     4152        LuoPelaajan2Ase(); 
     4153 
     4154        Ammukset(); 
     4155        LuoCursor(); 
     4156        LuoCursor2(new Vector(pelaaja2.Position.X + 20, pelaaja2.Position.Y + 20)); 
     4157        LisaaNappaimet(); 
     4158 
     4159        for (int i = 0; i < loottikuvat.Length; i++) 
     4160        { 
     4161            kamaMittarit[i] = new KamaMittari(maxLoot[i], loottikuvat[i], new Vector(Screen.Right - 150, Screen.Top - 100 - 50 * i), this); 
     4162        } 
     4163 
     4164        AddCollisionHandler(pelaaja, auto, MeneAutoon); 
     4165 
     4166        AddCollisionHandler(pelaaja2, auto, MeneAutoon); 
     4167        AddCollisionHandler(pelaaja, "Ammoboxi", SaaAmmoBoxi); 
     4168        AddCollisionHandler(pelaaja2, "lootti", KeraaLootti); 
     4169 
     4170        AddCollisionHandler(pelaaja, "hela", SaaHela); 
     4171        AddCollisionHandler(pelaaja2, "hela", SaaHelaa); 
     4172        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     4173        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     4174    } 
     4175    void LuoKauppa(Vector paikka, double leveys, double korkeus) 
     4176    { 
     4177        kauppa = PhysicsObject.CreateStaticObject(100, 100); 
     4178        kauppa.Position = paikka; 
     4179        Add(kauppa); 
     4180        AddCollisionHandler(kauppa, "pelaaja", MeneKauppaan); 
     4181    } 
     4182    void SingleSlayer() 
     4183    { 
     4184 
     4185        goLaskuri = new Label(""); 
     4186        Add(goLaskuri); 
     4187        IsFullScreen = false; 
     4188 
     4189        LuoKentta2(); 
     4190 
     4191 
     4192        LuoElamaLaskuri(); 
     4193        LuoBensaLaskuri(); 
     4194 
     4195 
     4196 
     4197        Ammukset(); 
     4198        LuoCursor(); 
     4199        LisaaNappaimet(); 
     4200 
     4201        //for (int i = 0; i < loottikuvat.Length; i++) 
     4202        //{ 
     4203        //    kamaMittarit[i] = new KamaMittari(maxLoot[i], loottikuvat[i], new Vector(Screen.Right - 150, Screen.Top - 100 - 50 * i), this); 
     4204        //} 
     4205 
     4206        //AddCollisionHandler(pelaaja, auto, MeneAutoon); 
     4207 
     4208 
     4209        AddCollisionHandler(pelaaja, "Ammoboxi", SaaAmmoBoxi); 
     4210 
     4211 
     4212        AddCollisionHandler(pelaaja, "hela", SaaHela); 
     4213        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     4214        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     4215    } 
     4216 
     4217    void LuoKentta2() 
     4218    { 
     4219        TileMap level = TileMap.FromLevelAsset("singleslayermap"); 
     4220        pelaaja = new PhysicsObject(70, 70); 
     4221        level.SetTileMethod('P', delegate (Vector pos, double w, double h) { LuoPelaaja(pos, w, h, pelaaja); }); 
     4222        level.SetTileMethod('*', LuoKauppa); 
     4223        level.SetTileMethod('S', SpawnausPaikka); 
     4224        level.SetTileMethod('O', LuoPelaaja2); 
     4225        level.SetTileMethod('G', LuoPalikka); 
     4226        level.SetTileMethod('H', LuoHela); 
     4227        level.SetTileMethod('X', LuoKorisKentta); 
     4228        level.SetTileMethod('T', LuoAmmoBoxi); 
     4229        level.SetTileMethod('#', LuoLattia); 
     4230        level.SetTileMethod('W', LuoPenkki); 
     4231        level.SetTileMethod('Q', LuoPuu); 
     4232        level.SetTileMethod('I', ParkkiPaikka); 
     4233        level.SetTileMethod('N', LuoLoottiSpawniLattia); 
     4234        level.SetTileMethod('J', LuoLoottiSpawniMetsa); 
     4235        level.SetTileMethod('C', LuoKoriPallo); 
     4236        level.SetTileMethod('L', LuoAuto); 
     4237        level.SetTileMethod('Z', delegate (Vector pos, double w, double h) { LuoSlayerZombi(pos, w, h, false); }); 
     4238        level.SetTileMethod('M', LuoMagicPalikka); 
     4239        level.SetTileMethod('A', LuoKiviBlock); 
     4240        level.SetTileMethod('K', LuoAutoTieFlipped); 
     4241        level.Optimize('M', 'G', 'K', 'A'); 
     4242        level.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
     4243        Camera.Follow(pelaaja); 
     4244        Level.Background.Image = taustaKuva; 
     4245        Level.Background.TileToLevel(); 
     4246        Camera.StayInLevel = true; 
     4247        LuoRaheLaskuri(); 
     4248    } 
     4249 
     4250    void Jee() 
     4251    { 
     4252        MultiSelectWindow alkuValikko = new MultiSelectWindow("ZombieLand ", 
     4253        "Start Gaem", "Quit"); 
     4254        Add(alkuValikko); 
     4255 
     4256        alkuValikko.AddItemHandler(0, StartGaem); 
     4257        alkuValikko.AddItemHandler(1, Exit); 
     4258        alkuValikko.SelectionColor = Color.Transparent; 
     4259        alkuValikko.Color = Color.Transparent; 
     4260        Level.Background.Image = taustaKuva1; 
     4261        Level.Background.Width = Window.Width; 
     4262        Level.Background.Height = Window.Height; 
     4263    } 
     4264 
     4265 
     4266 
     4267    void MeneKauppaan(PhysicsObject tormaaja, PhysicsObject kohde) 
     4268    { 
     4269        MultiSelectWindow alkuValikko4 = new MultiSelectWindow("Store", 
     4270        "Rifles", "Other Stuff", "OP STUFF"); 
     4271        Add(alkuValikko4); 
     4272        alkuValikko4.AddItemHandler(0, Rifles); 
     4273        alkuValikko4.AddItemHandler(1, OtherStuff); 
     4274        alkuValikko4.AddItemHandler(2, Ebinks); 
     4275    } 
     4276 
     4277    void Rifles() 
     4278    { 
     4279        if (raheLaskuri.Value >= 20) 
     4280        { 
     4281             
     4282            pelaajanase.FireRate = 20; 
     4283            pelaajanase.Ammo.Value += 300; 
     4284            pelaaja.Image = pelaajanKuvaAK; 
     4285            aseNimi = "ak"; 
     4286        } 
     4287    } 
     4288 
     4289    void OtherStuff() 
     4290    { 
     4291 
     4292    } 
     4293 
     4294    void Ebinks() 
     4295    { 
     4296        //+alkuValikko4.Destroy(); 
     4297    } 
     4298 
     4299    void LuoSlayerZombi(Vector paikka, double leveys, double korkeus, bool forceCreation) 
     4300    { 
     4301        if (!forceCreation) 
     4302        { 
     4303            if (zombilaskuri >= MAX_ZOMBIEN_MAARA) 
     4304            { 
     4305                return; 
     4306            } 
     4307        } 
     4308 
     4309        Vihu zombis = new Vihu(70, 70); 
     4310        zombis.Image = zombinkuva; 
     4311        zombis.Position = paikka; 
     4312        zombis.CanRotate = false; 
     4313        zombis.Tag = "slayerzombi"; 
     4314        Add(zombis); 
     4315        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200); 
     4316        satunnaisAivot.ChangeMovementSeconds = 3; 
     4317        satunnaisAivot.TurnWhileMoving = true; 
     4318 
     4319        AddCollisionHandler(zombis, "pelaaja", PelaajatTormaavat); 
     4320 
     4321 
     4322        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja); 
     4323        seuraajanAivot.Speed = 300;                 // Millä nopeudella kohdetta seurataan 
     4324        seuraajanAivot.DistanceFar = 600;           // Etäisyys jolla aletaan seurata kohdetta 
     4325        seuraajanAivot.DistanceClose = 10;         // Etäisyys jolloin ollaan lähellä kohdetta 
     4326        seuraajanAivot.StopWhenTargetClose = true;  // Pysähdytään kun ollaan lähellä kohdetta 
     4327        seuraajanAivot.FarBrain = satunnaisAivot;   // Käytetään satunnaisaivoja kun ollaan kaukana 
     4328        seuraajanAivot.TurnWhileMoving = true; 
     4329        zombis.Brain = seuraajanAivot; 
     4330        zombilaskuri++; 
     4331    } 
     4332 
     4333    void LuoRaheLaskuri() 
     4334    { 
     4335        raheLaskuri = new IntMeter(0); 
     4336 
     4337        Label pisteNaytto = new Label(); 
     4338        pisteNaytto.X = Screen.Left + 200; 
     4339        pisteNaytto.Y = Screen.Top - 100; 
     4340        pisteNaytto.TextColor = Color.Black; 
     4341        pisteNaytto.Color = Color.White; 
     4342         
     4343        pisteNaytto.BindTo(raheLaskuri); 
     4344        Add(pisteNaytto); 
     4345 
     4346    } 
    41174347} 
    41184348 
Note: See TracChangeset for help on using the changeset viewer.