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;
/// <summary>
///
/// </summary>
public override void Begin()
{
LuoKentta();
......@@ -50,23 +52,14 @@ namespace KelaCombatTesti;
//Ajastin, joka lisää uuden vihollisen joka 5. sekunti
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
//AddCollisionHandler(Kelabotti, "Pesismaila", VahingoitaKelabottia);
Camera.Follow(pelaaja);
Keyboard.Listen(Key.A, ButtonState.Down, LiikuVasemmalle, null, new Vector());
Keyboard.Listen(Key.D, ButtonState.Down, LiikuOikealle, null, new Vector());
Keyboard.Listen(Key.W, ButtonState.Down, Hyppaa, null, new Vector());
......@@ -95,7 +88,9 @@ namespace KelaCombatTesti;
}
/// <summary>
/// Tässä luodaan pelikenttä
/// </summary>
void LuoKentta()
{
......@@ -127,7 +122,13 @@ namespace KelaCombatTesti;
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 pelaaja = new PlatformCharacter(50.0, 100.0);
......@@ -137,13 +138,18 @@ namespace KelaCombatTesti;
pelaaja.Color = Color.Black;
pelaaja.X = x;
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);
return pelaaja;
}
/// <summary>
/// Aliohjelma, joka luo pelaajalle elämälaskurin ja sen nimen: "Mielenterveys"
/// </summary>
void LuoElamalaskuri()
{
pelaajanelamaLaskuri = new DoubleMeter(100.0);
......@@ -159,7 +165,7 @@ namespace KelaCombatTesti;
elamapalkki.BorderColor = Color.Black;
Label tekstikentta = new Label(200, 10, "Mielenterveys");
tekstikentta.X = Screen.Left + 100;
tekstikentta.Y = Screen.Bottom + 80;
tekstikentta.Y = Screen.Bottom + 70;
tekstikentta.Font = new Font(20);
Add(tekstikentta);
Add (elamapalkki);
......@@ -167,34 +173,30 @@ namespace KelaCombatTesti;
}
/// <summary>
/// Aliohjelma, joka käsittelee pelaajan kuoleman ja ilmoittaa pelin loppumisen
/// </summary>
void ElamaLoppui()
{
Label Kuolema = new Label(800, 40, "Toimeentulohakemus hylätty.");
Label Kuolema = new Label(800, 60, "Toimeentulohakemus hylätty.");
Kuolema.Y = 140;
Kuolema.Font = new Font(60);
Kuolema.TextColor = Color.Red;
Kuolema.Color = Color.Black;
//Kuolema.Color = Color.Black;
Add(Kuolema);
//Kuolema.X = Screen.Left + 0;
//Kuolema.Y = Screen.Bottom + 0;
pelaaja.Destroy();
}
// Tässä luodaan uusi fysiikkaolio, Pesismaila
//Tämä toimii pelaajan lyöntinä (samalla määritellään ase)
//
void LuoPesismaila(Vector koko, PlatformCharacter liitettava)
/// <summary>
/// Tässä luodaan uusi fysiikkaolio, Pesismaila
//Tämä toimii pelaajan lyöntinä (samalla määritellään ase.
/// </summary>
/// <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);
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.Mass = 1;
Pesismaila.Tag = "Pesismaila";
......@@ -208,8 +210,10 @@ namespace KelaCombatTesti;
}
//Tämä funktio luo Kelabotti-vihun ja sille annetaan pelaajan seuraamis aivot
/// <summary>
/// Tämä funktio luo Kelabotti-vihun ja sille annetaan pelaajan seuraamis aivot
/// </summary>
/// <returns>Kelabotti</returns>
PlatformCharacter LuoKelabotti()
{
PlatformCharacter Kelabotti = new PlatformCharacter(80.0, 80.0);
......@@ -228,7 +232,9 @@ namespace KelaCombatTesti;
return Kelabotti;
}
/// <summary>
/// Lisää Kelabotteja
/// </summary>
void LisaaVihollinen()
{
Random rand = new Random();
......@@ -236,7 +242,11 @@ namespace KelaCombatTesti;
double y = rand.Next(-200, 200); // Satunnainen Y-koordinaatti
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)
{
int luku = RandomGen.NextInt(19, 34);
......@@ -246,11 +256,12 @@ namespace KelaCombatTesti;
if (pelaajanelamaLaskuri.Value <= 0) //jos laskuri menee nollaan...
{
pelaaja.Destroy(); //...ja pelaaja tuhotaan
//Pesismaila.Destroy();//...myös pesismaila
}
}
//tää ei toimi vielä
void VahingoitaKelabottia(PhysicsObject Kelabotti, PhysicsObject Pesismaila)
{
Kelabotinelamalaskuri.Value--; // Vähentää kelabotin elämää yhdellä
......@@ -259,19 +270,36 @@ namespace KelaCombatTesti;
Kelabotti.Destroy(); //...ja kelabotti tuhotaan
}
}
/// <summary>
/// Luo pistelaskurin pisteille, joita saa kun hakkaa kelabotteja
/// </summary>
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
pisteNaytto = new Label();
pisteNaytto.X = Screen.Left + 100;
pisteNaytto.Y = Screen.Top - 50;
pisteNaytto.TextColor = Color.White;
pisteNaytto.Font = Font.Default;
pisteNaytto.X = Screen.Left + 170;
pisteNaytto.Y = Screen.Bottom + 95;
pisteNaytto.TextColor = Color.OrangeRed;
pisteNaytto.Font = new Font(20);
pisteNaytto.BindTo(pisteet); // Päivitetään teksti automaattisesti
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)
{
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