diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/Empty.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/Empty.png
new file mode 100644
index 0000000000000000000000000000000000000000..e8a537ad7ce6806165ede4eb890ac20f292d343f
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/Empty.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/ThrowingKnife.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/ThrowingKnife.png
new file mode 100644
index 0000000000000000000000000000000000000000..26b1116dfeb946cf558c2b1813f673769cdd7049
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/ThrowingKnife.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/Twin_Crystal.wav b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/Twin_Crystal.wav
new file mode 100644
index 0000000000000000000000000000000000000000..3486249a20db7264911da621af42aafc8a6265ca
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/Twin_Crystal.wav differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/alpha000.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/alpha000.png
new file mode 100644
index 0000000000000000000000000000000000000000..23bddb761c7403b2e58cec7f4307ba4c91ced084
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/alpha000.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront000.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront000.png
new file mode 100644
index 0000000000000000000000000000000000000000..38613e092f7e20b800269450213588bb9197e8c8
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront000.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront001.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront001.png
new file mode 100644
index 0000000000000000000000000000000000000000..3b2984f109993f4581bc9c9aa7afe810b16d9dd0
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront001.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront002.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront002.png
new file mode 100644
index 0000000000000000000000000000000000000000..b0e4b3925d7f8e37cc2c40a0dcfb322ea16cf373
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront002.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront003.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront003.png
new file mode 100644
index 0000000000000000000000000000000000000000..3036e74ac410cdfc1a9c4b8466deea5a6feea00a
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront003.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront004.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront004.png
new file mode 100644
index 0000000000000000000000000000000000000000..2f61f7453ec15a25a675ce30bc0cfce2e3686e2b
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront004.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront005.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront005.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a0944d8d22b194a4da7c4780be7140e6a012ee2
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront005.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront006.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront006.png
new file mode 100644
index 0000000000000000000000000000000000000000..f12063234ba4bf37e509a4959db6065e8c77d049
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/dashFront006.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump000.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump000.png
new file mode 100644
index 0000000000000000000000000000000000000000..14207da4553ba1eb1a0775163c6612244ee77220
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump000.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump001.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump001.png
new file mode 100644
index 0000000000000000000000000000000000000000..2c4457e4b6487aac8c1dfef05859bbe27622c571
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump001.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump002.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump002.png
new file mode 100644
index 0000000000000000000000000000000000000000..9912389601cc72391e6fb4ec7db986fc8d3f5256
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump002.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump003.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump003.png
new file mode 100644
index 0000000000000000000000000000000000000000..936a619048c545fcffb8b1fe14faff5bd8f62c39
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump003.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump004.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump004.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd68a0e3f4241b96659cbda7278b8b33b25b366c
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump004.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump005.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump005.png
new file mode 100644
index 0000000000000000000000000000000000000000..782d07f1054d0fee0ffc0fba5d079376d34737c4
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump005.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump006.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump006.png
new file mode 100644
index 0000000000000000000000000000000000000000..46996266a5cf1bdc0476a3f6656986e287121df4
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump006.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump007.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump007.png
new file mode 100644
index 0000000000000000000000000000000000000000..93684ab2e162d11e935eed396cd0f6339ffd0a11
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump007.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump008.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump008.png
new file mode 100644
index 0000000000000000000000000000000000000000..65667561f030900f78ae57ac54c7c271bd4cd5ea
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/jump008.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/kentta1.txt b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/kentta1.txt
new file mode 100644
index 0000000000000000000000000000000000000000..88315becec591452ff6d1e81627fccfa9cc49eeb
--- /dev/null
+++ b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/kentta1.txt
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+                 ##############            
+
+
+
+
+         ######                  ######     
+
+
+
+
+
+               N              M
+###########################################
\ No newline at end of file
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/square.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/square.png
deleted file mode 100644
index 7f9d13d4d4eb2a94835d06ce4db58a232803d545..0000000000000000000000000000000000000000
Binary files a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/square.png and /dev/null differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand000.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand000.png
new file mode 100644
index 0000000000000000000000000000000000000000..33bc88c0b4d5c8aa55ef97f73aeac27e27708995
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand000.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand001.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand001.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4bd475647d9da4fc9a047fb2c443c806885e96d
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand001.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand002.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand002.png
new file mode 100644
index 0000000000000000000000000000000000000000..096c4a46721df3be337a9fd4e33b2871c183008a
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand002.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand003.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand003.png
new file mode 100644
index 0000000000000000000000000000000000000000..b01617a42e8a7422906cea29b53c547bb7d6e9ce
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand003.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand004.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand004.png
new file mode 100644
index 0000000000000000000000000000000000000000..c9708517c6fb55561398af2de6c0a186739ef4d8
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand004.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand005.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand005.png
new file mode 100644
index 0000000000000000000000000000000000000000..c78b7da603e7ce79137cfce3067051c6482dcc11
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand005.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand006.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand006.png
new file mode 100644
index 0000000000000000000000000000000000000000..f57a09d15c4a88f9381968941baef0ac55f6c7f9
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand006.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand007.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand007.png
new file mode 100644
index 0000000000000000000000000000000000000000..0967ed8d295a65e7c32623daea441607cc931708
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand007.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand008.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand008.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7d9bcc3b64c2211eeb7086afe5f852a60735d45
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand008.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand009.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand009.png
new file mode 100644
index 0000000000000000000000000000000000000000..efe4cf6b66ed4c2121dffee96b7ee0ea665219d2
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand009.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand010.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand010.png
new file mode 100644
index 0000000000000000000000000000000000000000..ee62d537e4843e83e0d2b75ff9039385e73cc5c3
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand010.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand011.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand011.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e80324d8302f381c7918c90349504a7c1c39b0c
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand011.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand012.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand012.png
new file mode 100644
index 0000000000000000000000000000000000000000..5944ef9865b837f3107c800bd2ae6ef7a0b0ffcb
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand012.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand013.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand013.png
new file mode 100644
index 0000000000000000000000000000000000000000..c72882a18ef7728249ea2e2248f29fe3846b7fb5
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand013.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand014.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand014.png
new file mode 100644
index 0000000000000000000000000000000000000000..1c1b3dacfe6b3f47a69edb4d45564f463c689621
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand014.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand015.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand015.png
new file mode 100644
index 0000000000000000000000000000000000000000..108b060c39fad14413cc158ce89f49b521b3ed3e
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/stand015.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront000.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront000.png
new file mode 100644
index 0000000000000000000000000000000000000000..63e3f2836dcde19459606c24036650eb1fb5c270
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront000.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront001.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront001.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac7e6458602478608219e4e29d053ba88085b4db
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront001.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront002.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront002.png
new file mode 100644
index 0000000000000000000000000000000000000000..11737b4b0c68f5347294e813bb5e854285fb77ab
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront002.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront003.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront003.png
new file mode 100644
index 0000000000000000000000000000000000000000..06e93af4b0a25d6efb280f45d53e43ea4e81ff27
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront003.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront004.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront004.png
new file mode 100644
index 0000000000000000000000000000000000000000..35584ba746802a34f5a3d539ab546e596bed3c44
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront004.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront005.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront005.png
new file mode 100644
index 0000000000000000000000000000000000000000..405e8f2f62a627ad00954a2e5df9f5dbc14e0f88
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront005.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront006.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront006.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2f40aae2e78c48f8ad824854c912ffa0fc859d8
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront006.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront007.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront007.png
new file mode 100644
index 0000000000000000000000000000000000000000..ddebf7fa32d49b2924d57cd6aa40c772210b1072
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront007.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront008.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront008.png
new file mode 100644
index 0000000000000000000000000000000000000000..53f771373482ef9311e7133a2f7cce3275c5c111
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront008.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront009.png b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront009.png
new file mode 100644
index 0000000000000000000000000000000000000000..53232a3841ac39272593b339bc245fff633c04ca
Binary files /dev/null and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/walkFront009.png differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.dll b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.dll
index fac23e361ce2068896410e24a6790cc40d61ff8d..a905ccf9bb1e853b55835e0b2a30ab1ff61c3867 100644
Binary files a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.dll and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.dll differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.exe b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.exe
index d97c2643236c0c8824a9d7b7db0f3a7e8d9bf417..700654386dcd0c9230e2f2f4c827039748727d91 100644
Binary files a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.exe and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.exe differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.pdb b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.pdb
index 86a22f5a4f17d7a4b5e8fa624cdbd6986d59892d..dde2da44329deaabb62019ec9bf97ddd25b67ee8 100644
Binary files a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.pdb and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.pdb differ
diff --git a/pelikoodi/platformerPeli/platformerPeli/platformerPeli.cs b/pelikoodi/platformerPeli/platformerPeli/platformerPeli.cs
index c886df2c7d909b97db9819b67e82efa6642b7572..bc699998f14a68ee6e9c665ef18fc2cd32b49cd9 100644
--- a/pelikoodi/platformerPeli/platformerPeli/platformerPeli.cs
+++ b/pelikoodi/platformerPeli/platformerPeli/platformerPeli.cs
@@ -1,120 +1,209 @@
 using System;
-using System.Collections.Generic;
-using System.Reflection;
 using Jypeli;
 using Jypeli.Assets;
-using Jypeli.Controls;
-using Jypeli.Widgets;
 
 namespace platformerPeli;
 
-/// @author Michal`O`
+/// @author Mikael ja Jafer
 /// @version 23.10.2024
 /// <summary>
-/// 
+/// Platformer PVP Peli
 /// </summary>
 public class platformerPeli : PhysicsGame
 {
-    
-    private const double nopeus = 300;
-    private const double hyppyNopeus = 500;
+    private const int RuudunKoko = 40;
+    private const double nopeus = 200;
+    private const double hyppyNopeus = 650;
     private PlatformCharacter pelaaja;
-    private Image pelaajankuva = LoadImage("square.png");
+    private PlatformCharacter pelaaja2;
+    private Image pelaajankuva = LoadImage("alpha000.png");
     private Image background = LoadImage("Illustration27.png");
-    private PhysicsObject alaSeina;
+    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;
 
-
-    /// <summary>
-    /// private readonly Vector nopeusYlos = new Vector(0, 800);
-    /// </summary>
-    ///private readonly Vector nopeusAlas = new Vector(0, -800);
-    ///private readonly Vector nopeusVasen = new Vector(-800, 0);
-    ///private readonly Vector nopeusOikea = new Vector(800, 0);
-
-    
     public override void Begin()
     {
-        Level.Width = Screen.Width * 2;
-        Level.Height = Screen.Height * 1.5;
-        SetWindowSize(1280, 720, false);
+        Gravity = new Vector(0, -1000);
+        LisaaNappaimet();
+        LuoKentta();
+        LisaaMusiikki();
+
+        Camera.StayInLevel = true;
         Level.Background.Image = background;
         Level.Background.FitToLevel();
-        LuoKentta();
-        Camera.Follow(pelaaja);
-        Camera.ZoomToLevel();
-        
-        
-        
-        ///PhysicsObject pelaaja = new PhysicsObject(2 * 20.0, 2 * 20.0, Shape.Rectangle);
-        ///pelaaja.Y = Level.Bottom + 200.0;
-        ///Add(pelaaja);
-
-        Gravity = new Vector(0.0, -1000);
-        pelaaja = new PlatformCharacter(40, 40);
-        Vector pelaajanPaikka = new Vector(0, 200);
-        LisaaPelaaja(pelaajanPaikka, 40, 80, pelaaja, pelaajankuva);
-        LisaaNappaimet();
-        
-        ///PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
-        ///Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
+
+        MasterVolume = 0.5;
+
+        LisaaAseet();
     }
 
     private void LuoKentta()
     {
-        alaSeina = Level.CreateBottomBorder();
-        alaSeina.Restitution = 0.0;
+        TileMap kentta = TileMap.FromLevelAsset("kentta1.txt");
+        kentta.SetTileMethod('#', LuoTaso);
+        kentta.SetTileMethod('N', (paikka, leveys, korkeus) => LisaaPelaaja(paikka, ref pelaaja));
+        kentta.SetTileMethod('M', (paikka, leveys, korkeus) => LisaaPelaaja(paikka, ref pelaaja2));
+        kentta.Execute(RuudunKoko, RuudunKoko);
+        Camera.ZoomToLevel();
     }
 
-    private void LisaaPelaaja(Vector paikka, double leveys, double korkeus, PlatformCharacter pelaaja, Image kuva)
+    private void LuoTaso(Vector paikka, double leveys, double korkeus)
     {
+        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
+        taso.Position = paikka;
+        taso.Color = Color.Red;
+        taso.Tag = "taso";
+        Add(taso);
+    }
+
+    private void LisaaPelaaja(Vector paikka, ref PlatformCharacter pelaaja)
+    {
+        pelaaja = new PlatformCharacter(52, 128);
         pelaaja.Position = paikka;
-        pelaaja.Image = kuva;
-        pelaaja.Restitution = 0.0;
+        pelaaja.Image = pelaajankuva;
+        pelaaja.AnimIdle = new Animation(idleanimaatio) { FPS = 10 };
+        pelaaja.AnimWalk = new Animation(kavelyanimaatio[2], kavelyanimaatio[3]) { FPS = 10 };
+        pelaaja.AnimJump = new Animation(hyppyanimaatio) { FPS = 10 };
+        pelaaja.AnimIdle.Start();
         Add(pelaaja);
     }
 
+    private void LisaaAseet()
+    {
+        LisaaAse(pelaaja);
+        LisaaAse(pelaaja2);
+    }
+
+    private void LisaaAse(PlatformCharacter pelaaja)
+    {
+        if (pelaaja != null)
+        {
+            pelaaja.Weapon = new AssaultRifle(30, 10)
+            {
+                Ammo = { Value = 1000 },
+                FireRate = 2.0,
+                Image = LoadImage("Empty.png"),
+                ProjectileCollision = (ammus, target) => AmmusOsui(ammus, target)
+            };
+        }
+    }
+    private void LisaaMusiikki()
+    {
+        MediaPlayer.Play("Twin_Crystal.wav");
+        MediaPlayer.IsRepeating = true;
+    }
 
     private void LisaaNappaimet()
     {
-        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja 1: Liikuta mailaa ylös", pelaaja, hyppyNopeus);
-        ///Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus,null, pelaaja, Vector.Zero);
-        ///Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", pelaaja, nopeusAlas);
-        ///Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus,null, pelaaja, Vector.Zero);
-        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Pelaaja 1: Liikuta mailaa alas", pelaaja, -nopeus);
-        ///Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus,null, pelaaja, Vector.Zero);
-        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Pelaaja 1: Liikuta mailaa alas", pelaaja, nopeus);
-        ///Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus,null, pelaaja, Vector.Zero);
+        Keyboard.Listen(Key.W, ButtonState.Pressed, () => Hyppaa(pelaaja, hyppyNopeus), "Pelaaja 1: Hyppää");
+        Keyboard.Listen(Key.A, ButtonState.Down, () => Liikuta(pelaaja, -nopeus), "Pelaaja 1: Liikuta vasemmalle");
+        Keyboard.Listen(Key.D, ButtonState.Down, () => Liikuta(pelaaja, nopeus), "Pelaaja 1: Liikuta oikealle");
+        Keyboard.Listen(Key.E, ButtonState.Down, () => AmmuAseella(pelaaja), "Pelaaja 1: Ammu");
+
+        Keyboard.Listen(Key.Up, ButtonState.Pressed, () => Hyppaa(pelaaja2, hyppyNopeus), "Pelaaja 2: Hyppää");
+        Keyboard.Listen(Key.Left, ButtonState.Down, () => Liikuta(pelaaja2, -nopeus), "Pelaaja 2: Liikuta vasemmalle");
+        Keyboard.Listen(Key.Right, ButtonState.Down, () => Liikuta(pelaaja2, nopeus), "Pelaaja 2: Liikuta oikealle");
+        Keyboard.Listen(Key.L, ButtonState.Down, () => AmmuAseella(pelaaja2), "Pelaaja 2: Ammu");
+
         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
     }
 
-
-    ///    private void AsetaNopeus(PhysicsObject pelaaja, Vector nopeus)
-    ///    {
-    ///
-    ///        if ((nopeus.Y < 0 ) && (pelaaja.Bottom < Level.Bottom))
-    ///        {
-    ///            pelaaja.Velocity = Vector.Zero;
-    ///            return;
-    ///        }
-    ///        if ((nopeus.Y > 0 ) && (pelaaja.Top > Level.Top))
-    ///        {
-    ///            pelaaja.Velocity = Vector.Zero;
-    ///            return;
-    ///        }
-    ///        
-    ///        pelaaja.Velocity = nopeus;
-    ///    }
-    ///    
-
     private void Liikuta(PlatformCharacter pelaaja, double nopeus)
     {
         pelaaja.Walk(nopeus);
     }
 
-    private void Hyppaa(PlatformCharacter pelaaja, double nopeus)
+    private void Hyppaa(PlatformCharacter pelaaja, double hyppyNopeus)
+    {
+        if (pelaaja != null && (PelaajaOnMaassa(pelaaja) || jumpcount < 2))
+        {
+             if (jumpcount == 1) 
+            {
+                pelaaja.Velocity = new Vector(pelaaja.Velocity.X, hyppyNopeus);
+            }
+            pelaaja.Jump(hyppyNopeus);
+            jumpcount++;
+            pelaaja.LoopJumpAnim = true;
+        }
+    }
+
+    private bool PelaajaOnMaassa(PlatformCharacter pelaaja)
+    {
+        foreach (var obj in GetAllObjects())
+        {
+            if (obj is PhysicsObject physicsObj)
+            {
+                if (physicsObj.Tag?.ToString() == "taso" &&
+                    pelaaja.Bottom <= physicsObj.Top + 1 &&
+                    pelaaja.Bottom >= physicsObj.Top - 5)
+                {
+                    jumpcount = 0;
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    private void AmmuAseella(PlatformCharacter pelaaja)
+    {
+        if (pelaaja?.Weapon != null)
+        {
+            PhysicsObject ammus = pelaaja.Weapon.Shoot();
+
+            if (ammus != null)
+            {
+                ammus.Size *= 3;
+                ammus.Image = LoadImage("ThrowingKnife.png");
+                ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
+            }
+        }
+    }
+
+    private void AmmusOsui(PhysicsObject ammus, PhysicsObject target)
+    {
+        if (target == pelaaja2)
+        {
+            pelaaja2.Destroy();
+            ShowEndMenu("Congratulations Player 1! You win!");
+        }
+        else if (target == pelaaja)
+        {
+            pelaaja.Destroy();
+            ShowEndMenu("Congratulations Player 2! You win!");
+        }
+    }
+
+    private void ShowEndMenu(string message)
     {
-        pelaaja.Jump(nopeus);
+        ClearControls();
+        Label label = new Label(message);
+        label.TextColor = Color.White;
+        label.Position = new Vector(0, 200);
+        Add(label);
+
+        PushButton restartButton = new PushButton("Play Again");
+        restartButton.Position = new Vector(0, 100);
+        restartButton.Clicked += RestartGame;
+        Add(restartButton);
+
+        PushButton exitButton = new PushButton("Exit Game");
+        exitButton.Position = new Vector(0, 50);
+        exitButton.Clicked += ExitGame;
+        Add(exitButton);
     }
 
-}
\ No newline at end of file
+    private void RestartGame()
+    {
+        ClearAll();
+        Begin();
+    }
+
+    private void ExitGame()
+    {
+        Exit();
+    }
+}