-
Notifications
You must be signed in to change notification settings - Fork 0
/
PlayRockPaperScissors.cs
101 lines (83 loc) · 4.27 KB
/
PlayRockPaperScissors.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
using System;
using static System.Console;
namespace Robber
{
public class PlayRockPaperScissor
{
public void Game()
{
var illustrations = new Illustrations(); // Instansiera klassen Illustrations
var robberDen = new RobberDen(); // Instansiera klassen robberden
var writeMenu = new WriteMenu(); // Instansiera klassen writemenu
illustrations.RockPaperScissors(); // Anropa och hämta Rockpaperscissors header
WriteLine();
WriteLine(" Det är dags för den årliga prestigefyllda tävlingen Sten Sax Påse.");
WriteLine(" Kan du slå förra årets vinnare Ås-pelle?");
WriteLine(" Bäst av tre!");
writeMenu.WriteEndOfGameMenu(); // Hämta och skriv ut input val
WriteLine();
bool round = true; // Sätt en bool till true för en loop
int playerCount = 0; // Sätt till 0
int computerCount = 0; // Sätt till 0
while (round) // Loop så längee som round = true
{
CursorVisible = true; // Visa cursor
WriteLine();
Write(" Sten sax eller påse? ");
string userInput = Console.ReadLine().ToLower(); // spara input i variabel, gör om till gemener
if (userInput == "sten" || userInput == "sax" || userInput == "påse") // Om input är som det ska
{
Random randomNr = new Random(); // Använd slumpade nummer, instansiera klassen
string[] hands = { "sten", "sax", "påse" }; // stringarray med händerna
int randomNumber = randomNr.Next(0, 3); // Låt datorn slumpa ett nummer mellan 1 och 3
string computerHand = hands[randomNumber]; // gör om till string
Clear();
WriteLine();
WriteLine($" Ås-Pelle spelade {computerHand}");
WriteLine();
if (computerHand == userInput) // Om datorhand och input är samma
{
Points(playerCount, computerCount); // Skriv ut poängtavla
WriteLine(" Det blev lika!");
}
else if (
computerHand == "sten" && userInput == "sax" ||
computerHand == "sax" && userInput == "påse" ||
computerHand == "påse" && userInput == "sten") // Om datorhand vinner
{
computerCount += 1; // Lägg till ett poäng
Points(playerCount, computerCount); // Skriv ut poängtavla
WriteLine(" Ett poäng till Ås-pelle..");
}
else
{
playerCount += 1; // Lägg till ett poäng
Points(playerCount, computerCount); // Skriv ut poängtavla
WriteLine(" Bra! Ett poäng!");
}
if (playerCount >= 3 && playerCount > computerCount) // player har mer än 3 poäng och mer än ås-pelle
{
illustrations.Chief(); // Hämta och skriv ut chief
round = false; // Hoppa ur loopen
}
else if (computerCount >= 3 && playerCount < computerCount) // Om ås-pelle har mer än 3 poäng och mer än player
{
WriteLine();
WriteLine(" Du förlorade.. Typiskt! Ett år till med Ås-pelle på tronen.");
round = false; // Hoppa ur loopen
}
}
} // slut på while
writeMenu.WriteEndOfGameMenu(); // Hämta och skriv ut input val
Game(); // Starta spelet igen
}
static void Points(int playerCount, int computerCount) // Funktion för att skriva ut poängtavla, skickar med poängen
{
ForegroundColor = ConsoleColor.Magenta; // Ändra färg
WriteLine(" | Du | Ås-pelle |");
WriteLine($" | {playerCount} | {computerCount} |");
ForegroundColor = ConsoleColor.White;
WriteLine();
}
}
}