Míny - Zaujímavosti a poznámky
Tento článok je súčasťou nákupný programovacích jazykov C #, Java a game maker pri tvorbe klasických Min (Minesweeper) pozri: -> Miny aneb nákupný programovacích jazykov C #, Java, GM
V C#
Vypnutie, programu v konstruktoru Formu
Ak chcete vypnúť program bez toho by ešte skončil konštruktor okná -> aplikácie nebeží (v našom prípade nepovedie sa nastaviť rozmery či počet min).
použite:
Environment.Exit(-1);
Znovu vygenerovanie pole
VC # pri použití tablelayoutu sa celá aplikácia nehorázne záseky preto som použil Application.Restart (); ako najjednoduchšie voľbu. Neodporúčam používať tablelayoutu podobné účely a pri tvorbe hier využiť XNA Framework.
Čas
Klasicky timerom po 1000ms a v metóde sa pripisuje premenná a tá sa vypisuje v titlebaru. Kód v Designeri (timer kalsické pridáte ako komponent na form a nastavíte mu vlastnosti v property záložke.
public System.Windows.Forms.Timer timer1; this.timer1 = new System.Windows.Forms.Timer(this.components); this.timer1.Interval = 1000; this.timer1.Tick += new System.EventHandler(this.timer1_Tick); private void timer1_Tick(object sender, EventArgs e) { this.Text = "Hledač min " + ++this.time + "s"; }
Input dialóg
Je volaný s VisualBasic.
using Microsoft.VisualBasic; int.Parse(Interaction.InputBox("Počet min? (menší než " + (x_length * y_length) + ")", "Hledač min", "5"));
V Jave
Čas
Použitie swingového timera.
Timer timer1 = new Timer(1000, this); timer1.start(); // při implementování u třídy ActionListeneru můžete metodu napsat takto. @Override public void actionPerformed(ActionEvent e) { this.setTitle("Hledač min " + ++GUI.time + "s"); }
Vytvorenie nového poľa min
V Jave jednoducho zmažeme komeponenty, pridáme ich znovu a prekreslíme. GridLayout je rýchly a nie je problém s resizováním.
// smaže staré pole vytvoří nové a překreslí public void reloadMinesField(GUI gui) { gui.remove(mines_field); gui.addComponents(); gui.repaint(); gui.validate(); GUI.time = 0; }
Input dialóg
Integer.valueOf(JOptionPane.showInputDialog(null, "Počet min? (menší než " + (x_length * y_length) + ")", "5"));
V game maker
Čas
Využijeme alarmu a budeme nastavovať room_caption.
V create inicalizujeme premennú time = 0 a nastavíme alarm [0] na room_speed (1x za sekundu sa spustí)
// alarm[0] time += 1; room_caption = "Hledač min " + string(time) + "s"; alarm[0] = room_speed;
Input dialóg
get_integer("Šířka pole (max. 50)", 10);