From e3a6f5b08b97ecb9bb351ec586393faf2187c415 Mon Sep 17 00:00:00 2001
From: jalitat <jalitat@jyu.fi>
Date: Wed, 18 Dec 2024 16:12:35 +0900
Subject: [PATCH] yes

---
 .../.idea/indexLayout.xml                     |   4 +-
 .../bin/Debug/net8.0/Content/kentta1.txt      |   4 +-
 .../bin/Debug/net8.0/platformerPeli.dll       | Bin 12288 -> 12288 bytes
 .../bin/Debug/net8.0/platformerPeli.exe       | Bin 138752 -> 138752 bytes
 .../bin/Debug/net8.0/platformerPeli.pdb       | Bin 14128 -> 13608 bytes
 .../platformerPeli/platformerPeli.cs          | 123 ++++++++++++++----
 6 files changed, 105 insertions(+), 26 deletions(-)

diff --git a/pelikoodi/platformerPeli/.idea/.idea.platformerPeli/.idea/indexLayout.xml b/pelikoodi/platformerPeli/.idea/.idea.platformerPeli/.idea/indexLayout.xml
index 7b08163..a864d88 100644
--- a/pelikoodi/platformerPeli/.idea/.idea.platformerPeli/.idea/indexLayout.xml
+++ b/pelikoodi/platformerPeli/.idea/.idea.platformerPeli/.idea/indexLayout.xml
@@ -1,7 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="UserContentModel">
-    <attachedFolders />
+    <attachedFolders>
+      <Path>../../../platformerpeli-main</Path>
+    </attachedFolders>
     <explicitIncludes />
     <explicitExcludes />
   </component>
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/kentta1.txt b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/kentta1.txt
index 88315be..624ca0a 100644
--- a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/kentta1.txt
+++ b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/kentta1.txt
@@ -4,12 +4,12 @@
 
 
 
