Ignore:
Timestamp:
2015-07-02 14:50:24 (4 years ago)
Author:
misakana
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/27/IlmoP/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs

    r6730 r6758  
    1616 
    1717    Image pelaajanKuva = LoadImage("pelaaja"); 
    18     Image tahtiKuva = LoadImage("patteri"); 
     18    Image patteriKuva = LoadImage("patteri"); 
    1919    Image Orkki = LoadImage("Orkki"); 
     20    Image maalikuva = LoadImage("maali"); 
     21    Image voittokuva = LoadImage("voitto"); 
    2022 
    2123    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    2325    public override void Begin() 
    2426    { 
    25         Gravity = new Vector(0, -1000); 
     27        ClearAll(); 
     28        Gravity = new Vector(0, -500); 
    2629 
    2730        LuoKentta(); 
     
    2932 
    3033        Camera.Follow(pelaaja1); 
    31         Camera.ZoomFactor = 1.2; 
     34        Camera.ZoomFactor = 3.0; 
    3235        Camera.StayInLevel = true; 
    3336    } 
     
    3740        TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
    3841        kentta.SetTileMethod('#', LisaaTaso); 
    39         kentta.SetTileMethod('*', LisaaTahti); 
     42        kentta.SetTileMethod('*', LisaaPatteri); 
    4043        kentta.SetTileMethod('P', LisaaPelaaja); 
    4144        kentta.SetTileMethod('?', LisaaVihollinen); 
     45        kentta.SetTileMethod('M', LisaaMaali); 
    4246        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4347        Level.CreateBorders(); 
    44         Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
     48        Level.Background.CreateStars(); 
    4549    } 
    4650 
     
    4953        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    5054        taso.Position = paikka; 
    51         taso.Color = Color.Green; 
     55        taso.Color = Color.Blue; 
    5256        Add(taso); 
    5357    } 
    5458 
    55     void LisaaTahti(Vector paikka, double leveys, double korkeus) 
     59    void LisaaMaali(Vector paikka, double leveys, double korkeus) 
    5660    { 
    57         PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    58         tahti.IgnoresCollisionResponse = true; 
    59         tahti.Position = paikka; 
    60         tahti.Image = tahtiKuva; 
    61         tahti.Tag = "tahti"; 
    62         Add(tahti); 
     61        PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     62        maali.Position = paikka; 
     63        maali.Color = Color.Red; 
     64        maali.Tag = "maali"; 
     65        maali.Image = maalikuva; 
     66        Add(maali); 
     67    } 
     68    void LisaaPatteri(Vector paikka, double leveys, double korkeus) 
     69    { 
     70        PhysicsObject patteri = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     71        patteri.IgnoresCollisionResponse = true; 
     72        patteri.Position = paikka; 
     73        patteri.Image = patteriKuva; 
     74        patteri.Tag = "patteri"; 
     75        Add(patteri); 
    6376    } 
    6477 
     
    7083        pelaaja1.Image = pelaajanKuva; 
    7184        pelaaja1.Tag = "pelaaja"; 
    72         AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     85        AddCollisionHandler(pelaaja1, "patteri", TormaaPatteriin); 
     86        AddCollisionHandler(pelaaja1, "orkki", TormaaOrkkiin); 
     87        AddCollisionHandler(pelaaja1, "maali", TormaaMaaliin); 
    7388        Add(pelaaja1); 
     89 
     90        pelaaja1.Weapon = new PlasmaCannon(30, 10); 
     91        pelaaja1.Weapon.Ammo.Value = 20; 
     92        pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
     93 
     94    } 
     95 
     96    void AmmusOsui (PhysicsObject ammus, PhysicsObject kohde) 
     97    { 
     98        ammus.Destroy(); 
     99    }      
     100    void TormaaOrkkiin(PhysicsObject a, PhysicsObject b) 
     101    { 
     102        if (a.Tag.Equals("pelaaja")) 
     103        { 
     104            a.Destroy();  
     105        } 
     106    } 
     107 
     108    void TormaaMaaliin(PhysicsObject a, PhysicsObject b) 
     109    { 
     110        if (a.Tag.Equals("pelaaja")) 
     111        { 
     112            a.Destroy(); 
     113            GameObject voittoScreen = new GameObject(500, 500); 
     114            voittoScreen.Image = voittokuva; 
     115            voittoScreen.Position = b.Position; 
     116            Add(voittoScreen); 
     117        } 
    74118    } 
    75119 
     
    78122        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    79123        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     124        Keyboard.Listen(Key.R, ButtonState.Pressed, Begin, "Lopeta peli"); 
    80125 
    81126        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
     
    102147    } 
    103148 
    104     void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 
     149    void TormaaPatteriin(PhysicsObject hahmo, PhysicsObject tahti) 
    105150    { 
    106         maaliAani.Play(); 
    107151        MessageDisplay.Add("Keräsit patterin!"); 
    108152        tahti.Destroy(); 
     
    115159        orkki.Image = (Orkki); 
    116160        orkki.Position = paikka; 
     161        orkki.Tag = "orkki"; 
    117162        Add(orkki); 
    118163 
     
    122167        seuraajaAivot.DistanceClose = 200; 
    123168        orkki.Brain = seuraajaAivot; 
     169 
    124170    } 
    125171 
Note: See TracChangeset for help on using the changeset viewer.