Changeset 6034 for 2015/24


Ignore:
Timestamp:
2015-06-11 17:41:14 (8 years ago)
Author:
empaheik
Message:
 
Location:
2015/24/ohjaajat/Dungeon
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • 2015/24/ohjaajat/Dungeon/Dungeon/Dungeon/Dungeon.cs

    r6031 r6034  
    2323/// Päivitys joka voi olla huoneessa. 
    2424/// </summary> 
    25 abstract class Upgrade : GameObject 
     25public abstract class Upgrade : GameObject 
    2626{ 
    2727    public int Price { get; set; } 
     
    7676} 
    7777 
    78 class Room : GameObject 
     78public class Room : GameObject 
    7979{ 
    8080    // Sijainti pelin ruudukossa. 
     
    121121    public int Askel { get; set; } 
    122122 
     123    private Room kohde; 
     124    public Room Kohde 
     125    { 
     126        get { return kohde; } 
     127        set { kohde = value; } 
     128    } 
     129    public Point Location 
     130    { 
     131        get; 
     132        set; 
     133    } 
     134 
    123135} 
    124136 
     
    132144    Image reikaSeinaKuva = LoadImage("wallhole"); 
    133145    Image kiviKuva = LoadImage("rock"); 
    134     static Image kulttuuriKuva1 = LoadImage("es"); 
    135     static Image kulttuuriKuva2 = LoadImage("nyan"); 
    136     static Image kulttuuriKuva3 = LoadImage("spurdo"); 
    137     Image[] kultuuriKuvat = new Image[] { kulttuuriKuva1, kulttuuriKuva2, kulttuuriKuva3 }; 
     146    //static Image kulttuuriKuva1 = LoadImage("es"); 
     147    //static Image kulttuuriKuva2 = LoadImage("nyan"); 
     148    //static Image kulttuuriKuva3 = LoadImage("spurdo"); 
     149    Image[] kultuuriKuvat = LoadImages("nyan", "es", "spurdo"); 
    138150    Image[] vihuKuvat = LoadImages((from i in Enumerable.Range(1, 10) select String.Format("v{0:0000}", i)).ToArray()); 
    139151    Image partikkeli = LoadImage("partikkeli"); 
     
    157169    IntMeter kulttuuri = new IntMeter(300, 0, 2000); 
    158170 
    159     int vaakaHuoneet = 12; 
    160     int pystyHuoneet = 8; 
     171    const int VAAKA_HUONEET = 12; 
     172    const int PYSTY_HUONEET = 8; 
    161173 
    162174    // Paljonko peliruudukko on siirtynyt origosta. 
     
    172184 
    173185        // Luodaan huoneet ruutuihin. 
    174         huoneet = new Room[vaakaHuoneet, pystyHuoneet]; 
     186        huoneet = new Room[VAAKA_HUONEET, PYSTY_HUONEET]; 
    175187        foreach (var paikka in RuutujenPaikat()) 
    176188        { 
     
    218230        for (int i = 0; i < kultuuriKuvat.Length; i++) 
    219231        { 
    220             /* 
    221             Point lokaatio = new Point(0, 0); 
    222  
    223             Room kuva = new Room(lokaatio); 
    224             kuva.Position = new Vector((Level.Right + Level.Width * 0.05), (Level.Top - Level.Height * 0.25 - (i * RUUDUN_KOKO))); 
    225             kuva.Image = kultuuriKuvat[i]; 
    226             kuva.Price = hinnat[i]; 
    227             Add(kuva); 
    228  
    229             Mouse.ListenOn(kuva, MouseButton.Left, ButtonState.Pressed, delegate(Room a) { ostettu = a; }, "Asetetaan ostettu huone paikoilleen", kuva); 
    230             */ 
    231232 
    232233            // Ostettavat päivitykset on nyt PushButtoneita huoneiden sijaan. 
     
    250251            teksti.Text = hinnat[i].ToString(); 
    251252            Add(teksti); 
     253 
     254            /*for(int i = 0; i<ansaKuvat.Length; i++) 
     255            { 
     256 
     257            }*/ 
    252258        } 
    253259    } 
     
    271277        barbaari.Animation.FPS = 10; 
    272278        barbaari.Animation.Start(); 
     279        barbaari.Location = spawn.Location; 
    273280        Add(barbaari); 
    274281        barbaarit.Add(barbaari); 
     
    279286    void EtsiBarbaarinReitti(Barbaari barbaari) 
    280287    { 
    281         Room kohde = kohteet[RandomGen.NextInt(kohteet.Count)]; 
    282  
    283         List<Point> polku = FindPath(kohde.Location, spawn.Location); 
    284         //polku.Reverse();  
    285  
    286         barbaari.Reitti = polku; 
    287  
    288         /* 
    289         Timer siirtoAjastin = new Timer(); 
    290         siirtoAjastin.Interval = 2; 
    291         siirtoAjastin.Timeout += delegate 
    292         { 
    293             barbaari.MoveTo(huoneet[polku[barbaari.Askel].X, polku[barbaari.Askel++].Y].Position, 100); 
    294         }; 
    295         siirtoAjastin.Start(polku.Count); 
    296         */ 
     288        barbaari.Kohde = kohteet[RandomGen.NextInt(kohteet.Count)]; 
     289        barbaari.Reitti = FindPath(barbaari.Kohde.Location, (barbaari.Location.Equals(spawn.Location)) ? spawn.Location : barbaari.Location); 
     290         
     291 
    297292    } 
    298293 
     
    304299            if (barbaari.Reitti.Count == 0) 
    305300            { 
    306                 // Barbaari saapui tiensä päähän. 
    307                 // Voisi etsiä uutta huonetta poiston sijaan? 
     301                kohteet.Remove(barbaari.Kohde); 
     302 
     303                if (kohteet.Count > 0) 
     304                { 
     305                    EtsiBarbaarinReitti(barbaari);  //Etsitään uusi reitti poiston sijaan 
     306                    continue; 
     307                } 
     308                 
    308309                poistettavat.Add(barbaari); 
    309                 barbaari.Destroy(); 
     310                barbaari.Destroy();  
    310311                continue; 
    311312            } 
     
    324325        // Barbaari saapui juuri uusiPaikka kohdassa olevaan huoneeseen. 
    325326        // Tässä pitäisi katsoa mitä huoneessa tapahtuu. 
     327        barbaari.Location = uusiPaikka; 
     328 
     329        Room huone = huoneet[uusiPaikka.X, uusiPaikka.Y]; 
     330 
     331        if (huone != null && huone.Upgrade != null && huone.Upgrade is CultureUpgrade)  //Barbaari tuhoaa kultuurihuoneen. 
     332        { 
     333            var upg = huone.Upgrade as CultureUpgrade; 
     334            upg.Destroy(); 
     335        } 
    326336    } 
    327337 
     
    338348    void SeuraavaAalto() 
    339349    { 
     350        
     351        barbaariAjastin.Start(barbaariMaara); 
    340352        barbaariMaara += 2; 
    341         barbaariAjastin.Start(barbaariMaara); 
    342353    } 
    343354 
Note: See TracChangeset for help on using the changeset viewer.