Changeset 2626 for 2010


Ignore:
Timestamp:
2011-12-09 00:29:00 (8 years ago)
Author:
hniemi
Message:

Lisäilty tombstoningia, ei toimi vielä.

Location:
2010/23/hniemi/JyTris/JyTris
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • 2010/23/hniemi/JyTris/JyTris/JyTris.csproj

    r1994 r2626  
    7070  <ItemGroup> 
    7171    <Reference Include="Jypeli4"> 
    72       <HintPath>..\..\..\Jypeli\lib\x86\Jypeli4.dll</HintPath> 
     72      <HintPath>..\..\..\..\Jypeli\lib\x86\Jypeli4.dll</HintPath> 
    7373    </Reference> 
    7474    <Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553"> 
  • 2010/23/hniemi/JyTris/JyTris/Peli.cs

    r1994 r2626  
    2020    { 
    2121        #region Muuttujat 
    22         private string versio = "0.5"; 
    23  
    24         const int leveys = 10; 
    25         const int korkeus = 26; 
    26         const int palikkojenSivu = 30; 
    27  
    28         GameObject[][] pelikentta; 
    29         GameObject[][] ennustuskentta; 
    30         TetrisPalikka aktiivinenPalikka; 
    31         TetrisPalikka ennustusPalikka; 
    32         GameObject pausenappula; 
     22        private const string versio = "0.5"; 
     23        private const string file = "state.xml"; 
     24 
     25        private const int leveys = 10; 
     26        private const int korkeus = 26; 
     27        private const int palikkojenSivu = 30; 
     28 
     29        //Pelikenttä 
     30        private GameObject[][] pelikentta; 
     31        private GameObject[][] ennustuskentta; 
     32 
     33        private TetrisPalikka aktiivinenPalikka; 
     34        private TetrisPalikka ennustusPalikka; 
     35 
     36        private GameObject pausenappula; 
    3337 
    3438        //Liikutusvektorit 
    35         Vector vasemmalle = new Vector(-1, 0); 
    36         Vector oikealle = new Vector(1, 0); 
    37         Vector alas = new Vector(0, 1); 
    38  
    39  
    40         Timer tiputusajastin; 
     39        private Vector vasemmalle = new Vector(-1, 0); 
     40        private Vector oikealle = new Vector(1, 0); 
     41        private Vector alas = new Vector(0, 1); 
     42 
     43        private Timer tiputusajastin; 
    4144 
    4245        //Statistiikka 
    43         double vaikeusaste = 0.9; 
    44         //bool purkkabool = false; 
    45         IntMeter pisteet = new IntMeter(0); 
    46         IntMeter taso = new IntMeter(0); 
    47         int tuhotutRivit = 0; 
     46        private double vaikeusaste = 0.9; 
     47        private IntMeter pisteet = new IntMeter(0); 
     48        private IntMeter taso = new IntMeter(0); 
     49 
     50        private int tuhotutRivit = 0; 
     51        private int pelinTila = 0; 
     52 
    4853        //HighScoreList topLista; 
    4954 
    50         Label tasonaytto; 
    51         Label pistenaytto; 
    52         Label status; 
     55        private Label tasonaytto; 
     56        private Label pistenaytto; 
     57        private Label status; 
    5358 
    5459        /* 
    5560         * Introon tarvittavat muuttujat 
    5661         */ 
    57         Timer introajastin; 
     62        private Timer introajastin; 
     63 
    5864        private int indeksi = 0; 
    5965        private int suunta = 1; 
    6066        private int vaihtoCounter = 0; 
    61  
     67        #endregion 
     68        #region Talletettavat 
     69        /// <summary> 
     70        /// Pelaajan pisteet 
     71        /// </summary> 
     72        public IntMeter Pisteet 
     73        { 
     74            get { return pisteet; } 
     75            set { pisteet = value; } 
     76        } 
     77 
     78        /// <summary> 
     79        /// Menossa oleva taso 
     80        /// </summary> 
     81        public IntMeter Taso 
     82        { 
     83            get { return taso; } 
     84            set { taso = value; } 
     85        } 
     86 
     87        /// <summary> 
     88        /// Tuhottujen rivien määrä 
     89        /// </summary> 
     90        public int TuhotutRivit 
     91        { 
     92            get { return tuhotutRivit; } 
     93            set { tuhotutRivit = value; } 
     94        } 
     95 
     96        /// <summary> 
     97        /// Pelikenttä 
     98        /// </summary> 
     99        public GameObject[][] Pelikentta 
     100        { 
     101            get { return pelikentta; } 
     102            set { pelikentta = value; } 
     103        } 
     104 
     105        /// <summary> 
     106        /// Palikka, joka tulee seuraavaksi 
     107        /// </summary> 
     108        public TetrisPalikka EnnustusPalikka 
     109        { 
     110            get { return ennustusPalikka; } 
     111            set { ennustusPalikka = value; } 
     112        } 
     113 
     114        /// <summary> 
     115        /// Ennustuskenttä, näyttää seuraavan palikan 
     116        /// </summary> 
     117        public GameObject[][] Ennustuskentta 
     118        { 
     119            get { 
     120                return ennustuskentta;  
     121            } 
     122            set { ennustuskentta = value; } 
     123        } 
     124 
     125        /// <summary> 
     126        /// Aktiivinen palikka tällä hetkellä 
     127        /// </summary> 
     128        public TetrisPalikka AktiivinenPalikka 
     129        { 
     130            get { return aktiivinenPalikka; } 
     131            set { aktiivinenPalikka = value; } 
     132        } 
     133 
     134        /// <summary> 
     135        /// Pelin vaikeusaste tällä hetkellä 
     136        /// </summary> 
     137        public double Vaikeusaste 
     138        { 
     139            get { return vaikeusaste; } 
     140            set { vaikeusaste = value; } 
     141        } 
    62142        #endregion 
    63143 
     
    77157        } 
    78158 
     159 
     160 
    79161        public void AsetaPistelista() 
    80162        { 
     
    83165 
    84166        #region WP7-Metodit 
     167 
     168        /// <summary> 
     169        /// Palauttaa ohjelman tilan 
     170        /// </summary> 
     171        public override void Continue() 
     172        { 
     173            base.Continue(); 
     174            Puhelinasetukset(); 
     175            LoadState lataus = DataStorage.BeginLoad(file); 
     176            pelinTila = lataus.Load<int>(pelinTila, "pelinTila"); 
     177 
     178            LuoPelikentta(); 
     179            AsetaPistelista(); 
     180            LuoHud(); 
     181            //Jos peli ei ollut käynnissä 
     182            if (pelinTila == 0)  
     183            { 
     184                AlkuIntro(); 
     185            } 
     186 
     187            //Jos peli oli käynnissä 
     188            if (pelinTila == 1) 
     189            { 
     190                pelikentta = lataus.Load<GameObject[][]>(pelikentta, "pelikentta"); 
     191                aktiivinenPalikka = new TetrisPalikka(4); 
     192                aktiivinenPalikka = lataus.Load<TetrisPalikka>(aktiivinenPalikka,"aktiivinenPalikka"); 
     193 
     194                LuoHud(); 
     195                ennustuskentta = lataus.Load<GameObject[][]>(ennustuskentta,"ennustuskentta" ); 
     196 
     197                ennustusPalikka = new TetrisPalikka(4); 
     198                ennustusPalikka = lataus.Load<TetrisPalikka>(ennustusPalikka,"ennustusPalikka" ); 
     199 
     200                taso = lataus.Load<IntMeter>(taso,"taso" ); 
     201                pisteet = lataus.Load<IntMeter>(pisteet, "pisteet"); 
     202                tuhotutRivit = lataus.Load<int>(tuhotutRivit, "tuhotutRivit"); 
     203                vaikeusaste = lataus.Load<double>(vaikeusaste, "vaikeusaste"); 
     204 
     205                LuoTiputusajastin(); 
     206                tiputusajastin.Start(); 
     207            } 
     208            lataus.EndLoad(); 
     209             
     210        } 
     211 
    85212        /// <summary> 
    86213        /// Asettaa näytön asennon ja zoomin kohilleen. 
     
    93220            Camera.Move(new Vector(40, 0)); 
    94221            TouchPanel.Listen(ButtonState.Pressed, KasitteleKosketus, null); 
     222 
     223            Phone.Deactivated += TilaTalletus; 
     224        } 
     225 
     226        /// <summary> 
     227        /// Toimenpiteet, mitä tehdään, kun poistutaan pelistä 
     228        /// </summary> 
     229        public void TilaTalletus() 
     230        { 
     231            SaveState tallennus = DataStorage.BeginSave(file); 
     232 
     233            tallennus.Save<int>(pelinTila, "pelinTila"); 
     234            if (pelinTila == 1)  
     235            { 
     236                tallennus.Save<GameObject[][]>(pelikentta, "pelikentta"); 
     237                tallennus.Save<GameObject[][]>(ennustuskentta, "ennustuskentta"); 
     238                tallennus.Save<TetrisPalikka>(aktiivinenPalikka, "aktiivinenPalikka"); 
     239                tallennus.Save<TetrisPalikka>(ennustusPalikka, "ennustusPalikka"); 
     240                tallennus.Save<IntMeter>(taso, "taso"); 
     241                tallennus.Save<IntMeter>(pisteet, "pisteet"); 
     242                tallennus.Save<int>(tuhotutRivit, "tuhotutRivit"); 
     243                tallennus.Save<double>(vaikeusaste, "vaikeusaste"); 
     244            } 
     245            tallennus.EndSave(); 
    95246        } 
    96247 
     
    143294        } 
    144295 
     296        /// <summary> 
     297        /// Käsittelee pause-nappia painaneen kosketuksen 
     298        /// </summary> 
     299        /// <param name="b"></param> 
    145300        public void KasittelePauseKosketus(Touch b) 
    146301        { 
     
    151306        #region Intro 
    152307        /// <summary> 
    153         /// Käynnistää alkuintron 
    154         /// </summary> 
    155         void AlkuIntro() 
     308        /// Luo introajastimen 
     309        /// </summary> 
     310        private void LuoIntroAjastin() 
    156311        { 
    157312            introajastin = new Timer(); 
    158313            introajastin.Interval = 0.05; 
    159             introajastin.Trigger += IntroPyoritys; 
     314            introajastin.Timeout += IntroPyoritys; 
     315        } 
     316 
     317        /// <summary> 
     318        /// Käynnistää alkuintron 
     319        /// </summary> 
     320        private void AlkuIntro() 
     321        { 
     322            LuoIntroAjastin(); 
    160323            introajastin.Start(); 
    161324        } 
     
    165328        /// </summary> 
    166329        /// <param name="ajastin">Ei käytössä</param> 
    167         void IntroPyoritys(Timer ajastin) 
     330        private void IntroPyoritys() 
    168331        { 
    169332            TuhoaRivi(korkeus - 1); 
     
    199362        /// Luo näyttöön pistenäytöt ja muut elementit. 
    200363        /// </summary> 
    201         void LuoHud() 
     364        private void LuoHud() 
    202365        { 
    203366            Widget statistiikka = new Widget(120, 100); 
     
    256419        /// </summary> 
    257420        /// <param name="palikka">Näytettävä palikka</param> 
    258         void AsetaEnnustusnaytto(TetrisPalikka palikka) 
     421        private void AsetaEnnustusnaytto(TetrisPalikka palikka) 
    259422        { 
    260423            for (int i = 0; i < ennustuskentta.Length; i++) 
     
    278441        /// Luo pelikentän ylhäällä määrätyistä vakioista 
    279442        /// </summary> 
    280         void LuoPelikentta() 
     443        private void LuoPelikentta() 
    281444        { 
    282445            //Tässä säädetään pelialueen koko, jotta seinät tulevat oikeille kohdille 
     
    313476        /// Asettaa pelin aikana tarvittavat näppäimet. 
    314477        /// </summary> 
    315         void AsetaPeliNappaimet() 
     478        private void AsetaPeliNappaimet() 
    316479        { 
    317480            Vector vasemmalle = new Vector(-1, 0); 
     
    322485            Keyboard.Listen(Key.Left, ButtonState.Pressed, Liikuta, "Liikuttaa palikkaa vasemmalle", vasemmalle); 
    323486            Keyboard.Listen(Key.Right, ButtonState.Pressed, Liikuta, "Liikuttaa palikkaa oikealle", oikealle); 
    324             Keyboard.Listen(Key.Down, ButtonState.Down, Laske, "Liikuttaa palikkaa alas", tiputusajastin); 
     487            Keyboard.Listen(Key.Down, ButtonState.Down, Laske, "Liikuttaa palikkaa alas"); 
    325488            Keyboard.Listen(Key.Up, ButtonState.Pressed, Kaanna, "Kääntää palikkaa"); 
    326489            Keyboard.Listen(Key.Space, ButtonState.Pressed, Tiputa, "Tiputtaa palikan"); 
     
    331494        } 
    332495 
    333         void AsetaTaukoNappaimet() 
     496        private void AsetaTaukoNappaimet() 
    334497        { 
    335498            Keyboard.Listen(Key.P, ButtonState.Pressed, Pysayta, "Jatkaa peliä", false); 
     
    340503        /// Asettaa menuissa käytettävät näppäimet 
    341504        /// </summary> 
    342         void AsetaMenuNappaimet() 
     505        private void AsetaMenuNappaimet() 
    343506        { 
    344507            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistuu pelistä"); 
     
    352515        /// </summary> 
    353516        /// <param name="suunta">X ja Y oltava kokonaislukuja.</param> 
    354         void Liikuta(Vector suunta) 
     517        private void Liikuta(Vector suunta) 
    355518        { 
    356519            PaivitaPalikka(aktiivinenPalikka, Color.Transparent); 
     
    367530        /// Kääntää palikkaa 
    368531        /// </summary> 
    369         void Kaanna() 
     532        private void Kaanna() 
    370533        { 
    371534            PaivitaPalikka(aktiivinenPalikka, Color.Transparent); 
     
    392555        /// </summary> 
    393556        /// <param name="timer">Ei käytössä</param> 
    394         void Laske(Timer timer) 
     557        private void Laske() 
    395558        { 
    396559            PaivitaPalikka(aktiivinenPalikka, Color.Transparent); 
     
    412575        /// Tiputtaa palikkan kokonaan alas. 
    413576        /// </summary> 
    414         void Tiputa() 
    415         { 
     577        private void Tiputa() 
     578        { 
     579            //Lasketaan, kunnes ei ole sama palikka ohjattavana. 
    416580            TetrisPalikka palikka = aktiivinenPalikka; 
    417             while (aktiivinenPalikka == palikka) Laske(tiputusajastin); 
     581            while (aktiivinenPalikka == palikka) Laske(); 
    418582        } 
    419583 
     
    427591        /// <param name="palikka">Palikka, jonka suhteen tarkistetaan</param> 
    428592        /// <returns>true, jos palikan siirtäminen on mahdollista</returns> 
    429         bool VoikoSiirtaa(Vector[] siirrot, TetrisPalikka palikka) 
     593        private bool VoikoSiirtaa(Vector[] siirrot, TetrisPalikka palikka) 
    430594        { 
    431595            Vector[] sijainnit = palikka.Sijainti(); 
     
    445609        /// <param name="palikka">Palikka, jonka suhteen tarkistetaan</param> 
    446610        /// <returns>true, jos siirto on mahdollinen</returns> 
    447         bool VoikoSiirtaa(Vector siirto, TetrisPalikka palikka) 
     611        private bool VoikoSiirtaa(Vector siirto, TetrisPalikka palikka) 
    448612        { 
    449613            Vector[] siirrot = new Vector[4]; 
     
    462626        /// <param name="paikka">X ja Y oltava kokonaislukuja</param> 
    463627        /// <returns>true, jos paikka on tyhjä</returns> 
    464         bool OnkoTyhja(Vector paikka) 
     628        private bool OnkoTyhja(Vector paikka) 
    465629        { 
    466630            if (paikka.X > leveys - 1 || paikka.X < 0) return false; 
     
    476640        /// <param name="palikka">Tämän sijainti väritetään</param> 
    477641        /// <param name="vari">Väri, jolla väritetään</param> 
    478         void PaivitaPalikka(TetrisPalikka palikka, Color vari) 
     642        private void PaivitaPalikka(TetrisPalikka palikka, Color vari) 
    479643        { 
    480644            Vector[] sijainnit = palikka.Sijainti(); 
     
    493657        /// <param name="koordinaatit">Haluttu koordinaatti</param> 
    494658        /// <returns>Gameobject, joka vastaa koordinaatteja</returns> 
    495         GameObject AnnaKoordinaateista(Vector koordinaatit) 
     659        private GameObject AnnaKoordinaateista(Vector koordinaatit) 
    496660        { 
    497661            return pelikentta[(int)Math.Round(koordinaatit.Y)][(int)Math.Round(koordinaatit.X)]; 
     
    504668        /// Tulee antamaan satunnaisen palikan 
    505669        /// </summary> 
    506         void LuoPalikka() 
     670        private void LuoPalikka() 
    507671        { 
    508672            //Luo uuden palikan ja siirtää ennustuspalikan aktiiviseksi 
     
    546710        /// Resetoi vaikeusasteen! 
    547711        /// </summary> 
    548         void KaynnistaPeli() 
     712        private void KaynnistaPeli() 
    549713        { 
    550714            status.Color = Color.Transparent; 
    551715            status.TextColor = Color.Transparent; 
     716            pelinTila = 1; 
    552717            pisteet.Value = 0; 
    553718            taso.Value = 1; 
     
    567732            */ 
    568733            vaikeusaste = 0.9; 
     734            LuoTiputusajastin(); 
     735            tiputusajastin.Start(); 
     736            LuoPalikka(); 
     737        } 
     738 
     739        /// <summary> 
     740        /// Luo ajastimen, joka tiputtaa palikoita 
     741        /// </summary> 
     742        private void LuoTiputusajastin()  
     743        { 
    569744            tiputusajastin = new Timer(); 
    570745            tiputusajastin.Interval = vaikeusaste; 
    571             tiputusajastin.Trigger += Laske; 
    572             tiputusajastin.Start(); 
    573             LuoPalikka(); 
     746            tiputusajastin.Timeout += Laske; 
    574747        } 
    575748 
     
    580753        /// </summary> 
    581754        /// <param name="pysaytetaan">true, jos peli halutaan pysäyttää</param> 
    582         void Pysayta(bool pysaytetaan) 
     755        private void Pysayta(bool pysaytetaan) 
    583756        { 
    584757            if (pysaytetaan) 
     
    601774        /// Tuhoaa täydet rivit kentältä 
    602775        /// </summary> 
    603         void TuhoaTaydet() 
     776        private void TuhoaTaydet() 
    604777        { 
    605778            bool tyhjia; 
     
    635808        /// Tuhoaa kaikki palikat kentältä. 
    636809        /// </summary> 
    637         void TuhoaKaikki() 
     810        private void TuhoaKaikki() 
    638811        { 
    639812            //Tässä käydään lävitse kaikki laatikot ja asetetaan ne läpinäkyviksi. 
     
    651824        /// </summary> 
    652825        /// <param name="rivinIndeksi">Tiputettavan rivin indeksi</param> 
    653         void TuhoaRivi(int rivinIndeksi) 
     826        private void TuhoaRivi(int rivinIndeksi) 
    654827        { 
    655828            if (rivinIndeksi > pelikentta.Length || rivinIndeksi < 0) return; 
     
    676849        /// - Asettaa menunapit toimintaan 
    677850        /// </summary> 
    678         void PeliLoppui() 
     851        private void PeliLoppui() 
    679852        { 
    680853            tiputusajastin.Stop(); 
     
    688861        } 
    689862        #endregion 
     863 
     864         
    690865    } 
    691866} 
  • 2010/23/hniemi/JyTris/JyTris/TetrisPalikka.cs

    r1980 r2626  
    2121    /// Luo satunnaisen palikan, joka luulee olevansa paikassa (0,7) pelikentällä. 
    2222    /// </summary> 
    23     class TetrisPalikka  
     23    public class TetrisPalikka  
    2424    { 
    2525        private Vector[] sijainnit; 
  • 2010/23/hniemi/JyTris/JyTris/Windows Phone Copy of JyTris.csproj

    r1994 r2626  
    148148  <ItemGroup> 
    149149    <Reference Include="Jypeli4"> 
    150       <HintPath>..\..\..\Jypeli\lib\Windows Phone\Jypeli4.dll</HintPath> 
     150      <HintPath>..\..\..\..\Jypeli\lib\Windows Phone\Jypeli4.dll</HintPath> 
    151151    </Reference> 
    152152    <Reference Include="Microsoft.Xna.Framework"> 
Note: See TracChangeset for help on using the changeset viewer.