fi en fi en en en de en en en en es en en en en en en en en en zh sv en fr tt de en de en fr fi fr fa fr sv en fr ca en ceb ja fi fr de sv fr es fi nb fi fr ceb de fi en fi en kn sv de fi de ceb fr it en fi fr kn it fr de fr kn fr fr fr fr ceb fr pt fr fr fi fr fi en ceb fr eo fr pt it it fr it en fr et de es fr en fr fi fr fi fr kn fr kn fr de fi fr ceb fr id fr hu nl fi fr fi de fr kn fr fr fr sv pt ceb fr sl fr bar fr la de da fi fr fi zh fi fr fi fr fi fr en fi fr fr fr en da fr it fr pl fr fr en fr fr fr fr fi fr en ru da ceb zh en fr de fi fr kn fr fr fi fr ceb fr en fr fi da fi oc fi oc fi oc fi oc fi en en es zh zh cs fr cs de fi fr sl fr oc fr fr kn fr fr fi fr ceb fr fi fr fi fr fi fr fi fr fr fi fr fi fr fi fr hbs_lat fi oc oc kn fr zh fi fr ceb fr en de en oc oc oc fr kn oc oc fi ca ceb fr ca de fi fr fi fr fi fr fr kn da fr oc it fr ceb fr fi fr ceb fr fi fr de fi fr en oc en fr hu oc sv oc hu ca zh fr sv fr sv fr kn oc kn fr de it fr ceb ca fi fr fr fi ca ceb fr fi fr fi fr ceb fr fi oc fi fr fi ca kn fr en fr ceb fr fi oc kn oc kn fr fr kn oc oc ca fi fr ceb fr fr fi oc sl fr fr lt ca ceb nb en zh kn zh nb zh fi zh fi zh zh fi zh fi zh zh fi fr fi zh ca fi oc fi oc fr fi oc fi fr zh fi fr fi fr de fr fi oc ceb fr fi fr kn fr hu fr oc fi fr en fr oc en ca en oc oc en fr ceb fr fi oc fi oc fa fr oc kn oc oc oc fr fi oc ceb fr fi oc fi fr fi fr sv la oc it oc kn oc fr hu fr ceb ca en fr fi fr sv fr fr fi fr vi fr oc en oc kn fr fr oc fr fi oc ceb oc fi oc fi fr fi oc sk fr kn fr fr fi fr ceb fr fi oc fi fr fi oc ceb oc ru fr en fr kn oc oc fi oc ceb fr fi oc fi fr fi oc ru fr de fi fr kn fr oc fi oc ceb oc fi fr fi de kn fr fr hu fr ceb oc fi fr fr fi de fi oc fi fr ceb oc fi oc fi fr fr fi fr fi oc fi oc ceb oc fi fr it oc kn de kn oc oc fi oc ceb ca fi oc fi oc hu oc vi oc it oc it fr sv oc ca fi oc fi oc fi oc fr fi en fi fr kn oc kn fr fr fi oc ceb oc fi fr fr oc fi zh en fr fi fr en de fi oc sl oc sv fr de fi fr fi oc fi ca fi fr fi fr da fi oc fr en fr sl ca fi fr kn de fr fi de ceb fr fi fr kn oc ca fi oc ceb fr fi de oc kn fr fr fi fr ceb fr ru oc oc it fr it zh en fr en oc ceb oc fr fi de en de fi fr fi fr fr kn fr fr fi de ceb fr fi fr en fr en de war fr de oc fr fi da ceb fr vi fr it de fa ceb fr it fr fi ca war ca kn oc fa lt fr ceb de la fr ceb zh sl oc fi ca oc fi fr et de oc sv fr sv en la fr kn fr fr fr kn fr oc de de fr kn en en en en en en en en
Revision 8227, 12.5 KB checked in by tihaapas, 6 years ago (diff)
public class Torni : GameObject
public TorniPaivitys Paivitys { get; set; }
public Timer AmpumisAjastin { get; set; }
public Torni(double leveys, double korkeus, TorniPaivitys paivitys)
public void OsuuVihuun(PhysicsObject ammus, PhysicsObject vihu)
public IntMeter ElamaLaskuri { get; private set; }
public Vihollinen(double leveys, double korkeus, int elamat)
ElamaLaskuri = new IntMeter(elamat, 0, elamat);
ProgressBar elamaPalkki = new ProgressBar(leveys * 1.2, 10, ElamaLaskuri);
elamaPalkki.Bottom = Top + 5;
public int Hinta { get; set; }
public int Vahinko { get; set; }
public Image Kuva { get; set; }
public TorniPaivitys Seuraava { get; set; }
public class JamaicanBoksi3000 : PhysicsGame
Image nurmikkoKuva = LoadImage("nurmikko");
Image mutsiskuva = LoadImage("mutSIS");
SoundEffect kuolema = LoadSoundEffect("sfx");
EasyHighScore topLista = new EasyHighScore();
int kenttanumero = 6;
DoubleMeter aikalaskuri = new DoubleMeter(0);
Dictionary  tpPaikat = new Dictionary ();
public override void Begin()
topLista.HighScoreWindow.Closed += (w) => Exit();
Timer vihuAjastin = new Timer();
TorniPaivitys vihrea = new TorniPaivitys { Kuva = LoadImage("vihrea"), Hinta = 300, Vahinko = 1 * 4 };
TorniPaivitys sininen = new TorniPaivitys { Kuva = LoadImage("sininen"), Hinta = 500, Vahinko = 4 * 2 };
TorniPaivitys punainen = new TorniPaivitys { Kuva = LoadImage("punainen"), Hinta = 800, Vahinko = 5 * 2 };
TorniPaivitys kultainen = new TorniPaivitys { Kuva = LoadImage("kultainen"), Hinta = 1000, Vahinko = 7 * 3 };
Mouse.Listen(MouseButton.Left, ButtonState.Pressed, OstaTorni, "Rakenna uusi torni");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko",
"Aloita peli", "Parhaat pisteet", "Lopeta");
if (raha.Value >= alkuPaivitys.Hinta)
Torni torni = new Torni(50, 100, alkuPaivitys);
torni.AmpumisAjastin = new Timer();
torni.AmpumisAjastin.Timeout += delegate { TorniAmpuu(torni); };
Mouse.ListenOn(torni, MouseButton.Right, ButtonState.Pressed, delegate { PaivitaTorni(torni); }, null);
TorniPaivitys uusiPaivitys = torni.Paivitys.Seuraava;
if (uusiPaivitys != null)
int paivityksenHinta = uusiPaivitys.Hinta - torni.Paivitys.Hinta;
if (raha.Value >= paivityksenHinta)
MessageDisplay.Add("Jamaican Dollarit ei riitä. Päivitys maksaa " + paivityksenHinta);
polku = new SortedList ();
if (kenttanumero > 6)
TileMap ruudut = TileMap.FromLevelAsset("Jamaicanboksi" + kenttanumero);
for (char merkki = 'A'; merkki <= 'Z'; merkki++)
void LuoLinna(Vector paikka, double leveys, double korkeus)
PhysicsObject linna = PhysicsObject.CreateStaticObject(leveys * 6, korkeus * 4);
void PeliOhi(PhysicsObject linna, PhysicsObject vihu)
Label viesti = new Label("hävisit pelin");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
void LuoPolku(Vector paikka, double leveys, double korkeus)
GameObject polku = new GameObject(leveys, korkeus);
void LuoTeleporttiEka(Vector paikka, double leveys, double korkeus, string tag)
PhysicsObject tp = new PhysicsObject(leveys, korkeus);
void LuoTeleporttiToka(Vector paikka, double leveys, double korkeus, string tag)
GameObject tp = new GameObject(leveys, korkeus);
void LuoKulma(Vector paikka, double leveys, double korkeus, char merkki)
// Etsitään aluksi lähin vihollinen.
GameObject kohde = null; // Potentiaalinen vaihtoehto lähimmäksi viholliseksi. Aluksi null, eli tyhjää.
double lyhin = double.MaxValue; // Etäisyys tornista toistaiseksi löydettyyn lähimpään viholliseen.
foreach (GameObject vihu in GetObjectsWithTag("vihu")) // Käydään silmukassa läpi kaikki pelin viholliset.
// Lasketaan etäisyys tornin ja vihollisen välillä.
double etaisyys = Vector.Distance(vihu.Position, torni.Position);
// Jos etäisyys on lyhyempi kuin tähän mennessä löydetty lyhin etäisyys, niin päivitetään
// lyhin muuttujaa ja valitaan kohdeeksi vihollinen, jolla tämä lyhin etäisyys oli.
if (etaisyys < lyhin)
if (kohde != null) // Tarkistetaan löytyikö vihollista
// Jos vihollinen löytyi, niin luodaan ympyrän muotoinen musta ammus
// joka tuhoutuu kahdessa sekunnissa itsekseen.
PhysicsObject ammus = new PhysicsObject(10, 10, Shape.Circle);
double ammuksenNopeus = 1000;  // Ammuksen liikkumisnopeus. Voit säätää tätä halutessasi.
Vector suunta = (kohde.Position - torni.Position).Normalize(); // Lasketaan ammukselle suunta.
ammus.Hit(suunta * ammuksenNopeus); // Lyödään ammus liikkeelle.
// Lisätään törmäyskäsittelijä. Torni tekee vahinkoa osuneeseen viholliseen.
Vihollinen vihu = new Vihollinen(50, 50, elamat: vihunNumero * 3);
PathFollowerBrain polkuAivot = new PathFollowerBrain(new List (polku.Values));
void TormaaTeleporttiin(PhysicsObject vihu, PhysicsObject tp)
raha = new IntMeter(100);
Label rahaNautto = new Label(raha);
rahaNautto.Left = Screen.Left + 120;
rahaNautto.Top = Screen.Top - 100;
rahaNautto.IntFormatString = "Jamaican Dollars: {0}";
Timer rahaAjastin = new Timer();
rahaAjastin.Timeout += delegate { raha.Value += 500; };
// PITÄÄ SAADA KELLO TOIMIMAAN NIIN ETTEI SE ALOTA ALUSTA JOKA KENTÄN VAIHDON JÄLKEEN
Timer laskuri = new Timer();
laskuri.Timeout += () => aikalaskuri.Value += 0.1;
Label aikaNaytto = new Label();
aikaNaytto.X = Level.Right - 250;
aikaNaytto.Y = Level.Top - 220;
Label tekstikentta = new Label();
tekstikentta.Text = "Vihollisten hatussa lukee mutSIS Jos on kysyttävää :D";
tekstikentta.Y = Screen.Top - 115;
Timer.SingleShot(3.0, delegate { tekstikentta.Destroy(); });
Note: See TracBrowser for help on using the repository browser.
Download in other formats:
Powered by Trac 0.12.5
Visit the Trac open source project at