-                 ##############            
+                ##############            
 
 
 
 
-         ######                  ######     
+        ######                  ######     
 
 
 
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.dll b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.dll
index a905ccf9bb1e853b55835e0b2a30ab1ff61c3867..afbdc27d1159a8841b7a3aec4e5d04b25d00e93b 100644
GIT binary patch
delta 752
zcmXYvUuaTM9LIm>T>sUabKGG<J!s-pv&6L?#$sV8(Wux2$BML+xI^32O;@ynx?>S5
zeAwM7h>Eb6NN6;;P*4y_G3qH9t6rkAr=rLndi0@lkLL%!FXwX(=garr^Hb7FdU?q(
z_*|{1l^y7^TAQ#1VgRE+D-BRFs&3J$09YyaMFA4Tjdzn1$cL_y1*#QNLldqPy`tA)
z+8B%w+Xc{Y0wBt?O+=N#+8F*}?8?#|Ge9p0MKWTMwKYpyKn-ox`T}2hB+)}yfWHP2
zcZ0>(p$ir}^uQNR7qJQK(Bd@9sLkk_vuV=La)Hi01TAETc}@o?iEy1$ABfliH#tdQ
z0w+99aEvp2!|4X2&zxQ|`o-xZBY}Rb9{UfY?VL<VHyzOS+nd;2$38d->%=1-9Ij&p
zPeC15nZ9EBjVTEFzKdyuX_~3Rw5qH2K)h?SZ=}AL{KuoQTd;Y=*4?wN9o_j94{SwX
z><@)QVE}{v<1Glf^kkh%#2a4$9UH?G@6gWD$IOzHcbgH@$HQda>ls;GogKau`E+RI
z-`gdjA#Lg|(V^scSuT~6XET#>DLGn@W2M}AIT<USIhU6UbLHgBbY^a{Sjx+#8F@Ol
zC!fg`NZp&*%iW|6?nV=w{`vaDllr^cwP%Uni*Y_QdcG-r?NZ$il+sQ~Ye)@SiOpYd
zR0M$KG(cOA&8v;civK=JlKy}P4Qk_o_ecoS8S@2$<Y90K-P4*u7baCHu_e+OTxFlu
J8){Kg^M9oIv*iE)

delta 842
zcmXw&T}TvB6vzMf&VGrut*n@!4{NgP+UB-1>nf9EhC&HNs~Hj&?z--RWadXy^wJs>
zB?eCSA;SuL2$Bk<DG8#Go`a}|3ZGVx2#FMWNWzEC9j7y#|J>iX=bV|#naQW}sp*>z
z<F9+mn5trv#(a-A(GDC3SqdmPjcR{M9w;GhZv(nTHQy^vv064QCP)inp7jI<sYKcl
zat<es?g2I{07gvi5=JOyCixF%=`cmyKq-`Zr7Yr7!lKQS<$(Fbv!$?2^Kr==esv*4
zS(w0v!_RlXSG!G@JwEKjcbl$o7kv0*)2Ky`u*|$svEq_@qjlSL4C~B?37cAo{4i`P
zgP)h<zD*&xP=S}-Hg;P0!KO)zR&9D`(Qli+SX4}>maqNGq8giAOg3#c<GvN{UgNds
z#k#2UA3Ctc^ZYE<_?)FnmKH39BI5x|TP;mlnzwXLs(H^p>-F_rU%WN);?uEw-?OFF
zs_~y@`|d^F8)t~B(O5JV8PL?mL?)ierByYnHt4Z<zpCkaT5Hr|x}Hd9;!RpEm(c--
z9F>QmSRTQ$!<7#nfgMZIaBz`)hNeFw>VvzSUYfR7bOdXHPe1#EiTC5Jultt|b`=FC
zWs|o3r$>g;7joyv&Sl3&vO|O7Rj^yLGgF&(rtE%q*)==*?Rm@F*{>aE>@P?@`jT7+
zjOubWXm*7bnDB;&%L@uHodS|{|8Ge}+zCHq3qq}{VN>SGx{pk`hJB(o5;+mU05qs*
zL;@Ma$#X~(tH_c!Ku3(C{j}C-t<#=Hxf(?!C5UBJ6Gd`#Whe&G8EIx4=Iuy;7qxEx
O5>pLkX>^?#G50_Jkh!S<

diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.exe b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.exe
index 700654386dcd0c9230e2f2f4c827039748727d91..8d0670fb258df5cc633208f15ffc38944e779a58 100644
GIT binary patch
delta 105
zcmZqJ!_lyZV?z%kW5?!RMr$C|e3GgCBopKIlT1vrMOiXf85pJqNHB@8RRCFkn5H*L
zFwJ9(nXV|wq|9is-Bpt5JR`FK1KV_QX(sLM)1;ZSn0Ws%F)%z~VE}`g>1Sn`j3+UN
F002W^8%O{E

delta 186
zcmZqJ!_lyZV?z%k<DJdDjMhM^`6N^ONhZeaCz+ULi?ZxtWnh>dAi*TUb_U1_V4mJ2
z!8DI?!*oSSCS}H+?XHqc=NXxs81$!$OEYN)Ycr%U7%><!m@$|#Br_NTaT-G+kZ;J4
z3dAN1mJ9|!(Ig<-2*|bs${7LG8UaN?JX0Vaq{|#Ak_LpyKrx2xjzEK%cmtRj7@n{&
MfWd|7m9k960Gn_oF#rGn

diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.pdb b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.pdb
index dde2da44329deaabb62019ec9bf97ddd25b67ee8..de05f0eb916f46f9747bd84554de6d112f851074 100644
GIT binary patch
delta 1068
zcmZXSZERCj7{{M;+S^@LR=JLn4a%tQRc!B?wHp<>vX`<K$z(Y9g%M~w?q+9qOM44S
zAaL%+OBa}KJ0v6~iizN6oCq261xXAsW*<mgcu^6^8iFrT;|D-VMo4^aV}jA7zvq9R
z=bZoZoZEZPs#61FzO6e<0Hyl@d}e?)z;#zT6;t~)T*5xA;SWl?yMW;$Y^+<m+e4^X
z%-cMeH^mcC%!fZs*6(fju4UrkY{oQKas9Q;bMxb4@dGy8>j47&K;d1~NmP*#SV1WC
zpsJ_@9==GS(?wwlnMcfS3V!4jWG^y~{DwS1+GGl!Bcz(bCgdaJ67mi509inY2d5xQ
ziZK)+PNWL)AbzC5!;h2S3tq?D6@UO1yn}6Kls1!SGmZyL-**|0?!?UwS0$L>9a4#Z
z#${6&D_31%wA^s9+-??Q(w)Uh+U+D3m~)4T08KK(I4OUCaY6nPV|#TL<9pRSXjb_b
z=8#wD)|8Yc3`F{rl(<P%LaEqpWl<>6yK7KU(^}!qcqHAINDV5fok~3B9*o3P{)|v|
zz`B)~^OqEtu4!!S#0LwWs;Q}$CbKj18^5Z0Gjd}g*fRCQFW1M)d)GhtWJY@0r4zfz
zz1rfZc9wD8OcwntYdw$t*kE>)lxFVUnVtA-{Mx<P`N*~5GpB4eQzAMbgp}y6ev7K4
z{jx{q9}9Bfv;S%`%dW7i>?Z$7c&@ADKjRuTO&N^F_q3~h37q{un;vi`ha|_V>;G!2
ztS|d<%av`H0u|oV!s&xm+WFnL?<X&YXP9_lwKQ!f(+)DdhLU2x@q$WttM_G_Q5_-E
zV=v%KBQ^Y_w?ZmhR6u~80bPPJ{J2RI|JGYZHuJ|`FA4K%pPjtHH~3bSTP+d+-3fN1
z+dhFnITa;XMe&0mbWhNzvO_%M3wY{*O@ZzJeH8QuFcgKMTQJ-KQtrqJblRyX8m5q7
zm`?KhzF>hst(5U?7Nc^G2Wq!0w-PJaPFpA&Sw=#6M*VB_uApK*KU@3KVk_B5-)hZu
z_@4h++iXSuhaIAE?pNMi*IvGwu**arUS^Ed0j*Xl=7C5d&zPONjh@fX)%iMW8*nT<
vUzd|2Z7mK12RppZ&|-GPZ)g$A<a8+;$>~aVG+@-1vt$398_nf*_O}0TGw27`

delta 1608
zcmY+E2~ZPP7=YhfNC=QbA_S46tXzs>LLdTi2?kN1C<U}_43+>(j5#L>mojGKftEqU
zE>+NR>J?F}6idCv(PC}UG9Ddk$Bv>PT3fNUR%wwDZU04PI?n9({^R}s``^Cn(5g;j
zlU!wXK`3-BLTRoDEkd9d*eqJ3#tJIh3_kc!=+Xkz0E(H_7cR}p067M>JO=FfdQ%D5
zN3MH^&-uohcB<soynJ`Eeqq4wz1y1fb}#6QM;OgR1hRl!4e~a~A&~!Ij5q`V)}z@3
zS|B0NZr}zm3e1)gNCB9EI-nnT3e1fr&_UoCkR~J04xj_*1|9&9foH%dfTqR}$PEwz
zVjvI*1!l%D&G>hL5oRYq9K?k=_;hU{6xf~sr4g8ng#C3Ay5>u!!!m4enGS&`ImO_)
zC@Ds6s8>>nT#zTG$78mG9zhI%UM?MgUageGZs=QSG3Fw9G!1P_^d4v*M|VS;C>wyb
zQ3fS+l+k8WBaPZXA@fQ`;acPs@P558LTk+Y>S%purs(h2%pTW_NkX$;Z7Vlf43x!8
z>9x!hPFR_n3cGp-1x1nl=Q`GClAHsm2e;|ezK7)g%S$F*-VpkWm)E{)ypb}||H*lf
zEGe~4q!yDcWBTDZ9MZSmkb3`eqw5Kc*!1(hcQgBm^E-1(-&yX%9O9%+622)!@1j4W
zo%H9-OU^Vq-3zlvQYo3NuCSRjl##NiZB!X4O%-@lSm6+n1vOS1Wk`D4l;l(8daBf>
zH5s92x!P)_3?=%SL{bAMNv%&ze3K=~uQ1xQ21>GwvREM&#*-APEgH&}X@RAxGUZxy
z={7j5B^5SmMu=qbf<lGKLZzF{Q4<*{l?jsQkSKB@-lEIUT45P#7DGCjLXM}9Y)E90
zz=H|o2HW5IOUF$zvKs$87_Q9TRbO>)#o*~X2YZ?}7jAth9_3y>F6hz~I8-m-`W$8Y
zb1p=CUF`RK72KE-`DNvkz5|IH=C-~d`SHW)wWki=jBAPr%?f(;XKq`A!2ZLgh$W}b
z)Sj!_k>e*^Q*>@hUG#-p?dtST<aTARaipixkZq(7HxzH;3UN~$UHs|f^nlg8kD6zA
z#$0tdakkZ(o~L%<>lEGL1xoL(ru>hCRob-H^NpVOqR8fB-OpXFY#(+$S+r9)xF)M*
z<JS-Rs&utq#HoBcjSbGBhr@o!1rn7^mG$diXXE8{?S=B2^IX=Ao;2-kpKb3gHy(Yc
zH9XRHidR~lv#!sYTx))Pw>8YV;zmccCS~wWfpW?nS<Xm?^uU$KFptb9e>B!K8w4*^
zd1L3#TpC=Ns4m@J>hqqhwV_ArGu^%C$Li)V@3Q+x60UuCy{OW;bXn|eMN)j9$B^T>
zT{^P=rFm@2t!Z{;|4*v2r|qYmqK&&=ID7VmXdUitkGOY7QgN4wdt#=j!vlASa7Pq@
z{S)BC;Q%I1mMvtxYjMZMNVu<f7Skw;5c#+ZFrtqkhZu#y#^5>3cd{^?$_&Y3mDwDO
zCKEgX@+RQQW1=Pm?l;Z@uMffFAh^94ULvk5!7D{rScBORg5YyS7&&GjF<Z9?g2M@(
z2nA0Jk-~aQnd+EiNh+e-ks}y6wjswTTBk+p?xXd~5c~XLE98j@9*-ST0i|#?^B^Xb
z?@I6q?Fuf~bR8p&Rr>QWAD0kW1l{P1Gu&8z3uFcoJTGQ{>|8z{FCo@0Wb^4Z=C@dd
zC!e4X=ki$lI1?w&3Xj6{_t>%3m#s-(f>cj}=Z1Lj0<x7w<L;}>0l7R!k_Kf_h;&@|
oeUQjnfn`aom`WwE!moT>_-MvOkT#ih`mcHuq8qowdUiMd1HCxhng9R*

diff --git a/pelikoodi/platformerPeli/platformerPeli/platformerPeli.cs b/pelikoodi/platformerPeli/platformerPeli/platformerPeli.cs
index bc69999..16898a4 100644
--- a/pelikoodi/platformerPeli/platformerPeli/platformerPeli.cs
+++ b/pelikoodi/platformerPeli/platformerPeli/platformerPeli.cs
@@ -9,20 +9,25 @@ namespace platformerPeli;
 /// <summary>
 /// Platformer PVP Peli
 /// </summary>
+    
 public class platformerPeli : PhysicsGame
 {
-    private const int RuudunKoko = 40;
-    private const double nopeus = 200;
-    private const double hyppyNopeus = 650;
-    private PlatformCharacter pelaaja;
-    private PlatformCharacter pelaaja2;
-    private Image pelaajankuva = LoadImage("alpha000.png");
-    private Image background = LoadImage("Illustration27.png");
+    private const int RuudunKoko = 40; // Kentän ruudun koko
+    private const double nopeus = 200; //liikkumisnopeutta
+    private const double hyppyNopeus = 650; //hyppyvoimaa
+    private PlatformCharacter pelaaja; //pelaaja 1
+    private PlatformCharacter pelaaja2; //pelaaja 2
+    private Image pelaajankuva = LoadImage("alpha000.png"); //lataa tyhjänkuvan minkä heti jälkeen vaihtaa animaation kanssa
+    private Image background = LoadImage("Illustration27.png"); //taustakuva
     private Image[] idleanimaatio = LoadImages("stand000", "stand001", "stand003", "stand004", "stand005", "stand006", "stand007", "stand008", "stand009", "stand010", "stand011", "stand012", "stand013", "stand014", "stand015");
     private Image[] kavelyanimaatio = LoadImages("dashFront000", "dashFront001", "dashFront002", "dashFront003", "dashFront004", "dashFront005", "dashFront006");
-    private Image[] hyppyanimaatio = LoadImages("jump000", "jump001", "jump003", "jump004", "jump005", "jump006", "jump007", "jump008");
-    private double jumpcount = 0;
-
+    private Image[] hyppyanimaatio = LoadImages("jump000", "jump001", "jump003", "jump004", "jump005", "jump006", "jump007", "jump008"); //nämä kolme on animaatiot mitä käytetää
+    private double jumpcount = 0; //lasketaan hyppy counteri
+    
+    
+    /// <summary>
+    /// kutsuu aliohjelmat joka pyörittää sitten pelin
+    ///</summary>
     public override void Begin()
     {
         Gravity = new Vector(0, -1000);
@@ -38,7 +43,11 @@ public class platformerPeli : PhysicsGame
 
         LisaaAseet();
     }
+    
 
+    /// <summary>
+    /// Luo kentän teksti tiedoston symbolejen avulla
+    /// </summary>
     private void LuoKentta()
     {
         TileMap kentta = TileMap.FromLevelAsset("kentta1.txt");
@@ -48,7 +57,14 @@ public class platformerPeli : PhysicsGame
         kentta.Execute(RuudunKoko, RuudunKoko);
         Camera.ZoomToLevel();
     }
-
+    
+    
+    /// <summary>
+    /// Luo tason
+    /// </summary>
+    /// <param name="paikka">tason paikka</param>
+    /// <param name="leveys">tason leveys</param>
+    /// <param name="korkeus">tason korkeus</param>
     private void LuoTaso(Vector paikka, double leveys, double korkeus)
     {
         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
@@ -58,6 +74,13 @@ public class platformerPeli : PhysicsGame
         Add(taso);
     }
 
+    
+    /// <summary>
+    /// Luo kaksi pelaaja (on mahdollista luoda enemmän)
+    /// </summary>
+    /// <param name="paikka">Pelaajan paikka</param>
+    /// <param name="leveys">Pelaajan leveys</param>
+    /// <param name="korkeus">Pelaajan korkeus</param>
     private void LisaaPelaaja(Vector paikka, ref PlatformCharacter pelaaja)
     {
         pelaaja = new PlatformCharacter(52, 128);
@@ -69,13 +92,23 @@ public class platformerPeli : PhysicsGame
         pelaaja.AnimIdle.Start();
         Add(pelaaja);
     }
-
+    
+    
+    /// <summary>
+    /// Lisää aseet pelaajoille
+    /// </summary>
     private void LisaaAseet()
     {
         LisaaAse(pelaaja);
         LisaaAse(pelaaja2);
     }
-
+    
+    
+    /// <summary>
+    /// Luodaan itse ase ja sen ominaisuus
+    /// </summary>
+    /// <param name="pelaaja.Weapon">Pelaajan ase</param>
+    /// <param name="Image">tehdään aseesta läpinäkymätön jotta ei menisi spriten päälle</param>
     private void LisaaAse(PlatformCharacter pelaaja)
     {
         if (pelaaja != null)
@@ -89,12 +122,21 @@ public class platformerPeli : PhysicsGame
             };
         }
     }
+    
+    
+        /// <summary>
+        /// Lisätään musiikkia ja pistetään loopille
+        /// </summary>
     private void LisaaMusiikki()
     {
         MediaPlayer.Play("Twin_Crystal.wav");
         MediaPlayer.IsRepeating = true;
     }
+    
 
+    /// <summary>
+    /// näppäimet
+    /// </summary>
     private void LisaaNappaimet()
     {
         Keyboard.Listen(Key.W, ButtonState.Pressed, () => Hyppaa(pelaaja, hyppyNopeus), "Pelaaja 1: Hyppää");
@@ -110,26 +152,39 @@ public class platformerPeli : PhysicsGame
         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
     }
-
+    
+    
+    /// <summary>
+    /// hahmo liikkuu
+    /// </summary>
     private void Liikuta(PlatformCharacter pelaaja, double nopeus)
     {
         pelaaja.Walk(nopeus);
     }
-
+    
+    
+    /// <summary>
+    /// suorittaa hypyn tässä
+    /// </summary>
     private void Hyppaa(PlatformCharacter pelaaja, double hyppyNopeus)
     {
-        if (pelaaja != null && (PelaajaOnMaassa(pelaaja) || jumpcount < 2))
+        if (pelaaja != null && (PelaajaOnMaassa(pelaaja) || jumpcount < 2)) //kattoo onko maassa tai hyppiny liian vähän
         {
              if (jumpcount == 1) 
             {
-                pelaaja.Velocity = new Vector(pelaaja.Velocity.X, hyppyNopeus);
+                pelaaja.Velocity = new Vector(pelaaja.Velocity.X, hyppyNopeus); //jottei hypyn vauhti muuttuisi gravityn takia
             }
             pelaaja.Jump(hyppyNopeus);
-            jumpcount++;
-            pelaaja.LoopJumpAnim = true;
+            jumpcount++; //lasketaan hyppyjä
+            pelaaja.LoopJumpAnim = true; //pyöritään animaatio ilmassa
         }
     }
 
+    
+    /// <summary>
+    /// Ollaanko varmasti maassa
+    /// </summary>
+    /// <returns> ollaanko iha varmasti maassa </returns>
     private bool PelaajaOnMaassa(PlatformCharacter pelaaja)
     {
         foreach (var obj in GetAllObjects())
@@ -141,28 +196,36 @@ public class platformerPeli : PhysicsGame
                     pelaaja.Bottom >= physicsObj.Top - 5)
                 {
                     jumpcount = 0;
-                    return true;
+                    return true; //jos ollaan maassa
                 }
             }
         }
         return false;
     }
 
+    
+    /// <summary>
+    /// ammutaan aseella
+    /// </summary>
     private void AmmuAseella(PlatformCharacter pelaaja)
     {
-        if (pelaaja?.Weapon != null)
+        if (pelaaja.Weapon != null)
         {
             PhysicsObject ammus = pelaaja.Weapon.Shoot();
 
             if (ammus != null)
             {
                 ammus.Size *= 3;
-                ammus.Image = LoadImage("ThrowingKnife.png");
+                ammus.Image = LoadImage("ThrowingKnife.png"); //ammos on puukko
                 ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
             }
         }
     }
 
+    
+    /// <summary>
+    /// katsotaan kumpi voittaa ja kumpi tuhoutuu
+    /// </summary>
     private void AmmusOsui(PhysicsObject ammus, PhysicsObject target)
     {
         if (target == pelaaja2)
@@ -177,6 +240,10 @@ public class platformerPeli : PhysicsGame
         }
     }
 
+    
+    /// <summary>
+    /// PeliLopun jälkeen valinta ikkuna
+    /// </summary>
     private void ShowEndMenu(string message)
     {
         ClearControls();
@@ -195,15 +262,25 @@ public class platformerPeli : PhysicsGame
         exitButton.Clicked += ExitGame;
         Add(exitButton);
     }
-
+    
+    
+    /// <summary>
+    /// alottaa alusta
+    /// </summary>
     private void RestartGame()
     {
         ClearAll();
         Begin();
     }
 
+
+    /// <summary>
+    /// Lopettaa pelin
+    /// </summary>
     private void ExitGame()
     {
         Exit();
     }
+    
+    
 }
-- 
GitLab