Changeset 6099 for 2015/24/ohjaajat


Ignore:
Timestamp:
2015-06-15 14:51:50 (4 years ago)
Author:
empaheik
Message:

Kultuurihuoneet eriarvoisia. Barbaarien määrä ja ilmestymistiheys vaihtelee vähän.

Location:
2015/24/ohjaajat/Dungeon
Files:
2 edited

Legend:

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

    r6097 r6099  
    105105    // Tämän päivityksen antama kultuurin määrä. 
    106106    public IntMeter Culture { get; set; } 
     107    public int Max { get; set; } //Kultuurimittarin maksimiarvo 
    107108 
    108109    // Label joka näyttää päivityksen antaman kultuurin määrän. 
     
    113114        base.Built(peli); 
    114115 
    115         Culture = new IntMeter(0, 0, 1000); 
     116        Culture = new IntMeter(0, 0, Max); 
    116117 
    117118        // Luodaan kultuurin ilmaisin. 
     
    224225    #endregion 
    225226 
    226     int[] hinnat = { 100, 200, 300, 100 }; 
     227    int[] hinnat = { 75, 200, 300, 100 }; 
    227228    int[] vahingot = { 1, 2 }; 
    228229    int[] ansaHinnat = { 400, 800 }; 
     230    int[] kultuuriTuotot = { 100, 200, 400 }; 
    229231    private int barbaariMaara = 2; 
    230232 
     
    248250    Room[,] huoneet; 
    249251    //public List<Room> kohteet = new List<Room>(); 
    250     public List<Barbaari> barbaarit = new List<Barbaari>(); 
     252    public List<Barbaari> barbaarit; 
    251253    Room spawn; 
    252     Timer barbaariAjastin = new Timer(); 
     254    Timer barbaariAjastin; 
     255    Timer sykliAjastin; 
    253256    Upgrade ostamassa; 
    254257    Point digStart; // Huoneen sijainti, josta kaivuu aloitetaan. 
     
    258261    GameObject digArrowHead; 
    259262 
    260     IntMeter kultuuri = new IntMeter(1500, 0, 2000); 
    261  
     263    IntMeter kultuuri = new IntMeter(0, 0, 2000); 
     264 
     265    const int MASSI = 1500; 
    262266    const int VAAKA_HUONEET = 12; 
    263267    const int PYSTY_HUONEET = 8; 
     
    271275    { 
    272276        ClearAll(); 
     277 
     278        kultuuri.Value = MASSI; 
     279        kierros = 0; 
     280        barbaariAjastin = new Timer(); 
     281        barbaarit = new List<Barbaari>(); 
     282 
    273283        SmoothTextures = false; 
    274284        IsMouseVisible = true; 
     
    310320        LuoSpawn(); 
    311321 
    312         Timer sykliAjastin = new Timer { Interval = 1.0 }; 
     322        sykliAjastin = new Timer { Interval = 1.0 }; 
    313323        sykliAjastin.Timeout += Sykli; 
    314324        sykliAjastin.Start(); 
    315325 
    316326        barbaariAjastin.Timeout += LuoBarbaareja; 
    317         barbaariAjastin.Interval = 3; 
     327        barbaariAjastin.Interval = sykliAjastin.Interval;   //TODO: säätöjä tähän, barbaarien määrään ja superbarbaarien todennäköisyyteen, kunnes peli tuntuu mielekkäältä 
    318328 
    319329        Level.Width = 1300; 
     
    379389            kuva.Clicked += delegate 
    380390            { 
    381                 ostamassa = LuoKultuuriPaivitys(kultuuriKuvat[indeksi], hinnat[indeksi]);   // TODO: tuotto[indeksi] 
     391                ostamassa = LuoKultuuriPaivitys(kultuuriKuvat[indeksi], hinnat[indeksi], kultuuriTuotot[indeksi]);   // TODO: tuotto[indeksi] 
    382392            }; 
    383393              
     
    390400        } 
    391401 
    392         LuoAnsaHuoneenPainike(ansaKuvat[0], ansaHinnat[0], ansaAnimaatiot[0], 0, vahingot[0]); 
    393         LuoAnsaHuoneenPainike(ansaKuvat[1], ansaHinnat[1], ansaAnimaatiot[1], 1, vahingot[1]); 
    394  
    395         /* 
    396         for (int i = 0; i < ansaKuvat.Length; i++) 
     402        for (int i = 0; i < ansaKuvat.Length; i++)   
    397403        { 
    398404            PushButton kuva = new PushButton(ansaKuvat[i]); 
     
    407413            kuva.Clicked += delegate 
    408414            { 
    409                 ostamassa = LuoAnsaPaivitys(ansaKuvat[indeksi], ansaHinnat[indeksi], ansaAnimaatiot[indeksi]); 
     415                ostamassa = LuoAnsaPaivitys(ansaKuvat[indeksi], ansaHinnat[indeksi], ansaAnimaatiot[indeksi], vahingot[indeksi]); 
    410416            }; 
    411417 
     
    416422                Text = ansaHinnat[i].ToString() 
    417423            }); 
    418         } */ 
     424        }  
    419425    } 
    420426 
     
    456462    } 
    457463 
    458     Upgrade LuoKultuuriPaivitys(Image kuva, int hinta) 
     464    Upgrade LuoKultuuriPaivitys(Image kuva, int hinta, int kultuuriMaara) 
    459465    { 
    460466        return new CultureUpgrade 
     
    462468            Image = kuva, 
    463469            Size = new Vector(0.5, 0.5) * RUUDUN_KOKO, 
    464             Price = hinta 
     470            Price = hinta, 
     471            Max = kultuuriMaara 
    465472        }; 
    466473    } 
     
    468475    void LuoBarbaareja() 
    469476    { 
    470         Barbaari barbaari = ((RandomGen.NextInt(20) + 3 > kierros) ? new Barbaari(RUUDUN_KOKO * 0.4, RUUDUN_KOKO * 0.4, 1, vihuKuvat) : new Barbaari(RUUDUN_KOKO * 0.4, RUUDUN_KOKO * 0.4, 2, kirvesVihuKuvat)); 
    471  
     477        Barbaari barbaari = ((RandomGen.NextInt((int)(kierros * 0.90)) + 3 > kierros) ? new Barbaari(RUUDUN_KOKO * 0.4, RUUDUN_KOKO * 0.4, 1, vihuKuvat) : new Barbaari(RUUDUN_KOKO * 0.4, RUUDUN_KOKO * 0.4, 2, kirvesVihuKuvat)); 
    472478        barbaari.Tenacity.LowerLimit += delegate 
    473479        { 
     
    475481            barbaari.Destroy(); 
    476482        }; 
    477  
    478483        //Barbaari barbaari = new Barbaari(RUUDUN_KOKO * 0.4, RUUDUN_KOKO * 0.4, 0); 
    479484        barbaari.Color = Color.Red; 
     
    573578        //Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Näytä valikko"); 
    574579        //Keyboard.Listen(Key.F1, ButtonState.Pressed, Begin, null); 
    575         Keyboard.Listen(Key.Escape, ButtonState.Pressed, delegate { ClearAll(); kierros = 0; Begin(); }, "Aloita uudestaan");    //Ei toimi vielä 
     580        Keyboard.Listen(Key.Escape, ButtonState.Pressed, delegate { ClearAll(); Begin(); }, "Aloita uudestaan");    //Ei toimi vielä 
    576581 
    577582        Keyboard.Listen(Key.Space, ButtonState.Pressed, SeuraavaAalto, "Anna kivan barbaariaallon tulla"); 
     
    582587        if (KultuuriHuoneidenPaikat().Count == 0 || KierrosKaynnissa % 2 == 0) return; 
    583588 
     589        barbaariAjastin.Interval = RandomGen.NextInt((int)sykliAjastin.Interval, 3); 
    584590        barbaariAjastin.Start(barbaariMaara); 
    585         barbaariMaara = RandomGen.NextInt(1, kierros); 
     591        barbaariMaara = RandomGen.NextInt((int)(1 + kierros * 0.20), kierros); 
    586592        KierrosKaynnissa++; 
    587593    } 
     
    703709    } 
    704710 
    705     void PaivitaHuoneenKultuuri(Room room) 
     711    void PaivitaHuoneenKultuuri(Room room)  //TODO: muokkauksia tuohon kultuurinarvonvaihtoon polun pituuden perusteella kunnes peli tuntuu oikeasti miellyttäviltä.  
    706712    { 
    707713        if (room != null && room.Upgrade != null && room.Upgrade is CultureUpgrade) 
     
    710716 
    711717            List<Point> polku = FindPath(room.Location, spawn.Location); 
    712             upg.Culture.Value = Math.Max(0, 150 - 5 * polku.Count); 
     718            upg.Culture.Value = Math.Max(0, upg.Culture.MaxValue - (int)(upg.Culture.MaxValue * 0.10 * polku.Count)); 
    713719        } 
    714720    } 
Note: See TracChangeset for help on using the changeset viewer.