Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

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);

 

Článok pre vás napísal David Jančík
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor je vášnivý programátor. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.
Aktivity