Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilTadeáš Rohla
1
SOKOBAN Ondra Mandík, I4a SPŠE Ječná
2
POPIS Hra bude obsahovat jednoho hráče, bedny, zdi a cílová místa pro bedny. Hráč nesmí procházet zdí. Hráč před sebou může tlačit pouze jednu bednu. Hráč hru vyhraje v případě že umístí bedny na cílová místa. Uživatel si může vybrat vlastní mapu.
3
LOGIKA HRY HRÁČ BEDNA ZEĎ CÍLOVÉ MÍSTO
4
LOGIKA HRY TLAČENÍ 1 BEDNYTLAČENÍ 2 BEDEN
5
LOGIKA HRY ŠIPKA NAHORU = ANO ŠIPKA DOPRAVA = NE BINGO
6
MAPY
7
REALIZACE / DATA List zdi = new List (); List bedny = new List (); List misto = new List (); PictureBox pBSkladnik = new PictureBox(); Color[] barva = new Color[5]; int velikost = 30; int radky; int sloupce;
8
REALIZACE / INICIALIZACE FileStream f = new FileStream(…); StreamReader r = new StreamReader(f); radky = Convert.ToInt32(r.ReadLine()); sloupce = Convert.ToInt32(r.ReadLine()); for (int i = 0; i < radky * sloupce; i++) { PictureBox z = new PictureBox(); z.Height = velikost; z.Width = velikost; … int cislo = Convert.ToInt32(r.ReadLine()); if (cislo == 0) { //zed z.Tag = cislo; z.BackColor = barva[cislo]; } if (cislo == 1) { …
9
REALIZACE / HRA private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Down) { … } if (e.KeyCode == Keys.Up) { … } … if (test()) MessageBox.Show("BINGO"); }
10
REALIZACE / VYHRA bool test() { bool ok = false; int poc = 0; for (int k = 0; k < bedny.Count; k++ ) for (int i = 0; i < misto.Count; i++) { if (bedny[k].Top == misto[i][1] && bedny[k].Left == misto[i][0] ) poc++; } if (poc == misto.Count) ok = true; return ok; }
11
ZÁVĚR Hra je hotová a plně fuknční. Je možné hru rozšířit o další mapy. Do budoucna plánuji dodělat měření času.
12
OTÁZKY DĚKUJI ZA POZORNOST. MÁTE-LI DOTAZY,RÁD ODPOVÍM
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.