Ignore:
Timestamp:
2017-08-02 14:59:17 (23 months ago)
Author:
npo17_79
Message:

hahmo valmis.
tausta valmis.
timantteja randomisti 50.
vihollinen on luotu, muttei vielä toimi.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/31/MirkaH/TimantitOvatIkuisia/TimantitOvatIkuisia/TimantitOvatIkuisia/TimantitOvatIkuisia.cs

    r9341 r9366  
    1313    // const double hyppyNopeus = 750; 
    1414    Vector nopeusYlös = new Vector(0.0, 500.0); 
    15         Vector nopeusAlas = new Vector(0.0, -500.0); 
     15    Vector nopeusAlas = new Vector(0.0, -500.0); 
    1616 
    1717    const int RUUDUN_KOKO = 50; 
    1818 
    19  PhysicsObject pelaaja1; 
     19    PhysicsObject pelaaja1; 
     20    IntMeter pisteLaskuri; 
    2021 
    2122    Image taustaKuva = LoadImage("meri"); 
    2223    Image pelaajanKuva = LoadImage("sukeltaja1"); 
    2324    Image tahtiKuva = LoadImage("timantti"); 
     25    Image vihollinenKuva = LoadImage("vihollinen"); 
    2426 
    2527    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    2729    public override void Begin() 
    2830    { 
    29      
     31 
    3032        // Gravity = new Vector(0, -1000); 
    3133 
    3234        LuoKentta(); 
    3335        LisaaNappaimet(); 
     36        LuoAikaLaskuri(); 
     37        LuoPistelaskuri(); 
    3438 
    3539        Camera.Follow(pelaaja1); 
    36        Camera.ZoomFactor = 1.2; 
    37        Camera.StayInLevel = true; 
    38        // Camera.ZoomToLevel(); 
     40        Camera.ZoomFactor = 1.2; 
     41        Camera.StayInLevel = true; 
     42        // Camera.ZoomToLevel(); 
    3943    } 
    4044 
     
    4549        kentta.SetTileMethod('*', LisaaAarre); 
    4650        kentta.SetTileMethod('N', LisaaPelaaja); 
     51        kentta.SetTileMethod('V', LisaaVihollinen); 
    4752        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4853        Level.CreateBorders(); 
    4954        Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
    5055        Level.Background.Image = taustaKuva; 
    51         LisaaAarre(RUUDUN_KOKO, RUUDUN_KOKO, RandomGen.NextDouble(Level.Left, Level.Right),RandomGen.NextDouble(Level.Top,Level.Bottom)); 
    52     
    53    
     56 
     57 
     58        for (int i = 0; i < 50; i++)  
     59        { 
     60            double xpaikka = RandomGen.NextDouble(Level.Left, Level.Right); 
     61            double ypaikka = RandomGen.NextDouble(Level.Top, Level.Bottom); 
     62            Vector paikka = new Vector(xpaikka, ypaikka); 
     63            LisaaAarre(paikka, RUUDUN_KOKO, RUUDUN_KOKO); 
     64        } 
    5465    } 
    5566 
     
    6273        Add(taso); 
    6374    } 
    64     void LisaaAarre(double leveys, double korkeus,double x, double y ) 
    65     { 
    66         PhysicsObject aarre = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    67         aarre.IgnoresCollisionResponse = true; 
    68         aarre.X = x; 
    69         aarre.Y = y; 
    70         aarre.Image = tahtiKuva; 
    71         aarre.Tag = "tahti"; 
    72         Add(aarre); 
    73     } 
     75    //void LisaaAarre(double leveys, double korkeus,double x, double y ) 
     76    //{ 
     77    //    PhysicsObject aarre = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     78    //    aarre.IgnoresCollisionResponse = true; 
     79    //    aarre.X = x; 
     80    //    aarre.Y = y; 
     81    //    aarre.Image = tahtiKuva; 
     82    //    aarre.Tag = "tahti"; 
     83    //    Add(aarre); 
     84    //} 
    7485    void LisaaAarre(Vector paikka, double leveys, double korkeus) 
    7586    { 
     
    8192        Add(aarre); 
    8293    } 
     94    void LisaaVihollinen (Vector paikka,double leveys,double korkeus) 
     95    { 
     96         
     97        PhysicsObject vihollinen = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     98        vihollinen.IgnoresCollisionResponse = true; 
     99        vihollinen.Position = paikka; 
     100        vihollinen.Image = tahtiKuva; 
     101        vihollinen.Tag = "tahti"; 
     102        Add(vihollinen); 
     103    } 
    83104 
    84105    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    85106    { 
    86         pelaaja1 = new PhysicsObject(leveys* 1.5, korkeus * 1.5); 
     107        pelaaja1 = new PhysicsObject(leveys * 1.5, korkeus * 1.5); 
    87108        pelaaja1.Position = paikka; 
    88        // pelaaja1.Mass = 4.0; 
     109        // pelaaja1.Mass = 4.0; 
    89110        pelaaja1.Image = pelaajanKuva; 
    90111        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     
    98119        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    99120 
    100         Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, new Vector(-200,0)); 
    101         Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, new Vector (200,0)); 
     121        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, new Vector(-200, 0)); 
     122        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, new Vector(200, 0)); 
    102123        Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "Pelaaja ylös", pelaaja1, nopeusYlös); 
    103124        Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "Pelaaja alas", pelaaja1, nopeusAlas); 
     
    117138    } 
    118139 
    119    
     140 
    120141 
    121142    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 
    122143    { 
    123144        maaliAani.Play(); 
    124         MessageDisplay.Add("Keräsit tähden!"); 
     145        MessageDisplay.Add("Keräsit timantin!"); 
    125146        tahti.Destroy(); 
     147        pisteLaskuri.Value += 1; 
     148 
     149    } 
     150 
     151  
     152 
     153    void LuoPistelaskuri() 
     154    { 
     155        pisteLaskuri = new IntMeter(0); 
     156 
     157        Label pisteNaytto = new Label(); 
     158        pisteNaytto.X = Screen.Left + 100; 
     159        pisteNaytto.Y = Screen.Top - 100; 
     160        pisteNaytto.TextColor = Color.Black; 
     161        pisteNaytto.Color = Color.White; 
     162 
     163        pisteNaytto.BindTo(pisteLaskuri); 
     164        Add(pisteNaytto); 
     165    } 
     166    DoubleMeter alaspainLaskuri; 
     167 
     168        
     169    Timer aikaLaskuri; 
     170 
     171    void LuoAikaLaskuri() 
     172    { 
     173        alaspainLaskuri = new DoubleMeter(30); 
     174 
     175        aikaLaskuri = new Timer(); 
     176        aikaLaskuri.Interval = 0.1; 
     177        aikaLaskuri.Timeout += LaskeAlaspain; 
     178        aikaLaskuri.Start(); 
     179 
     180        Label aikaNaytto = new Label(); 
     181        aikaNaytto.TextColor = Color.White; 
     182        aikaNaytto.DecimalPlaces = 1; 
     183        aikaNaytto.BindTo(alaspainLaskuri); 
     184        aikaNaytto.X = Screen.Right - 300.0; 
     185        aikaNaytto.Y = Screen.Bottom + 100.0; 
     186        Add(aikaNaytto); 
     187 
     188    } 
     189 
     190    void LaskeAlaspain() 
     191    { 
     192        alaspainLaskuri.Value -= 0.1; 
     193 
     194        if (alaspainLaskuri.Value <= 0) 
     195        { 
     196            MessageDisplay.Add("Aika loppui..."); 
     197            aikaLaskuri.Stop(); 
     198 
     199            // täydennä mitä tapahtuu, kun aika loppuu 
     200        } 
    126201    } 
    127202} 
Note: See TracChangeset for help on using the changeset viewer.