1 / 12

SOKOBAN

SOKOBAN. Ondra Mandík, I4a SPŠE Ječná. 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.

allayna
Download Presentation

SOKOBAN

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 CÍLOVÉ MÍSTO HRÁČ BEDNA ZEĎ

  4. LOGIKA HRY TLAČENÍ 1 BEDNY TLAČENÍ 2 BEDEN

  5. LOGIKA HRY ŠIPKA NAHORU = ANO BINGO ŠIPKA DOPRAVA = NE

  6. MAPY

  7. REALIZACE / DATA List<PictureBox> zdi = newList<PictureBox>(); List<PictureBox> bedny = newList<PictureBox>(); List<int[]> misto = newList<int[]>(); PictureBoxpBSkladnik = newPictureBox(); Color[] barva = newColor[5]; intvelikost = 30; intradky; intsloupce;

  8. REALIZACE / INICIALIZACE FileStream f = newFileStream(…); StreamReaderr = newStreamReader(f); radky= Convert.ToInt32(r.ReadLine()); sloupce = Convert.ToInt32(r.ReadLine()); for (int i = 0; i < radky * sloupce; i++) { PictureBoxz = newPictureBox(); z.Height= velikost; z.Width= velikost; … intcislo = Convert.ToInt32(r.ReadLine()); if(cislo == 0){//zed z.Tag= cislo; z.BackColor= barva[cislo]; } if(cislo == 1){ …

  9. REALIZACE / HRA privatevoid 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(){ boolok = false; intpoc = 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; returnok; } }

  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

More Related