Skip to content
Snippets Groups Projects
Commit ab0fa2bd authored by Hanki Sakari's avatar Hanki Sakari
Browse files

vähän säädin vähän värejä

parent 16deff47
No related branches found
No related tags found
No related merge requests found
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/contentModel.xml
/modules.xml
/.idea.DebugKoe.iml
/projectSettingsUpdater.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
\ No newline at end of file

Microsoft Visual Studio Solution File, Format Version 12.00
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
EndGlobalSection
EndGlobal
...@@ -36,7 +36,9 @@ namespace KelaCombatTesti; ...@@ -36,7 +36,9 @@ namespace KelaCombatTesti;
/// <summary>
///
/// </summary>
public override void Begin() public override void Begin()
{ {
LuoKentta(); LuoKentta();
...@@ -50,23 +52,14 @@ namespace KelaCombatTesti; ...@@ -50,23 +52,14 @@ namespace KelaCombatTesti;
//Ajastin, joka lisää uuden vihollisen joka 5. sekunti //Ajastin, joka lisää uuden vihollisen joka 5. sekunti
Timer.CreateAndStart(5.0, LisaaVihollinen); Timer.CreateAndStart(5.0, LisaaVihollinen);
// Törmäyksen käsittelijä, mitä tapahtuu, kun pelaaja osuu kelabotiin
//Siis pelaajan elämien väheneminen VahnigoitaPelaajaa-aliohjelman mukaisesti
AddCollisionHandler(pelaaja, "Kelabotti", VahingoitaPelaajaa);
//kelabotin elämien väheneminen VahingoitaKelabottia aliohjelman mukaisesti //kelabotin elämien väheneminen VahingoitaKelabottia aliohjelman mukaisesti
//AddCollisionHandler(Kelabotti, "Pesismaila", VahingoitaKelabottia); //AddCollisionHandler(Kelabotti, "Pesismaila", VahingoitaKelabottia);
Camera.Follow(pelaaja); Camera.Follow(pelaaja);
Keyboard.Listen(Key.A, ButtonState.Down, LiikuVasemmalle, null, new Vector()); Keyboard.Listen(Key.A, ButtonState.Down, LiikuVasemmalle, null, new Vector());
Keyboard.Listen(Key.D, ButtonState.Down, LiikuOikealle, null, new Vector()); Keyboard.Listen(Key.D, ButtonState.Down, LiikuOikealle, null, new Vector());
Keyboard.Listen(Key.W, ButtonState.Down, Hyppaa, null, new Vector()); Keyboard.Listen(Key.W, ButtonState.Down, Hyppaa, null, new Vector());
...@@ -95,7 +88,9 @@ namespace KelaCombatTesti; ...@@ -95,7 +88,9 @@ namespace KelaCombatTesti;
} }
/// <summary>
/// Tässä luodaan pelikenttä
/// </summary>
void LuoKentta() void LuoKentta()
{ {
...@@ -127,7 +122,13 @@ namespace KelaCombatTesti; ...@@ -127,7 +122,13 @@ namespace KelaCombatTesti;
pelaaja = LuoPelaaja(500.0, 0.0); pelaaja = LuoPelaaja(500.0, 0.0);
} }
/// <summary>
/// Aliohjelma, jossa luodaan pelaaja
/// </summary>
/// <param name="x">pelaajan x-koordinaatti</param>
/// <param name="y">pelaajan y-koordinaatti</param>
/// <returns>pelaaja</returns>
PlatformCharacter LuoPelaaja(double x, double y) PlatformCharacter LuoPelaaja(double x, double y)
{ {
PlatformCharacter pelaaja = new PlatformCharacter(50.0, 100.0); PlatformCharacter pelaaja = new PlatformCharacter(50.0, 100.0);
...@@ -137,13 +138,18 @@ namespace KelaCombatTesti; ...@@ -137,13 +138,18 @@ namespace KelaCombatTesti;
pelaaja.Color = Color.Black; pelaaja.Color = Color.Black;
pelaaja.X = x; pelaaja.X = x;
pelaaja.Y = y; pelaaja.Y = y;
; // Alussa on 5 elämää // Törmäyksen käsittelijä, mitä tapahtuu, kun pelaaja osuu kelabotiin
//Siis pelaajan elämien väheneminen VahnigoitaPelaajaa-aliohjelman mukaisesti
AddCollisionHandler(pelaaja, "Kelabotti", VahingoitaPelaajaa);
Add(pelaaja); Add(pelaaja);
return pelaaja; return pelaaja;
} }
/// <summary>
/// Aliohjelma, joka luo pelaajalle elämälaskurin ja sen nimen: "Mielenterveys"
/// </summary>
void LuoElamalaskuri() void LuoElamalaskuri()
{ {
pelaajanelamaLaskuri = new DoubleMeter(100.0); pelaajanelamaLaskuri = new DoubleMeter(100.0);
...@@ -159,7 +165,7 @@ namespace KelaCombatTesti; ...@@ -159,7 +165,7 @@ namespace KelaCombatTesti;
elamapalkki.BorderColor = Color.Black; elamapalkki.BorderColor = Color.Black;
Label tekstikentta = new Label(200, 10, "Mielenterveys"); Label tekstikentta = new Label(200, 10, "Mielenterveys");
tekstikentta.X = Screen.Left + 100; tekstikentta.X = Screen.Left + 100;
tekstikentta.Y = Screen.Bottom + 80; tekstikentta.Y = Screen.Bottom + 70;
tekstikentta.Font = new Font(20); tekstikentta.Font = new Font(20);
Add(tekstikentta); Add(tekstikentta);
Add (elamapalkki); Add (elamapalkki);
...@@ -167,34 +173,30 @@ namespace KelaCombatTesti; ...@@ -167,34 +173,30 @@ namespace KelaCombatTesti;
} }
/// <summary>
/// Aliohjelma, joka käsittelee pelaajan kuoleman ja ilmoittaa pelin loppumisen
/// </summary>
void ElamaLoppui() void ElamaLoppui()
{ {
Label Kuolema = new Label(800, 40, "Toimeentulohakemus hylätty."); Label Kuolema = new Label(800, 60, "Toimeentulohakemus hylätty.");
Kuolema.Y = 140; Kuolema.Y = 140;
Kuolema.Font = new Font(60); Kuolema.Font = new Font(60);
Kuolema.TextColor = Color.Red; Kuolema.TextColor = Color.Red;
Kuolema.Color = Color.Black; //Kuolema.Color = Color.Black;
Add(Kuolema); Add(Kuolema);
//Kuolema.X = Screen.Left + 0;
//Kuolema.Y = Screen.Bottom + 0;
pelaaja.Destroy();
} }
/// <summary>
// Tässä luodaan uusi fysiikkaolio, Pesismaila /// Tässä luodaan uusi fysiikkaolio, Pesismaila
//Tämä toimii pelaajan lyöntinä (samalla määritellään ase) //Tämä toimii pelaajan lyöntinä (samalla määritellään ase.
// /// </summary>
void LuoPesismaila(Vector koko, PlatformCharacter liitettava) /// <param name="koko">Pesismailan koko</param>
/// <param name="pelaaja">kohde, johon Pesismaila liitetään, eli pelaaja</param>
void LuoPesismaila(Vector koko, PlatformCharacter pelaaja)
{ {
PhysicsObject Pesismaila = new PhysicsObject(koko.X, koko.Y); PhysicsObject Pesismaila = new PhysicsObject(koko.X, koko.Y);
Pesismaila.Position = liitettava.Position + new Vector(80*liitettava.FacingDirection.GetVector().X, 10); Pesismaila.Position = pelaaja.Position + new Vector(80*pelaaja.FacingDirection.GetVector().X, 10);
Pesismaila.CollisionIgnoreGroup = 1; Pesismaila.CollisionIgnoreGroup = 1;
Pesismaila.Mass = 1; Pesismaila.Mass = 1;
Pesismaila.Tag = "Pesismaila"; Pesismaila.Tag = "Pesismaila";
...@@ -208,8 +210,10 @@ namespace KelaCombatTesti; ...@@ -208,8 +210,10 @@ namespace KelaCombatTesti;
} }
/// <summary>
//Tämä funktio luo Kelabotti-vihun ja sille annetaan pelaajan seuraamis aivot /// Tämä funktio luo Kelabotti-vihun ja sille annetaan pelaajan seuraamis aivot
/// </summary>
/// <returns>Kelabotti</returns>
PlatformCharacter LuoKelabotti() PlatformCharacter LuoKelabotti()
{ {
PlatformCharacter Kelabotti = new PlatformCharacter(80.0, 80.0); PlatformCharacter Kelabotti = new PlatformCharacter(80.0, 80.0);
...@@ -228,7 +232,9 @@ namespace KelaCombatTesti; ...@@ -228,7 +232,9 @@ namespace KelaCombatTesti;
return Kelabotti; return Kelabotti;
} }
/// <summary>
/// Lisää Kelabotteja
/// </summary>
void LisaaVihollinen() void LisaaVihollinen()
{ {
Random rand = new Random(); Random rand = new Random();
...@@ -236,7 +242,11 @@ namespace KelaCombatTesti; ...@@ -236,7 +242,11 @@ namespace KelaCombatTesti;
double y = rand.Next(-200, 200); // Satunnainen Y-koordinaatti double y = rand.Next(-200, 200); // Satunnainen Y-koordinaatti
LuoKelabotti(); // Luodaan uusi vihollinen satunnaiseen paikkaan LuoKelabotti(); // Luodaan uusi vihollinen satunnaiseen paikkaan
} }
/// <summary>
/// Tämä aliohjelma käsittlee sen, kun pelaaja osuu Kelabottiin
/// </summary>
/// <param name="pelaaja">pelaajahahmo</param>
/// <param name="Kelabotti">pelin vihu; Kelabotti</param>
void VahingoitaPelaajaa(PhysicsObject pelaaja, PhysicsObject Kelabotti) void VahingoitaPelaajaa(PhysicsObject pelaaja, PhysicsObject Kelabotti)
{ {
int luku = RandomGen.NextInt(19, 34); int luku = RandomGen.NextInt(19, 34);
...@@ -246,11 +256,12 @@ namespace KelaCombatTesti; ...@@ -246,11 +256,12 @@ namespace KelaCombatTesti;
if (pelaajanelamaLaskuri.Value <= 0) //jos laskuri menee nollaan... if (pelaajanelamaLaskuri.Value <= 0) //jos laskuri menee nollaan...
{ {
pelaaja.Destroy(); //...ja pelaaja tuhotaan pelaaja.Destroy(); //...ja pelaaja tuhotaan
//Pesismaila.Destroy();//...myös pesismaila
} }
} }
//tää ei toimi vielä
void VahingoitaKelabottia(PhysicsObject Kelabotti, PhysicsObject Pesismaila) void VahingoitaKelabottia(PhysicsObject Kelabotti, PhysicsObject Pesismaila)
{ {
Kelabotinelamalaskuri.Value--; // Vähentää kelabotin elämää yhdellä Kelabotinelamalaskuri.Value--; // Vähentää kelabotin elämää yhdellä
...@@ -259,19 +270,36 @@ namespace KelaCombatTesti; ...@@ -259,19 +270,36 @@ namespace KelaCombatTesti;
Kelabotti.Destroy(); //...ja kelabotti tuhotaan Kelabotti.Destroy(); //...ja kelabotti tuhotaan
} }
} }
/// <summary>
/// Luo pistelaskurin pisteille, joita saa kun hakkaa kelabotteja
/// </summary>
void LuoPistelaskuri() void LuoPistelaskuri()
{ {
Label opintoNopat = new Label(150, 50, "Opintonopat:");
opintoNopat.X = Screen.Left + 100;
opintoNopat.Y = Screen.Bottom + 93;
opintoNopat.Font = new Font(20);
opintoNopat.TextColor = Color.Black;
Add(opintoNopat);
pisteet = new IntMeter(0); // Aloitetaan nollasta pisteet = new IntMeter(0); // Aloitetaan nollasta
pisteNaytto = new Label(); pisteNaytto = new Label();
pisteNaytto.X = Screen.Left + 100; pisteNaytto.X = Screen.Left + 170;
pisteNaytto.Y = Screen.Top - 50; pisteNaytto.Y = Screen.Bottom + 95;
pisteNaytto.TextColor = Color.White; pisteNaytto.TextColor = Color.OrangeRed;
pisteNaytto.Font = Font.Default; pisteNaytto.Font = new Font(20);
pisteNaytto.BindTo(pisteet); // Päivitetään teksti automaattisesti pisteNaytto.BindTo(pisteet); // Päivitetään teksti automaattisesti
Add(pisteNaytto); Add(pisteNaytto);
} }
/// <summary>
/// Käsittelee kelabotin tuhoamisen ja antaa siitö pisteitä
/// </summary>
/// <param name="pelaaja">pelaajahahmo</param>
/// <param name="kelabotti">pelin vihu; Kelabotti</param>
void KunVihollinenTuhoutuu(PhysicsObject pelaaja, PhysicsObject kelabotti) void KunVihollinenTuhoutuu(PhysicsObject pelaaja, PhysicsObject kelabotti)
{ {
pisteet.Value += 100; // Lisää esim. 100 pistettä, kun botti tuhotaan pisteet.Value += 100; // Lisää esim. 100 pistettä, kun botti tuhotaan
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment