diff --git a/BlazorSolution/BlazorSolution.sln b/BlazorSolution/BlazorSolution.sln
index 4b07c67..8b9e3a6 100644
--- a/BlazorSolution/BlazorSolution.sln
+++ b/BlazorSolution/BlazorSolution.sln
@@ -7,13 +7,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MiniGamesTests", "MiniGames
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MiniGames", "MiniGames", "{7FE5B5B5-5643-4669-9456-B3B1103F03E3}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MiniGames.Server", "MiniGames\Server\MiniGames.Server.csproj", "{048CED31-EDBF-4357-A93D-C8A64F739659}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MiniGames.Server", "MiniGames\Server\MiniGames.Server.csproj", "{048CED31-EDBF-4357-A93D-C8A64F739659}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MiniGames.Client", "MiniGames\Client\MiniGames.Client.csproj", "{E3A1A11A-C124-4687-B61F-54ABA0D76070}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MiniGames.Client", "MiniGames\Client\MiniGames.Client.csproj", "{E3A1A11A-C124-4687-B61F-54ABA0D76070}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MiniGames.Shared", "MiniGames\Shared\MiniGames.Shared.csproj", "{82559B7C-3F45-4DE7-B689-BB90FF6C0AF0}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MiniGames.Shared", "MiniGames\Shared\MiniGames.Shared.csproj", "{82559B7C-3F45-4DE7-B689-BB90FF6C0AF0}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MiniGamesTests", "MiniGamesTests\MiniGamesTests.csproj", "{CE05E725-6989-4102-AE30-D813C99AD31E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MiniGamesTests", "MiniGamesTests\MiniGamesTests.csproj", "{CE05E725-6989-4102-AE30-D813C99AD31E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/BlazorSolution/MiniGames/Client/Pages/SchereSteinPapierPage.razor b/BlazorSolution/MiniGames/Client/Pages/SchereSteinPapierPage.razor
new file mode 100644
index 0000000..e91e098
--- /dev/null
+++ b/BlazorSolution/MiniGames/Client/Pages/SchereSteinPapierPage.razor
@@ -0,0 +1,31 @@
+@page "/scheresteinpapier"
+
+
Willkommen bei Schere, Stein, Papier, Echse, Spock.
+
+
+
Spieleinleitung:
+
+ - Stein zerstört Schere und zerquetscht Echse
+ - Schere schneidet Papier und köpft Echse
+ - Papier bedeckt Stein und widerlegt Spock
+ - Echse vergiftet Spock und frisst Papier
+ - Spock zertrümmert Schere und verdampft Stein
+
+
+
+
+
+
+
+@if (SchereSteinPapierModel.RegelModel.SpielerListe.Count() > 0)
+{
+ @Ergebnis
+ Spielerpunkte: @Spielerpunktzahl
+ Computer: @CPUpunktzahl
+
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/BlazorSolution/MiniGames/Client/Pages/SchereSteinPapierPage.razor.cs b/BlazorSolution/MiniGames/Client/Pages/SchereSteinPapierPage.razor.cs
new file mode 100644
index 0000000..3a13182
--- /dev/null
+++ b/BlazorSolution/MiniGames/Client/Pages/SchereSteinPapierPage.razor.cs
@@ -0,0 +1,25 @@
+using System.Threading.Tasks;
+
+namespace MiniGames.Client.Pages
+{
+ public partial class SchereSteinPapierPage
+ {
+ private string Username { get; set; }
+ private string Ergebnis { get; set; }
+ private int Spielerpunktzahl { get; set; }
+ private int CPUpunktzahl { get; set; }
+
+ private void CreateUser(string name)
+ {
+ SchereSteinPapierModel.SpielerErstellen(name);
+ }
+
+ private void Input(string input)
+ {
+ SchereSteinPapierModel.SpielerInput(input);
+ Ergebnis = SchereSteinPapierModel.RegelModel.ergebnisAnzeige;
+ Spielerpunktzahl = SchereSteinPapierModel.RegelModel.SpielerListe[0].Punkte;
+ CPUpunktzahl = SchereSteinPapierModel.RegelModel.SpielerListe[1].Punkte;
+ }
+ }
+}
diff --git a/BlazorSolution/MiniGames/Client/Pages/_imports.razor b/BlazorSolution/MiniGames/Client/Pages/_imports.razor
new file mode 100644
index 0000000..a7a13a8
--- /dev/null
+++ b/BlazorSolution/MiniGames/Client/Pages/_imports.razor
@@ -0,0 +1,2 @@
+@using MiniGames.Client.ViewModel
+@inject ISchereSteinPapierEchseSpock SchereSteinPapierModel
diff --git a/BlazorSolution/MiniGames/Client/Program.cs b/BlazorSolution/MiniGames/Client/Program.cs
index 7ec2a47..d709778 100644
--- a/BlazorSolution/MiniGames/Client/Program.cs
+++ b/BlazorSolution/MiniGames/Client/Program.cs
@@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
+using MiniGames.Client.ViewModel;
using System;
using System.Collections.Generic;
using System.Net.Http;
@@ -18,6 +19,7 @@ namespace MiniGames.Client
builder.RootComponents.Add("#app");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
+ builder.Services.AddScoped();
await builder.Build().RunAsync();
}
diff --git a/BlazorSolution/MiniGames/Client/Shared/NavMenu.razor b/BlazorSolution/MiniGames/Client/Shared/NavMenu.razor
index 28b0525..88e8027 100644
--- a/BlazorSolution/MiniGames/Client/Shared/NavMenu.razor
+++ b/BlazorSolution/MiniGames/Client/Shared/NavMenu.razor
@@ -22,6 +22,11 @@
Fetch data
+
+
+ Schere Stein Papier
+
+
diff --git a/BlazorSolution/MiniGames/Client/ViewModel/ISchereSteinPapierEchseSpock.cs b/BlazorSolution/MiniGames/Client/ViewModel/ISchereSteinPapierEchseSpock.cs
new file mode 100644
index 0000000..6a7cf22
--- /dev/null
+++ b/BlazorSolution/MiniGames/Client/ViewModel/ISchereSteinPapierEchseSpock.cs
@@ -0,0 +1,18 @@
+using MiniGames.Shared.Models;
+
+namespace MiniGames.Client.ViewModel
+{
+ public interface ISchereSteinPapierEchseSpock
+ {
+ SchereSteinPapierEchseSpockModel RegelModel { get; set; }
+ string CPUHand(int index);
+ string HandAuswahl(string spielerHand);
+ string SpielerEchse(string spielerHand, string gegnerHand);
+ void SpielerErstellen(string name);
+ void SpielerInput(string spielerHand);
+ string SpielerPapier(string spielerHand, string gegnerHand);
+ string SpielerSchere(string spielerHand, string gegnerHand);
+ string SpielerSpock(string spielerHand, string gegnerHand);
+ string SpielerStein(string spielerHand, string gegnerHand);
+ }
+}
\ No newline at end of file
diff --git a/BlazorSolution/MiniGames/Client/ViewModel/SchereSteinPapierEchseSpock.cs b/BlazorSolution/MiniGames/Client/ViewModel/SchereSteinPapierEchseSpock.cs
index 7f8d52a..65f231f 100644
--- a/BlazorSolution/MiniGames/Client/ViewModel/SchereSteinPapierEchseSpock.cs
+++ b/BlazorSolution/MiniGames/Client/ViewModel/SchereSteinPapierEchseSpock.cs
@@ -3,9 +3,9 @@ using System;
namespace MiniGames.Client.ViewModel
{
- public class SchereSteinPapierEchseSpock
+ public class SchereSteinPapierEchseSpock : ISchereSteinPapierEchseSpock
{
- SchereSteinPapierEchseSpockModel RegelModel = new();
+ public SchereSteinPapierEchseSpockModel RegelModel { get; set; } = new();
public void SpielerErstellen(string name)
{
@@ -156,11 +156,14 @@ namespace MiniGames.Client.ViewModel
{
case "Gewonnen":
spieleModel.SpielerListe[0].Punkte += 1;
+ spieleModel.ergebnisAnzeige = "Gewonnen!";
break;
case "Verloren":
spieleModel.SpielerListe[1].Punkte += 1;
+ spieleModel.ergebnisAnzeige = "Verloren!";
break;
default:
+ spieleModel.ergebnisAnzeige = "Unentschieden!";
break;
}
diff --git a/BlazorSolution/MiniGames/Shared/Models/SchereSteinPapierEchseSpockModel.cs b/BlazorSolution/MiniGames/Shared/Models/SchereSteinPapierEchseSpockModel.cs
index 2421a44..3ea72f4 100644
--- a/BlazorSolution/MiniGames/Shared/Models/SchereSteinPapierEchseSpockModel.cs
+++ b/BlazorSolution/MiniGames/Shared/Models/SchereSteinPapierEchseSpockModel.cs
@@ -10,6 +10,8 @@ namespace MiniGames.Shared.Models
{
public List SpielerListe = new();
+ public string ergebnisAnzeige = "";
+
public string[] hand = new[]
{
"Stein",