Ignore:
Timestamp:
2017-08-02 14:52:03 (23 months ago)
Author:
npo17_71
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/31/RoniM/New folder/New folder/Bossfloors/Bossfloors/Bossfloors/Bossfloors.cs

    r9309 r9351  
    3939      
    4040    const int RUUDUN_KOKO = 30; 
    41  
     41    int kenttaNro = 1; 
    4242    public int Elamat { get; set; } 
    4343    public bool OnHidas { get; set; } 
     
    5050 
    5151 
    52  
    5352    public override void Begin() 
    5453    { 
    55         LuoKentta(); 
    56  
     54        //LuoKentta("kentta"); 
     55 
     56        LataaKentta(); 
     57 
     58    } 
     59 
     60    class Rakennus : PhysicsObject 
     61    { 
     62        private IntMeter elamaLaskuri = new IntMeter(50, 0, 50); 
     63        public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     64 
     65        public Rakennus(double leveys, double korkeus) 
     66            : base(leveys, korkeus) 
     67        { 
     68            elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     69        } 
     70 
     71    } 
     72    void LataaKentta() 
     73    { 
     74        ClearAll(); 
     75 
     76        if (kenttaNro == 1) LuoKentta("kentta"); 
     77        else if (kenttaNro == 2) LuoKentta("dungeon 1"); 
     78        else if (kenttaNro == 3) LuoKentta("boss 1"); 
     79        else if (kenttaNro > 3) 
     80        { 
     81            Exit(); 
     82            return; 
     83        } 
     84 
     85        //LuoPistelaskuri(); 
     86        // LuoPistelaskuri2(); 
     87        //luoelamalaskuri2(); 
     88         
    5789        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, pelaaja1, new Vector(-1000, 0)); 
    5890        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, pelaaja1, new Vector(1000, 0)); 
     
    69101        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, LiikutaPelaajaa, null, pelaaja1, new Vector(0, -1000)); 
    70102        ControllerOne.Listen(Button.A, ButtonState.Down, AmmuAseella, null, pelaaja1); 
    71  
    72  
    73     } 
    74     class Rakennus : PhysicsObject 
    75     { 
    76         private IntMeter elamaLaskuri = new IntMeter(50, 0, 50); 
    77         public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
    78  
    79         public Rakennus(double leveys, double korkeus) 
    80             : base(leveys, korkeus) 
    81         { 
    82             elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
    83         } 
    84103 
    85104    } 
     
    100119        pelaaja1.CollisionIgnoreGroup = 1; 
    101120        AddCollisionHandler(pelaaja1, "vihollinen", pelaajaosui); 
     121        AddCollisionHandler(pelaaja1, "rakennus", TormasiMaaliin); 
    102122         
    103      //   luoelamalaskuri2(); 
     123         
     124     //    
    104125           
    105126        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella"); 
    106        // LuoPistelaskuri(); 
    107       //  LuoPistelaskuri2(); 
     127       //  
     128      //   
    108129 
    109130        pelaaja1.Ase = new AssaultRifle(0, 0); 
     
    115136 
    116137        Timer aikaLaskuri = new Timer(); 
    117         aikaLaskuri.Interval = 1.0; 
     138        aikaLaskuri.Interval = 0.3333; 
    118139        aikaLaskuri.Timeout += delegate 
    119140        { 
     
    123144 
    124145        pelaaja1.Ase.Power.DefaultValue = 80; 
    125         pelaaja1.Ase.FireRate = 5; 
     146        pelaaja1.Ase.FireRate = 50; 
    126147        pelaaja1.Add(pelaaja1.Ase); 
    127148 
     
    131152 
    132153    } 
     154 
     155    void TormasiMaaliin(PhysicsObject pelaaja, PhysicsObject dungeon) 
     156    { 
     157        //Kasvatetaan kenttänumeroa yhdellä ja siirrytään seuraavaan kenttään: 
     158        kenttaNro++; 
     159        LataaKentta(); 
     160    } 
     161 
     162    
    133163    void Tahtaa(AnalogState hiirenLiike) 
    134164    { 
     
    137167        Mouse.IsCursorVisible = true; 
    138168    } 
     169 
     170    
     171 
    139172    void AmmuAseella(Pelaaja pelaaja) 
    140173    { 
     
    150183            ammus.Color = (Color.Gold); 
    151184                 
    152             ammus.MaximumLifetime = TimeSpan.FromSeconds(30.0); 
     185            ammus.MaximumLifetime = TimeSpan.FromSeconds(0.1); 
    153186        } 
    154187    } 
     
    209242 
    210243 
    211     void LuoKentta() 
    212     { 
    213         ColorTileMap ruudut = ColorTileMap.FromLevelAsset("map1 valmis melkein"); 
     244    void LuoKentta(string nimi) 
     245    { 
     246        ColorTileMap ruudut = ColorTileMap.FromLevelAsset(nimi); 
    214247        ruudut.SetTileMethod(Color.FromHexCode("FF006E"), LuoPelaaja1); 
    215248        //ruudut.SetTileMethod(Color.FromHexCode("0019FF"), LuoPelaaja2); 
     
    219252        ruudut.SetTileMethod(Color.FromHexCode("000000"), LuoSeina); 
    220253        ruudut.SetTileMethod(Color.FromHexCode("FA00FF"), LuoSyotava); 
     254        
    221255        ruudut.SetTileMethod(Color.FromHexCode("AD77FF"), luomonster); 
    222         ruudut.SetTileMethod(Color.FromHexCode("3AFFC0"), luozombi); 
     256        ruudut.SetTileMethod(Color.FromHexCode("B60000"), luozombi); 
    223257        ruudut.SetTileMethod(Color.FromHexCode("FF6A00"), dungeon); 
    224258        ruudut.SetTileMethod(Color.FromHexCode("FFFFFF"), safezone); 
     
    226260 
    227261        ruudut.Execute(30, 30); 
    228         Camera.ZoomFactor = 2.45; 
     262        Camera.ZoomFactor = 0.45; 
    229263        Camera.Follow(pelaaja1); 
    230264    } 
     265 
     266    //void SeuraavaKentta(PhysicsObject pelaaja, PhysicsObject maali) 
     267    //{ 
     268    //    kenttaNro++; 
     269    //    LataaKentta(); 
     270    //} 
     271 
     272    
    231273    void LuoPelaaja1(Vector paikka, double leveys, double korkeus) 
    232274    { 
     
    329371            monster.Image = vihu5; 
    330372            monster.Color = Color.Red; 
    331             LabyrinthWandererBrain labyrinttiAivot = new LabyrinthWandererBrain(RUUDUN_KOKO); 
     373           LabyrinthWandererBrain labyrinttiAivot = new LabyrinthWandererBrain(RUUDUN_KOKO); 
    332374            labyrinttiAivot.Speed = 150.0; 
    333375            monster.LifetimeLeft = TimeSpan.FromSeconds(20.0); 
     
    354396    { 
    355397        Timer aikaLaskuri = new Timer(); 
    356         aikaLaskuri.Interval = 40; 
    357         aikaLaskuri.Timeout += delegate 
     398        aikaLaskuri.Interval = (10); 
     399           aikaLaskuri.Timeout += delegate 
    358400        { 
    359401            PhysicsObject zombi = new PhysicsObject(17, 17); 
     
    362404            zombi.Tag = "zombi"; 
    363405 
    364  
    365  
    366             LabyrinthWandererBrain labyrinttiAivot = new LabyrinthWandererBrain(RUUDUN_KOKO); 
    367             labyrinttiAivot.Speed = 70.0; 
     406            FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja1); 
     407            RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200); 
     408            seuraajanAivot.Speed = 30;                 // Millä nopeudella kohdetta seurataan 
     409            seuraajanAivot.DistanceFar = 600;           // Etäisyys jolla aletaan seurata kohdetta 
     410            seuraajanAivot.DistanceClose = 200;         // Etäisyys jolloin ollaan lähellä kohdetta 
     411            seuraajanAivot.StopWhenTargetClose = false;  // Pysähdytään kun ollaan lähellä kohdetta 
     412            seuraajanAivot.FarBrain = satunnaisAivot;   // Käytetään satunnaisaivoja kun ollaan kaukana 
     413 
     414            ; 
     415            satunnaisAivot.ChangeMovementSeconds = 5; 
    368416            zombi.Image = zzombi; 
    369             zombi.LifetimeLeft = TimeSpan.FromSeconds(80.0); 
     417            zombi.LifetimeLeft = TimeSpan.FromSeconds(60.0); 
    370418            AddCollisionHandler(zombi, "pelaaja", pelaajaosui2); 
    371             labyrinttiAivot.LabyrinthWallTag = "seina"; 
    372             zombi.Brain = labyrinttiAivot; 
    373             Add(zombi); 
     419            satunnaisAivot.WanderRadius = 200; 
     420            //seuraajanAivot.TargetClose += mitaTapahtuuKunOllaanLahella; 
     421            zombi.Brain = satunnaisAivot; 
     422            zombi.Brain = seuraajanAivot; 
     423            Add(zombi, +1); 
    374424        }; 
    375425        aikaLaskuri.Start(); 
    376426 
    377427 
    378     } 
    379  
     428 
     429    } 
     430  //  void mitaTapahtuuKunOllaanLahella() 
     431  //  { 
     432  //      zombi.Color = Color.Red; 
     433  //  } 
    380434 
    381435    void dungeon(Vector paikka, double leveys, double korkeus) 
     
    385439        rakennus.MakeStatic(); 
    386440        rakennus.Color = Color.Brown; 
    387         rakennus.CollisionIgnoreGroup = 1; 
     441        rakennus.CollisionIgnoreGroup = 2; 
    388442        rakennus.Tag = "rakennus"; 
    389443        Add(rakennus); 
Note: See TracChangeset for help on using the changeset viewer.