Ignore:
Timestamp:
2015-06-09 12:02:06 (4 years ago)
Author:
sieerinn
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/24/AarniAR/BitPup/BitPup/BitPup/BitPup.cs

    r5925 r5932  
    2727    private Image Heart = LoadImage("Heart"); 
    2828    private Image Blasterkuva = LoadImage("Cannon"); 
     29    private Image[] Chest = LoadImages("ClosedChest", "OpenedChest"); 
    2930 
    3031    int kerta = 1; 
     
    8485        kentta.SetTileMethod('H', LisaaHeart); 
    8586        kentta.SetTileMethod('C', LisaaCannon); 
     87        kentta.SetTileMethod('c', LisaaArkku); 
    8688 
    8789        TileMap ruudut = TileMap.FromLevelAsset(kenttaTiedostonNimi); 
     
    120122    void LisaaTahti(Vector paikka, double leveys, double korkeus) 
    121123    { 
    122         PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     124        PhysicsObject tahti = PhysicsObject.CreateStaticObject(tahtiKuva); 
    123125        tahti.IgnoresCollisionResponse = true; 
    124126        tahti.Position = paikka; 
    125         tahti.Image = tahtiKuva; 
     127        //tahti.Image = tahtiKuva; 
    126128        tahti.Tag = "tahti"; 
    127129        Add(tahti); 
     130    } 
     131 
     132    PhysicsObject LisaaTahti(Vector paikka) 
     133    { 
     134        PhysicsObject tahti = new PhysicsObject(tahtiKuva); 
     135        tahti.IgnoresCollisionResponse = true; 
     136        tahti.Position = paikka; 
     137        //tahti.Image = tahtiKuva; 
     138        tahti.Tag = "tahti"; 
     139        Add(tahti); 
     140        return tahti; 
    128141    } 
    129142 
     
    139152        pelaaja1.AnimWalk = new Animation(Juoksu); 
    140153        pelaaja1.AnimWalk.FPS = 4; 
     154        pelaaja1.Tag = "pelaaja"; 
    141155 
    142156        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     
    148162        AddCollisionHandler(pelaaja1, "piikikas", TormaaSpikey); 
    149163        AddCollisionHandler(pelaaja1, "Heart", TormaaHealth); 
     164 
    150165         
    151166        Add(pelaaja1); 
     
    159174        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    160175        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    161         Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     176        Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    162177        Keyboard.Listen(Key.Enter, ButtonState.Pressed, Tauko, "PauseGame"); 
     178        Keyboard.Listen(Key.Up, ButtonState.Pressed, Avaa, "AvaaArkku"); 
     179 
    163180        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    164181 
     
    410427    void LisaaHeart(Vector paikka, double leveys, double korkeus) 
    411428    { 
    412         PhysicsObject Health = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     429        PhysicsObject Health = PhysicsObject.CreateStaticObject(Heart); 
    413430        Health.IgnoresCollisionResponse = true; 
    414431        Health.Position = paikka; 
    415         Health.Image = Heart; 
     432        Health.Size = new Vector(leveys, korkeus); 
    416433        Health.Tag = "Heart"; 
    417434        Add(Health); 
     
    435452        Blaster.Position = paikka; 
    436453        Blaster.Image = Blasterkuva; 
     454        Blaster.CollisionIgnoreGroup = 3; 
    437455        Add(Blaster); 
    438456        Cannon BlasterWeapon = new Cannon(leveys,korkeus); 
    439457        BlasterWeapon.Position = paikka; 
     458        BlasterWeapon.Power.MaxValue = 3500; 
    440459        Timer AseAjastin = new Timer(); 
    441460        AseAjastin.Interval = 3.0; 
    442461        AseAjastin.Timeout += delegate {             
    443462            PhysicsObject ammus = BlasterWeapon.Shoot(); 
     463            ammus.Size *= 3; 
    444464            ammus.CollisionIgnoreGroup = 3; 
    445465        }; 
     
    448468        BlasterWeapon.InfiniteAmmo = true; 
    449469        BlasterWeapon.AmmoIgnoresGravity = true; 
     470 
    450471        BlasterWeapon.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) {  
    451             //ammus.Destroy();  
     472            ammus.Destroy(); 
     473            if (kohde.Tag == "pelaaja") 
     474            { 
     475                //TormaaAmmus(); 
     476                health.Value -= 20; 
     477            } 
    452478        }; 
    453479        BlasterWeapon.Angle = Angle.FromDegrees(180); 
     
    456482        Add(BlasterWeapon); 
    457483    } 
     484    void Avaa() 
     485    { 
     486  
     487    } 
     488    void LisaaArkku(Vector paikka, double leveys, double korkeus) 
     489    { 
     490        PhysicsObject Arkku = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     491        Arkku.IgnoresCollisionResponse = true; 
     492        Arkku.Position = paikka; 
     493        Arkku.Image = Chest[0]; 
     494        Arkku.Tag = "Arkku"; 
     495        AddCollisionHandler(pelaaja1, "Arkku", delegate(PhysicsObject a, PhysicsObject b) 
     496        { 
     497            if (health.Value == health.MaxValue) 
     498            { 
     499                PhysicsObject tahti = LisaaTahti(paikka + new Vector(0, 80)); 
     500                tahti.Hit(new Vector(1000.0, 100.0)); 
     501            } 
     502            else 
     503            { 
     504                LisaaHeart(paikka + new Vector(0, 80), 40, 40); 
     505            } 
     506 
     507            Arkku.Tag = "Avattu arkku"; 
     508            b.Image = Chest[1]; 
     509        }); 
     510        Add(Arkku,-1); 
     511    } 
    458512} 
    459513 
Note: See TracChangeset for help on using the changeset viewer.