Ignore:
Timestamp:
2015-06-23 14:55:21 (4 years ago)
Author:
sieerinn
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/26/AkseliP/ekapeli2/ekapeli2/ekapeli2/ekapeli2.cs

    r6162 r6182  
    1515    PlatformCharacter pelaaja1; 
    1616 
    17     Image pelaajanKuva = LoadImage("Untitled"); 
     17    Image pelaajanKuva = LoadImage("hahmo"); 
    1818    Image tahtiKuva = LoadImage("tahti"); 
    1919    Image maakuva = LoadImage("ruoho"); 
     20    Image multakuva = LoadImage("multa"); 
     21    Image asekuva = LoadImage("ak47"); 
     22 
     23    Image[] kolikkokuvat = LoadImages("coin1", "coin2", "coin3", "coin4", "coin4", "coin5", "coin6", "coin7", "coin8", "coin9", "coin10"); 
    2024 
    2125    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    3135        Camera.ZoomFactor = 1.2; 
    3236        Camera.StayInLevel = true; 
     37 
     38        IsMouseVisible = true; 
    3339    } 
    3440 
     
    3945        kentta.SetTileMethod('*', LisaaTahti); 
    4046        kentta.SetTileMethod('N', LisaaPelaaja); 
     47        kentta.SetTileMethod('m', LisaaMulta); 
    4148        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4249        Level.CreateBorders(); 
     
    5562    void LisaaTahti(Vector paikka, double leveys, double korkeus) 
    5663    { 
    57         PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     64        PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys*0.5, korkeus*0.5); 
    5865        tahti.IgnoresCollisionResponse = true; 
    5966        tahti.Position = paikka; 
    60         tahti.Image = tahtiKuva; 
     67        tahti.Animation = new Animation(kolikkokuvat); 
     68        tahti.Animation.FPS = 15; 
     69        tahti.Animation.Start(); 
    6170        tahti.Tag = "tahti"; 
    6271        Add(tahti); 
     
    6574    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    6675    { 
    67         pelaaja1 = new PlatformCharacter(leveys, korkeus); 
     76        pelaaja1 = new PlatformCharacter(leveys*0.6, korkeus*1.5); 
    6877        pelaaja1.Position = paikka; 
     78 
    6979        pelaaja1.Mass = 4.0; 
    7080        pelaaja1.Image = pelaajanKuva; 
    7181        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
    7282        Add(pelaaja1); 
     83        //pelaaja1 on PlatformCharacter-tyyppinen 
     84        pelaaja1.Weapon = new AssaultRifle(30, 30); 
     85        pelaaja1.Weapon.Image = asekuva; 
     86        pelaaja1.Weapon.X = 5; 
     87        pelaaja1.Weapon.Y = -4; 
     88 
     89        //Ammusten määrä aluksi: 
     90        pelaaja1.Weapon.Ammo.Value = 1000; 
     91 
     92        //Mitä tapahtuu kun ammus osuu johonkin? 
     93        pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
     94 
    7395    } 
    7496 
     
    7799        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    78100        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     101        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, AmmuAseella, "ampuu aseella", pelaaja1); 
     102        Mouse.ListenMovement(0.0, tähääaseella, ""); 
    79103 
    80104        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
     
    107131        tahti.Destroy(); 
    108132    } 
     133 
     134    void LisaaMulta(Vector paikka, double leveys, double korkeus) 
     135    { 
     136 
     137        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     138        taso.Position = paikka; 
     139        //taso.Color = Color.Blue; 
     140        taso.Image = multakuva; 
     141        Add(taso); 
     142    } 
     143 
     144    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     145    { 
     146        ammus.Destroy(); 
     147    } 
     148 
     149    void AmmuAseella(PlatformCharacter pelaaja) 
     150    { 
     151         
     152 
     153        PhysicsObject ammus = pelaaja.Weapon.Shoot(); 
     154 
     155        if (ammus != null) 
     156        { 
     157            ammus.Size *= 0.5; 
     158            //ammus.Image = ... 
     159            //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     160        } 
     161 
     162    } 
     163    void tähääaseella(AnalogState hiiri) 
     164    { 
     165        pelaaja1.Weapon.AbsoluteAngle = (Mouse.PositionOnWorld - pelaaja1.Position).Angle; 
     166 
     167    } 
     168        
    109169} 
Note: See TracChangeset for help on using the changeset viewer.