Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
I
Inf2Pr_SoSe23_Gruppe03_UNO
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Inf2Pr_SoSe23_Gruppe03_UNO
Inf2Pr_SoSe23_Gruppe03_UNO
Commits
7bd10354
Commit
7bd10354
authored
2 years ago
by
Justin Klein
Browse files
Options
Downloads
Patches
Plain Diff
Replace UNO.java
parent
dd318911
No related branches found
No related tags found
1 merge request
!1
Der große Merge
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/UNO.java
+2
-148
2 additions, 148 deletions
src/UNO.java
with
2 additions
and
148 deletions
src/UNO.java
+
2
−
148
View file @
7bd10354
import
java.util.Scanner
;
public
class
UNO
{
public
static
void
main
(
String
[]
args
)
{
//Die benötigten Klassen werden aufgerufen
UnoDeck
deck
=
new
UnoDeck
();
Regelwerk
regel
=
new
Regelwerk
();
Scanner
scanner
=
new
Scanner
(
System
.
in
);
// Sobald start geschrieben wurde, wird das ganze spiel erstellt
System
.
out
.
println
(
"Zum Starten, Start schreiben"
);
String
start
=
scanner
.
nextLine
();
if
(
"start"
.
equals
(
start
.
toLowerCase
()))
{
deck
.
befuellen
();
//Befüllt das deck
deck
.
mischeHand
();
//mischehand mischt das Deck
regel
.
reihenfolgeFestlegen
();
regel
.
wunschFestlegen
();
//
//Spieler Namen Abfrage und Anzahl der Spieler
System
.
out
.
println
(
"Kurze Information: mind. 2 Player max. 4 Player"
);
System
.
out
.
println
(
"Enter Player Names:"
);
int
index
;
int
PlayerAnzahl
=
0
;
String
Antwort
;
String
PlayerNameInput
;
String
PlayerName
[]
=
{
"Joy Bot"
,
"Note Bot"
,
"Quick Bot"
,
"CyBot"
};
//Spielernamen werden befüllt
for
(
index
=
0
;
index
<
4
;
)
{
PlayerAnzahl
++;
PlayerNameInput
=
scanner
.
nextLine
();
PlayerName
[
index
]
=
PlayerNameInput
;
index
++;
if
(
index
>=
2
)
{
System
.
out
.
println
(
"Sind das die Maximalen Spieler?"
);
Antwort
=
scanner
.
nextLine
();
if
(
"ja"
.
equals
(
Antwort
.
toLowerCase
()))
{
index
=
4
;
}
else
if
(
index
!=
4
)
{
System
.
out
.
println
(
"Weitere Spieler:"
);
}
}
}
//Die Klasse Spielerhand wird aufgerufen und die PlayerName Paramentern werden übergeben
SpielerHand
spielerHand
=
new
SpielerHand
(
PlayerName
[
0
],
PlayerName
[
1
],
PlayerName
[
2
],
PlayerName
[
3
]);
spielerHand
.
befuelleSpieleHand
(
0
,
deck
,
7
);
spielerHand
.
befuelleSpieleHand
(
1
,
deck
,
7
);
spielerHand
.
befuelleSpieleHand
(
2
,
deck
,
7
);
spielerHand
.
befuelleSpieleHand
(
3
,
deck
,
7
);
//GameLoop:
boolean
win
=
false
;
int
zug
=
1
;
UnoKarte
aktuelleKarte
=
regel
.
ersteKarte
(
deck
,
zug
,
deck
.
hand
.
size
());
int
legeKarte
;
boolean
geht
=
false
;
//Das boolean hilft bei der kontrolle, ob die Karte legbar ist!!!!
while
(!
win
)
{
//Zug wird gestartet, sobald start geschrieben wird
System
.
out
.
println
(
"Zum Zug Starten, Start schreiben"
);
if
(
"start"
.
equals
(
scanner
.
nextLine
().
toLowerCase
()))
{
System
.
out
.
println
(
"Die Aktuelle Karte: \n"
+
aktuelleKarte
);
zug
++;
int
spieler
=
regel
.
reihenfolge
();
spielerHand
.
zeigeHaende
(
spieler
);
System
.
out
.
println
(
"legen oder ziehen"
);
//Karte Legen
if
(
"legen"
.
equals
(
scanner
.
nextLine
().
toLowerCase
()))
{
System
.
out
.
println
(
"Welche Karte?(Index)"
);
legeKarte
=
Integer
.
parseInt
(
scanner
.
nextLine
());
UnoKarte
neueKarte
=
spielerHand
.
spielerHaende
.
get
(
spieler
).
get
(
legeKarte
-
1
);
geht
=
true
;
//Wenn Karte legbar, wird Karte gelegt
if
(
geht
==
regel
.
karteLegbar
(
aktuelleKarte
,
neueKarte
,
PlayerName
,
deck
,
spielerHand
))
{
spielerHand
.
entferneKarteHand
(
spieler
,
legeKarte
,
deck
,
zug
);
System
.
out
.
println
(
"karte wurde gelegt"
);
aktuelleKarte
=
neueKarte
;
geht
=
false
;
//Karte kann nicht gelegt werden
}
else
{
while
(
geht
==
true
)
{
System
.
out
.
println
(
"Die Aktuelle Karte: \n"
+
aktuelleKarte
);
System
.
out
.
println
(
"karte wurde nicht gelegt"
);
System
.
out
.
println
(
"Weiterhin legen?(ja/nein)"
);
//Karte legen wenn ja geschrieben wird
if
(
"ja"
.
equals
(
scanner
.
nextLine
().
toLowerCase
()))
{
System
.
out
.
println
(
"Welche Karte?(Index)"
);
legeKarte
=
Integer
.
parseInt
(
scanner
.
nextLine
());
neueKarte
=
spielerHand
.
spielerHaende
.
get
(
spieler
).
get
(
legeKarte
-
1
);
//Wenn Karte legbar, wird Karte gelegt
if
(
geht
==
regel
.
karteLegbar
(
aktuelleKarte
,
neueKarte
,
PlayerName
,
deck
,
spielerHand
))
{
spielerHand
.
entferneKarteHand
(
spieler
,
legeKarte
,
deck
,
zug
);
aktuelleKarte
=
neueKarte
;
System
.
out
.
println
(
"karte wurde gelegt"
);
geht
=
false
;
}
// Karte ziehen wenn ja nicht geschrieben wird
}
else
{
spielerHand
.
befuelleSpieleHand
(
spieler
,
deck
,
1
);
System
.
out
.
println
(
"Karte wurde gezogen"
);
geht
=
false
;
}
}
}
//Karte Ziehen
}
else
{
spielerHand
.
befuelleSpieleHand
(
spieler
,
deck
,
1
);
int
size
=
spielerHand
.
spielerHaende
.
get
(
spieler
).
size
();
System
.
out
.
println
(
"Die Aktuelle Karte: \n"
+
aktuelleKarte
);
System
.
out
.
println
(
"Gezogene Karte: "
+
spielerHand
.
spielerHaende
.
get
(
spieler
).
get
(
size
-
1
));
System
.
out
.
println
(
"legen oder behalten?"
);
//Gezogene Karte legen
if
(
"legen"
.
equals
(
scanner
.
nextLine
().
toLowerCase
()))
{
UnoKarte
neueKarte
=
spielerHand
.
spielerHaende
.
get
(
spieler
).
get
(
size
-
1
);
System
.
out
.
println
(
neueKarte
);
geht
=
true
;
//Karte ist legbar
if
(
geht
==
regel
.
karteLegbar
(
aktuelleKarte
,
neueKarte
,
PlayerName
,
deck
,
spielerHand
))
{
spielerHand
.
entferneKarteHand
(
spieler
,
size
,
deck
,
zug
);
System
.
out
.
println
(
"karte wurde gelegt"
);
aktuelleKarte
=
neueKarte
;
geht
=
false
;
//Karte ist nicht legbar
}
else
{
System
.
out
.
println
(
"Karte wurde nicht gelegt"
);
}
}
}
//Wenn nur eine Karte vorhanden -> UNO
if
(
spielerHand
.
spielerHaende
.
get
(
spieler
).
size
()
==
1
){
System
.
out
.
println
(
"Möchtest du Uno sagen?"
);
//Wenn uno eingegeben wird -> weitermachen
if
(
"uno"
.
equals
(
scanner
.
nextLine
().
toLowerCase
())){
continue
;
// Falls nicht -> 1 ziehen
}
else
{
spielerHand
.
befuelleSpieleHand
(
spieler
,
deck
,
1
);
}
}
//Spieler gewinnt wenn 0 Karten in der Hand ist und Spieler werden nach den Anzahl der Karten gewertet
if
(
spielerHand
.
spielerHaende
.
get
(
spieler
).
size
()
==
0
){
spielerHand
.
ranking
();
win
=
true
;
}
}
}
}
RunGame
rungame
=
new
RunGame
();
rungame
.
Start
();
}
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment