Ignore:
Timestamp:
2016-06-16 14:57:56 (3 years ago)
Author:
joojarvi
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/24/JoonatanJ/Pomppu/Pomppu/Pomppu/Pomppu.cs

    r7337 r7383  
    1919    Image piikinkuva = LoadImage("cocacola"); 
    2020 
     21    Image vihunkuva = LoadImage("cocacolaman"); 
     22 
    2123    Image tahdenkuva = LoadImage("pepsimax"); 
     24    List<PhysicsObject> piikkienPaikat; 
    2225 
    2326    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    24     string kenttaMenossa = "kentta1"; 
     27    string kenttaMenossa = "kentta2"; 
    2528 
    2629    public override void Begin() 
    2730    { 
    28         AloitaPeli(); 
     31        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 
     32"Aloita peli", "Lopeta"); 
     33        Add(alkuValikko); 
     34        alkuValikko.AddItemHandler(0, AloitaPeli); 
     35        alkuValikko.AddItemHandler(1, Exit); 
     36        alkuValikko.Color = Color.Blue; 
     37        Mouse.IsCursorVisible = true; 
    2938    } 
    3039 
     
    3948        Camera.ZoomFactor = 1.2; 
    4049        Camera.StayInLevel = true; 
     50        LuoAikaLaskuri(); 
    4151    } 
    4252 
    4353    void LuoKentta() 
    4454    { 
     55        piikkienPaikat = new List<PhysicsObject>(); 
    4556        TileMap kentta = TileMap.FromLevelAsset(kenttaMenossa); 
    4657        kentta.SetTileMethod('#', LisaaEsine, "taso", Color.Black); 
     
    5061        kentta.SetTileMethod('O', LisaaEsine, "piikki", Color.Black); 
    5162        kentta.SetTileMethod('P', LisaaPiikki, "tahti", Color.Gray, tahdenkuva); 
     63        kentta.SetTileMethod('S', LisaaSpawneri); 
    5264        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    5365        Level.CreateBorders(); 
     
    5567    } 
    5668 
     69    private void LisaaSpawneri(Vector position, double width, double height) 
     70    { 
     71        Timer spawneri = new Timer(); 
     72        spawneri.Interval = 0.2; 
     73        spawneri.Timeout += delegate 
     74        { 
     75            for (int i = 0; i < piikkienPaikat.Count; i++) 
     76            { 
     77                if (pelaaja1.Position.X >= piikkienPaikat[i].Position.X) 
     78                { 
     79                    LisaaVihu(new Vector(piikkienPaikat[i].X, piikkienPaikat[i].Y + height), width, height); 
     80                    piikkienPaikat.RemoveAt(i); 
     81                } 
     82            } 
     83 
     84        }; 
     85        spawneri.Start(); 
     86    } 
     87 
     88    void LisaaVihu(Vector paikka, double leveys, double korkeus) 
     89    {  
     90        PlatformCharacter vihu = new PlatformCharacter(leveys, korkeus); 
     91    vihu.Position = paikka; 
     92        vihu.Color = Color.Aquamarine; 
     93        vihu.Tag = "vihu"; 
     94        Add(vihu); 
     95        vihu.Image = vihunkuva; 
     96 
     97        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     98        tasoAivot.Speed = 100; 
     99        tasoAivot.JumpSpeed = 700; 
     100        tasoAivot.TriesToJump = true; 
     101        tasoAivot.Direction = Direction.Right; 
     102        vihu.Brain = tasoAivot; 
     103    } 
    57104    void LisaaEsine(Vector paikka, double leveys, double korkeus, string nimi, Color vari) 
    58105    { 
     106      //  PhysicsObject vihu = new PhysicsObject(leveys, korkeus); 
    59107        PhysicsObject esine = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    60108        esine.Position = paikka; 
     
    66114    void LisaaPiikki(Vector paikka, double leveys, double korkeus, string nimi, Color vari, Image kuva) 
    67115    { 
    68         PhysicsObject piikki = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     116        PhysicsObject piikki = PhysicsObject.CreateStaticObject(leveys, korkeus*1.2); 
    69117        piikki.Position = paikka; 
    70118        piikki.Color = vari; 
    71119        piikki.Tag = nimi; 
     120        piikki.CollisionIgnoreGroup = 2; 
    72121        piikki.Image = kuva; 
    73122        Add(piikki); 
     123        piikkienPaikat.Add(piikki); 
    74124    } 
    75125 
     
    143193        AloitaPeli(); 
    144194    } 
     195    void LuoAikaLaskuri() 
     196    { 
     197        Timer aikaLaskuri = new Timer(); 
     198        aikaLaskuri.Start(); 
     199 
     200        Label aikaNaytto = new Label(); 
     201        aikaNaytto.TextColor = Color.White; 
     202        aikaNaytto.DecimalPlaces = 1; 
     203        aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 
     204        Add(aikaNaytto); 
     205    } 
    145206 
    146207} 
Note: See TracChangeset for help on using the changeset viewer.