Ignore:
Timestamp:
2016-06-15 14:51:37 (3 years ago)
Author:
eeonilni
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/24/EemeliN/Test/Test/Test/Test.cs

    r7292 r7331  
    1111    PlatformCharacter Pelaaja1; 
    1212    PlatformCharacter Pelaaja2; 
     13    int kenttaNro = 1; 
     14     
     15 
     16    Image pahisKuva = LoadImage("t04_evilrat"); 
    1317 
    1418    private Image[] Animaatio = LoadImages("Abina", "Abinaa"); 
     
    1721    public override void Begin() 
    1822    { 
    19         LuoKenttä(); 
     23        LuoKentta("Kenttä"); 
     24        SeuraavaKentta(); 
    2025 
    2126        Gravity = new Vector(0, -500); 
    2227 
    23         Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, Pelaaja1, -100.0); 
    24         Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, Pelaaja1, 100.0); 
    25         Keyboard.Listen(Key.Up, ButtonState.Down, Hyppää, null, Pelaaja1, 250.0); 
    26  
    27         Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, Pelaaja2, -100.0); 
    28         Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, Pelaaja2, 100.0); 
    29         Keyboard.Listen(Key.W, ButtonState.Down, Hyppää, null, Pelaaja2, 250.0); 
     28        AsetaOhjaimet(); 
    3029 
    3130        Level.CreateBorders(); 
     
    4847    } 
    4948 
    50     void LuoKenttä() 
    51     { 
    52         ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Kenttä"); 
     49    void LuoKentta(String kentanNimi) 
     50    { 
     51        ColorTileMap ruudut = ColorTileMap.FromLevelAsset(kentanNimi); 
    5352        ruudut.SetTileMethod(Color.Red, LuoPelaaja); 
    5453        ruudut.SetTileMethod(Color.Black, LuoTaso); 
    5554        ruudut.SetTileMethod(Color.Blue, LuoLiekki); 
    56         ruudut.SetTileMethod(Color.White, LuoValo); 
     55        ruudut.SetTileMethod(Color.DarkGreen, LuoPahis); 
     56        ruudut.SetTileMethod(Color.FromHexCode("FF6A00"), LuoMaali); 
     57        ruudut.SetTileMethod(Color.FromHexCode("B682FF"), LuoKanuunaVasen); 
     58        ruudut.SetTileMethod(Color.FromHexCode("FF006E"), LuoKanuunaOikea); 
     59        ruudut.SetTileMethod(Color.Yellow, LuoTaso2); 
    5760        ruudut.Execute(40, 40); 
    5861    } 
     62 
     63    void SeuraavaKentta() 
     64    { 
     65        ClearAll(); 
     66 
     67        if (kenttaNro == 1) LuoKentta("Kenttä"); 
     68        else if (kenttaNro == 2) LuoKentta("Kenttä2"); 
     69        else if (kenttaNro > 2) Exit(); 
     70 
     71        //ColorTileMap ruudut = ColorTileMap.FromLevelAsset(KentanNimi2); 
     72        //ruudut.SetTileMethod(Color.Yellow, LuoTaso2); 
     73 
     74        AsetaOhjaimet(); 
     75 
     76    } 
     77 
     78    
     79 
     80    void AsetaOhjaimet() 
     81    { 
     82        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, Pelaaja1, -100.0); 
     83        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, Pelaaja1, 100.0); 
     84        Keyboard.Listen(Key.Up, ButtonState.Down, Hyppää, null, Pelaaja1, 250.0); 
     85 
     86        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, Pelaaja2, -100.0); 
     87        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, Pelaaja2, 100.0); 
     88        Keyboard.Listen(Key.W, ButtonState.Down, Hyppää, null, Pelaaja2, 250.0); 
     89    } 
     90 
     91    void TormasiMaaliin(PhysicsObject pelaaja, PhysicsObject maali) 
     92    { 
     93        kenttaNro++; 
     94        SeuraavaKentta(); 
     95    } 
     96 
    5997 
    6098    void LuoPelaaja(Vector paikka, double leveys, double korkeus) 
     
    100138 
    101139    } 
     140    void LuoTaso2(Vector paikka, double leveys, double korkeus) 
     141    { 
     142        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     143        taso.Position = paikka; 
     144        taso.CollisionIgnoreGroup = 1; 
     145        taso.Image = LoadImage("MeteoriteBrick"); 
     146        Add(taso); 
     147 
     148    } 
     149 
     150    void LuoMaali(Vector paikka, double leveys, double korkeus) 
     151    { 
     152        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys*3, korkeus*3); 
     153        taso.Position = paikka; 
     154        taso.CollisionIgnoreGroup = 1; 
     155        taso.Image = LoadImage("Maali"); 
     156        Add(taso); 
     157 
     158    } 
    102159 
    103160 
     
    128185    } 
    129186 
    130     void LuoValo(Vector paikka, double leveys, double korkeus) 
    131     { 
    132  
    133         Level.AmbientLight = 0.8; 
    134  
    135    //     Light valo = new Light(); 
    136     //    valo.Intensity = 0.8; 
    137      //   valo.Distance = 150; 
    138        // valo.Position = paikka; 
    139        // Add(valo); 
    140     } 
    141  
    142     void TaustaMusiikki() 
    143     { 
    144         MediaPlayer.PlayFromURL("https://www.youtube.com/watch?v=_rJMbTvUt6w"); 
    145         MediaPlayer.IsRepeating = true; 
     187   
     188     
     189 
     190    void LuoPahis(Vector paikka, double leveys, double korkeus) 
     191    { 
     192        PhysicsObject Pahis = new PhysicsObject(leveys, korkeus); 
     193        Add(Pahis); 
     194        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200); 
     195        satunnaisAivot.ChangeMovementSeconds = 3; 
     196        Pahis.Brain = satunnaisAivot; 
     197 
     198 
     199        Pahis.Image = pahisKuva; 
     200    } 
     201    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     202    { 
     203        //ammus.Destroy(); 
     204    } 
     205 
     206    PhysicsObject LuoKanuuna(Vector paikka, double leveys, double korkeus) 
     207    { 
     208        PhysicsObject tykkiTorni = new PhysicsObject(leveys, korkeus); 
     209        tykkiTorni.Position = paikka; 
     210        tykkiTorni.IsVisible = false; 
     211        tykkiTorni.MakeStatic(); 
     212        Add(tykkiTorni); 
     213 
     214        Image kuva = LoadImage("Deagle"); 
     215        Vector koko = new Vector(kuva.Width, kuva.Height) * 0.2; 
     216 
     217        AssaultRifle tykki = new AssaultRifle(koko.X, koko.Y); 
     218        tykki.ProjectileCollision = AmmusOsui; 
     219        tykki.Power.Value = 50; 
     220        tykki.Power.DefaultValue = 50; 
     221        tykki.FireRate = 5.0; 
     222        tykki.AmmoIgnoresGravity = true; 
     223        tykki.CanHitOwner = false; 
     224        tykki.AttackSound = null; 
     225        tykki.InfiniteAmmo = true; 
     226        tykki.MaxAmmoLifetime = TimeSpan.FromSeconds(2); 
     227        tykki.ProjectileCollision = TykkiAmmusOsui; 
     228        tykki.Image = kuva; 
     229 
     230        tykkiTorni.Add(tykki); 
     231 
     232        Timer ajastin = new Timer(); 
     233        ajastin.Interval = 1.5; 
     234        ajastin.Timeout += delegate 
     235        { 
     236            PhysicsObject kuula = tykki.Shoot(); 
     237            if (kuula != null) 
     238            { 
     239                kuula.Image = LoadImage("t04_evilrat"); 
     240                kuula.Size *= 3; 
     241                //boostaa ylös päälläseisottaessa jos kuulan koko = 130=D 
     242                //.CollisionIgnoreGroup = 30; 
     243            } 
     244        }; 
     245        ajastin.Start(); 
     246        return tykkiTorni; 
     247    } 
     248 
     249    void LuoKanuunaVasen(Vector paikka, double leveys, double korkeus) 
     250    { 
     251        PhysicsObject tykki = LuoKanuuna(paikka, leveys, korkeus); 
     252        tykki.Angle = Angle.FromDegrees(180); 
     253    } 
     254 
     255    void LuoKanuunaOikea(Vector paikka, double leveys, double korkeus) 
     256    { 
     257        LuoKanuuna(paikka, leveys, korkeus); 
     258    } 
     259 
     260    void TykkiAmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     261    { 
     262        ammus.Destroy(); 
     263        //ammus.CollisionIgnoreGroup = 30; 
    146264    } 
    147265} 
    148  
Note: See TracChangeset for help on using the changeset viewer.