Matopeli - vaihe 2

Tässä vaiheessa tehdään ajastin, joka luo kenttään pieniä valkoisia palloja, joita madot voivat myöhemmin syödä.

Koodin jakaminen aliohjelmiin

Klikkaa Solution Explorer:sta avoimeksi Matopeli.cs (tai jos annoit eri nimen niin vastaavasti tiedosto on nimetty tyyliin PelisiNimi.cs)

Luo itsellesi aliohjelma AsetaOhjaimet ja siirrä (leikkaa/liitä) sinne Begin aliohjelmasta seuraavat kaksi riviä:

PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");

Aliohjelman tulisi näyttää siis tältä:

void AsetaOhjaimet()
{
    PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
    Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
}

Lisää itsellesi tyhjä aliohjelma LuoKentta:

void LuoKentta()
{
}

Muuta Begin aliohjelmasi näyttämään tältä:

public override void Begin()
{
    LuoKentta();
    AsetaOhjaimet();
}

Syötävien herkkupalojen luominen

Luo uusi aliohjelma nimeltään LuoHerkku.

void LuoHerkku(Vector paikka)
{
    PhysicsObject herkku = new PhysicsObject(10, 10, Shape.Circle);
    herkku.Position = paikka;
    herkku.IgnoresCollisionResponse = true;
    herkku.Tag = "herkku";
    herkku.MakeStatic();
    Add(herkku);
}

LuoHerkku ottaa parametrina sijainnin ja luo siihen kohtaan pienen paikallaan olevan pallon, jolla on täginä "herkku".

Luodaan seuraavaksi ajastin, joka luo pieniä syötäviä palloja kenttään.

Lisää LuoKentta aliohjelmaasi seuraavat rivit:

Timer herkkuAjastin = new Timer();
herkkuAjastin.Interval = 4;
herkkuAjastin.Timeout += delegate { LuoHerkku(Level.GetRandomPosition()); };
herkkuAjastin.Start();

herkkuAjastin kutsuu neljän sekunnin välein LuoHerkku aliohjelmaa ja antaa sille parametrina satunnaisen sijainnin kentältä.

Voit laittaa pelin käyntiin painamalla F5 tai klikkaamalla Visual Studiosta Start-painiketta. Kentälle pitäisi ilmestyä valkoisia palloja neljän sekunnin välein.

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.