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

tuli teknisiä ongelmia, piti siirtää koko projekti toiseen ridern kansioon, mutta nyt kaikki toimii

parent b581bd9c
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="UserContentModel"> <component name="UserContentModel">
<attachedFolders> <attachedFolders />
<Path>KelaCombatTesti</Path>
</attachedFolders>
<explicitIncludes /> <explicitIncludes />
<explicitExcludes /> <explicitExcludes />
</component> </component>
......
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KelaCombatTesti", "KelaCombatTesti\KelaCombatTesti.csproj", "{85334A5C-65F8-4C6E-B1E0-43737B0DF128}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU Release|Any CPU = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{85334A5C-65F8-4C6E-B1E0-43737B0DF128}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{85334A5C-65F8-4C6E-B1E0-43737B0DF128}.Debug|Any CPU.Build.0 = Debug|Any CPU
{85334A5C-65F8-4C6E-B1E0-43737B0DF128}.Release|Any CPU.ActiveCfg = Release|Any CPU
{85334A5C-65F8-4C6E-B1E0-43737B0DF128}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using FarseerPhysics.Dynamics.Joints;
using Jypeli; using Jypeli;
using Jypeli.Assets; using Jypeli.Assets;
using Jypeli.Controls; using Jypeli.Controls;
...@@ -17,23 +18,39 @@ namespace KelaCombatTesti; ...@@ -17,23 +18,39 @@ namespace KelaCombatTesti;
public class KelaCombatTesti : PhysicsGame public class KelaCombatTesti : PhysicsGame
{ {
PlatformCharacter pelaaja; PlatformCharacter pelaaja;
PhysicsObject Pesari;
private Image KelabottiKuva = LoadImage("Kelabotti"); private Image KelabottiKuva = LoadImage("Kelabotti");
private Image PelaajaKuva = LoadImage("Pelaaja.png"); private Image PelaajaKuva = LoadImage("Pelaaja.png");
//private AssaultRifle PelaajanPesismaila;
public override void Begin() public override void Begin()
{ {
LuoKentta(); LuoKentta();
LuoKelabotti(); LuoKelabotti();
//LuoPesismaila(40, 90);
//LuoPelaaja(0, 0);
//Camera.Follow(pelaaja);
//Camera.ZoomFactor = 1.2;
//Camera.StayInLevel = true;
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());
Keyboard.Listen(Key.Space, ButtonState.Down, LyoMailalla, "", pelaaja);
//Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000)); //Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000));
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.J, ButtonState.Pressed, LuoPesismaila, "", new Vector(90, 10), pelaaja);
void LiikuVasemmalle(Vector vektori) void LiikuVasemmalle(Vector vektori)
...@@ -78,11 +95,14 @@ namespace KelaCombatTesti; ...@@ -78,11 +95,14 @@ namespace KelaCombatTesti;
alaReuna.IsVisible = false; alaReuna.IsVisible = false;
alaReuna.KineticFriction = 0.0; alaReuna.KineticFriction = 0.0;
pelaaja = LuoPelaaja(0.0, 0.0); pelaaja = LuoPelaaja(0.0, 0.0);
pelaaja.Acceleration = new Vector(1, 0);
} }
//Tällä funktiolla luodaan pelaaja, sekä annetaan pelaajalle ase, AssaultRifle.
// pelaaja kuuluu CollisionIgnoreGroup = 1. Kaikki fyysiset objektit, jotka on samassa CollisionIgnoreGroupissa
// pystyy menemään toistensa läpi. Tarvitaan myöhemmin siihen, että pesismaila ja pelaajahahmo ei törmää toisiinsa
//pelaaja.Weapon on turha. Se on korvattu LuoPesismailalla
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);
...@@ -93,13 +113,58 @@ namespace KelaCombatTesti; ...@@ -93,13 +113,58 @@ namespace KelaCombatTesti;
pelaaja.Color = Color.Black; pelaaja.Color = Color.Black;
pelaaja.X = x; pelaaja.X = x;
pelaaja.Y = y; pelaaja.Y = y;
pelaaja.Weapon = new AssaultRifle(20, 20);
pelaaja.CollisionIgnoreGroup = 1;
pelaaja.Weapon.ProjectileCollision = LyontiOsui;
Add(pelaaja); Add(pelaaja);
return pelaaja; return pelaaja;
} }
// Tässä luodaan Pesismailalla ampumisen systeemi
// Pesismailan ampuma luoti eli Lyonti on pieni ja kestää vain 0,01s
// Ase on käytännössä pesismailaksi naamioitu AssaultRifle
//Tämäkin ampumismekaniikka on turha, koska se on osa turhaa pelaaja.Weaponi -systeemiä
void LyoMailalla(PlatformCharacter pelaaja)
{
PhysicsObject Lyonti = pelaaja.Weapon.Shoot();
if (Lyonti != null)
{
Lyonti.Size *= 0.1;
//Pesismaila.Image
Lyonti.MaximumLifetime = TimeSpan.FromSeconds(0.01);
}
}
//Tässä tehdään lyönnin osumisen vaikutukset
//Kelabottiin osuessa Lyonti (pesismailan ampuma luoti) ja Kelabotti tuhotaan
//tämä osumisen käsittelykin on turha, koska LyoMailalla ja pelaaja.Weapon on turhaa
void LyontiOsui(PhysicsObject Lyonti, PhysicsObject Kelabotti)
{
Lyonti.Destroy();
Kelabotti.Destroy();
}
// Tässä luodaan uusi fysiikkaolio, Pesismaila
//Tämä toimii pelaajan lyöntinä (samalla määritellään ase)
//
void LuoPesismaila(Vector koko, PlatformCharacter liitettava)
{
PhysicsObject Pesari = new PhysicsObject(koko.X, koko.Y);
Pesari.Position = liitettava.Position + new Vector(80*liitettava.FacingDirection.GetVector().X, 10);
Pesari.CollisionIgnoreGroup = 1;
Pesari.Mass = 1;
Add(Pesari);
Pesari.LifetimeLeft = TimeSpan.FromSeconds(0.075);
Pesari.IgnoresGravity = true;
}
//Tämä funktio luo Kelabotti-vihun ja sille annetaan pelaajan seuraamis aivot
PlatformCharacter LuoKelabotti() PlatformCharacter LuoKelabotti()
{ {
PlatformCharacter Kelabotti = new PlatformCharacter(80.0, 80.0); PlatformCharacter Kelabotti = new PlatformCharacter(80.0, 80.0);
......
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