Uni Projekt - Spiel Set

Timber2205

Mitglied
Hallo Community,

meine Gruppe und ich sollen in dem Programmierpraktikum der UNI das Spiel SET! nachbauen:

Das Kartenspiel SET

Bis jetzt ist auch alles schön und gut, aber hier nun das Problem:

Das Spiel besitzt einen Kartenstapel mit 81 Karten. Nun taucht aber folgende Eigenschaft auf (ich formuliere es mal umgangssprachlich:

stack.push(a): Aussehen des Stack: a
stack.push(b): Aussehen des Stack: bb
stack.push(c): Aussehen des Stack: ccc

Das heißt, beim ablegen einer neuen Karte nehmen alle vorhandenen Karte die Eigenschaft der neuen Karte an.
Hier nun der Quelltext:

Die Klasse Cardstack, also der Stapel von Karten im Spiel:
Java:
package mitStapel;

import java.util.Stack;


public class CardstackS {
	
	private Stack<Card> cStack;									// Array zur Verwaltung der Karten
	private int l;											// l dient als Referenz auf die oberste Karte
	
	public CardstackS(){
		cStack = new Stack();
		shuffle();
	}
	
	public void shuffle(){
		int check [][][][] = new int [3][3][3][3];
		for (int i=0; i<3; i++)								// 4-dim Array mit je 3 Elementen zum Einzelnachweis,
			for (int j=0; j<3; j++)							// das jede mögliche Eigenschaft nur einmal vergeben wurde/wird
				for (int k=0; k<3; k++)
					for (int l=0; l<3; l++)
						check[i][j][k][l]=0;				// 0 = n.v.		1 = vorhanden
		int n=0;											// n als Zähler für die do{}while(); Schleife
		do{	
			int a = (int)Math.round(Math.random()*2);		// 4 Zufallszahlen für die Eigenschaften
			int b = (int)Math.round(Math.random()*2);		
			int c = (int)Math.round(Math.random()*2);
			int d = (int)Math.round(Math.random()*2);
			if (check[a][b][c][d]==0){
				cStack.push(new Card(a,b,c,d));
				check[a][b][c][d]=1;
				n++;								
			}
			if (n==81){
				System.out.println("Kartenstapel erfolgreich gemischt!");
			}
			}while (n<81);
	}
	
	public Card top(){
		if (!cStack.isEmpty()){
			return cStack.peek();
		}
		return null;
	}
	
	public void pop(){
		cStack.pop();
	}

Die Karte
Java:
package mitStapel;

public class Card{
	
	private static int color, shape, number, inlay;
	
	public Card(int c, int s, int n, int i){
		color = c;
		shape = s;
		number = n;
		inlay = i;
	}
	
	/****************SET*****************/
	public static void setColor(int c){
		color=c;
	}
	public static void setShape(int s){
		shape=s;
	}
	public static void setNumber(int n){
		number=n;
	}
	public static void setInlay(int i){
		inlay=i;
	}
	
	/****************GET*****************/
	public int getColor(){
		return color;
	}
	public int getShape(){	
		return shape;
	}
	public int getNumber(){	
		return number;
	}
	public int getInlay(){	
		return inlay;
	}
}

Und meine Hauptklasse:
Java:
package mitStapel;

import java.awt.Color;


public class GameS{
	
	private Card c[];                    //verwaltet die aktuellen Karten auf dem Feld
	private CardstackS cs;
	private int n;
	
	public static void main (String[]args){
		GameS g = new GameS();
		
		g.cs = new CardstackS();
		
		g.n = 12;                     //Anzahl der KArten am Anfang
		g.c = new Card[21];           //21 sind die maximale Anzahl von Karten, damit ein Set vorliegen muss
		for (int i=0; i<21; i++){
			g.c[i] = g.cs.top();
			g.cs.pop();
			
			//System.out.println(i+".  "+g.c[i].getColor()+ " " + g.c[i].getInlay()+ " " + g.c[i].getNumber()+ " " + g.c[i].getShape());
		}
		
	}
}
 

Landei

Top Contributor
Java:
public class Card{
    
    private static int color, shape, number, inlay;
    ...

Wenn sich alle Karten diese Variablen teilen müssen, ist das Verhalten kein Wunder :p

Also sei nicht so geizig und spendiere jeder Karte ihren eigenen Satz Member, indem du das static weglässt!
 

kay73

Bekanntes Mitglied
Java:
public class Card{
    
    private static int color, shape, number, inlay;
    ...

Wenn sich alle Karten diese Variablen teilen müssen, ist das Verhalten kein Wunder :p
Das mit dem
Code:
static
hatte ich vollends aus meiner Wahrnehmung gestrichen. Vielleicht muss ich das Spiel auch mal spielen.

Aber Eure
Code:
shuffle()
-Funktion ist echt zum Fürchten:
Java:
	class Card {
		public int color, shape, number, inlay;	
		
		public Card (final Card card) {
			this.color = card.color;
			this.shape = card.shape;
			this.number = card.number;
			this.inlay = card.inlay;
		}
		
		public Card() {}
	}
	
	public Stack<Card> shuffle() {
	       		
		final Stack<Card> cardStack = new Stack<Card>();
		        
		final Card card = new Card();
		for (int i=0 ; i < 3; i++) {			
        	card.color = i;
            for (int j = 0 ; j < 3; j++) {
            	card.shape  = j;
                for (int k = 0 ; k < 3; k++) {
                	card.number= k;
                    for (int l = 0 ; l < 3; l++) {
                    	card.inlay= l;
                    	cardStack.push(new Card(card));
                    }
                }
            }
       }
		
	   Collections.shuffle(cardStack);
	   return cardStack;
	}
 
Zuletzt bearbeitet:

Timber2205

Mitglied
Meine Shuffle-Funktion ist genial :p

Mit deiner Methode würden wir die Karten einfach linear erzeugen, da wäre nichts gemischt, einfach bei jedem Spiel die gleichen Karten, das mach doch keiner :p
 

ice-breaker

Top Contributor
Java:
List<Card> cards = cstack.subList(0, cstack.size());
Collections.shuffle(cards);
cstack.clear();
cstack.addAll(cards);
 

Landei

Top Contributor
Sollte nicht einfach
Java:
Collections.shuffle(cstack);
gehen? Schließlich erbt Stack von Vector, ist also eine Liste
 

Timber2205

Mitglied
Also:

Euren Algorithmus werde ich später einbauen. Nun geht es erst einmal darum, dass meine Gruppe bis DO noch eine GUI hin bekommt. Irgendwie machen die alles auf den letzten Drücker ???:L
Aber nochmals danke für die sehr flotte Hilfe :toll:
 

energy

Neues Mitglied
hallo an alle,
ich habe ne frage. Wenn man disen Code auf der konsole ausgeben lässt, kommen da nur zahlen raus, für die eigenschaften der karten. wie werden die karten farbig abgebildet ?
das geht zwar mit java graphics, aber wie macht man denn sowas?
 

Timber2205

Mitglied
Kennt man sich zufällig aus dem ProPra der HHU ?

Also kommt drauf an, wie du das Spiel realisieren möchtest. Du kannst die Karten selber zeichnen, Icons erstellen lassen oder...oder...oder...
 

energy

Neues Mitglied
kann ja sein vielleicht;-)

es soll nicht so kompliziert sein. Was ist denn einfacher, das mit den Icons oder mit dem Zeichnen. Aber weiss trotzdem nicht wie ich das so genau machen könnte.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
hdi Suche Partner für Hobby-Projekt: 2D-Strategie-Spiel Spiele- und Multimedia-Programmierung 86
H Das JAVA-FORUM.ORG/DE-Spiel Projekt Spiele- und Multimedia-Programmierung 228
D BlueJ Ufo-Projekt Spiele- und Multimedia-Programmierung 10
P [Projekt] Star Four - Sci-Fi RPG Spiele- und Multimedia-Programmierung 0
P [Projekt] Radioplayer Spiele- und Multimedia-Programmierung 2
Androbin "Projekt Library" Spiele- und Multimedia-Programmierung 3
M Minecraft weitere Java Entwickler für minecraft projekt gesucht Spiele- und Multimedia-Programmierung 0
A Jogl-Projekt unter 32-Bit kompiliert und unter 64-Bit ausführen, geht das überhaubt ?? Spiele- und Multimedia-Programmierung 9
P Frage zu einem Projekt "Einarmiger Bandit" 3 Walzen / 9 Zeichnungen BLUEJ Spiele- und Multimedia-Programmierung 10
Kenan89 Kleines Projekt für Java Spiele- und Multimedia-Programmierung 5
F "Doodle Jump" Projekt Spiele- und Multimedia-Programmierung 8
1 [Java3D] komplexes Projekt? Spiele- und Multimedia-Programmierung 10
J Java Projekt Black Jack Spiele- und Multimedia-Programmierung 25
Developer_X Amerika-der Erste Kontakt- Projekt- Wer hat Lust mitzumachen? Spiele- und Multimedia-Programmierung 21
D STARTHILFE gesucht !! Java-Projekt für Schule !! Spiele- und Multimedia-Programmierung 73
hdi Das java-forum.org 2D-Game Projekt/Tutorial Spiele- und Multimedia-Programmierung 6
P Suche Leute für ein Hobby-Projekt (Browser Game) Spiele- und Multimedia-Programmierung 4
I Projekt x3j: XML für J3D: Interesse? Spiele- und Multimedia-Programmierung 3
D 4 gewinnt Projekt Spiele- und Multimedia-Programmierung 2
S Gesucht: Java Profis für MMOG Projekt Spiele- und Multimedia-Programmierung 2
T Größeres Spiele Projekt - einige Fragen zur Umsetzung Spiele- und Multimedia-Programmierung 3
B Server für Spiel aufsetzen, was Shutdown ist Spiele- und Multimedia-Programmierung 3
xFearofdarkness Feinde überlappen sich in Java Spiel Spiele- und Multimedia-Programmierung 3
ItundMathe1994 TicTacToe Spiel programmieren Spiele- und Multimedia-Programmierung 2
JEP1 Hilfe bei Spiel Spiele- und Multimedia-Programmierung 1
P Pokemon Spiel Funktioniert nicht ? Spiele- und Multimedia-Programmierung 3
Leon.tr3x Mein erstes Programm/Spiel Spiele- und Multimedia-Programmierung 10
O Texas Hold'em Poker als Online-Spiel mit Freunden Spiele- und Multimedia-Programmierung 5
Drachenbauer Speicher-Tool für ein Spiel schreiben Spiele- und Multimedia-Programmierung 13
M Spiel Mühle-Programmierung Java Spiele- und Multimedia-Programmierung 9
Excess Spiel abzugeben Spiele- und Multimedia-Programmierung 1
I Superhelden - Spiel Spiele- und Multimedia-Programmierung 14
E Hauptmenü und Spiel ???? Spiele- und Multimedia-Programmierung 2
L Sound in Java Spiel Spiele- und Multimedia-Programmierung 5
R Interaktives Spiel Spiele- und Multimedia-Programmierung 5
L Spiel im Editor testen Spiele- und Multimedia-Programmierung 4
Jackii dispatchUncaughtException in Quiz Spiel mit GUI Layout Spiele- und Multimedia-Programmierung 6
D Textbasiertes Spiel Spiele- und Multimedia-Programmierung 8
K Android Spiel Programmieren Spiele- und Multimedia-Programmierung 6
L BrickBreaker Spiel Spiele- und Multimedia-Programmierung 3
A Spiel Figur ansprechen und bewegen Spiele- und Multimedia-Programmierung 3
it_is_all Dialogbox im Spiel - Text in Blöcke aufteilen Spiele- und Multimedia-Programmierung 4
F Koordinieren und Essen von Snake - Spiel Spiele- und Multimedia-Programmierung 14
G Entity Verwaltung in einem 2D Spiel Spiele- und Multimedia-Programmierung 1
E Möchte Spiel Programmieren Spiele- und Multimedia-Programmierung 7
S Connect6 Spiel - Code in ei Spiele- und Multimedia-Programmierung 2
A Spiel nach Abfrage beenden oder neustarten Spiele- und Multimedia-Programmierung 1
G Welten Generierung 2D Spiel Spiele- und Multimedia-Programmierung 4
G Java 2D Spiel mit LWJGL verbinden Spiele- und Multimedia-Programmierung 1
N Problem mit 2D Spiel Spiele- und Multimedia-Programmierung 17
T Probleme bei "Pixel-Fighting"-Spiel: Unausgewogene Mannschaften??? Spiele- und Multimedia-Programmierung 4
R Pong Spiel Problem Spiele- und Multimedia-Programmierung 1
L Coordinate Space JavaFX 2d Spiel Spiele- und Multimedia-Programmierung 0
C Vier Gewinnt Spiel Programmiertipp Spiele- und Multimedia-Programmierung 11
N Jump and run Spiel - wo anfangen / weitermachen? Spiele- und Multimedia-Programmierung 11
K Spiel zum zuordnen von Dienstgraden und Dienstgradabzeichen Spiele- und Multimedia-Programmierung 5
M Textbasiertes Spiel programmieren Spiele- und Multimedia-Programmierung 4
T 2d-Spiel Licht Spiele- und Multimedia-Programmierung 5
S Jump 'n' Run-Spiel Kollisionserkennung Spiele- und Multimedia-Programmierung 3
T Spiel rendern Spiele- und Multimedia-Programmierung 2
Grevak Sounds im Spiel Spiele- und Multimedia-Programmierung 5
B Fehlerhafte Mob Bewegungen in Tower Defense Spiel Spiele- und Multimedia-Programmierung 2
F Spiel ähnlich wie SimCity/o.ä programmieren Spiele- und Multimedia-Programmierung 5
X Erklärung zu einem Tic Tac Toe Spiel Spiele- und Multimedia-Programmierung 1
I Spectator Modus für Spiel ähnlich zu Terraria Spiele- und Multimedia-Programmierung 8
I Textbasiertes Spiel - Umsetzungsfrage & Schleifen Problem Spiele- und Multimedia-Programmierung 26
M Kollisions abfrage bei 3D spiel? Spiele- und Multimedia-Programmierung 12
D JAVA Basiertes Spiel aus dem Internet in eigenem Client laden Spiele- und Multimedia-Programmierung 1
P [Spiel]Welche Bilder sind gleich Spiele- und Multimedia-Programmierung 2
E GUI zum Spiel hinzufügen Spiele- und Multimedia-Programmierung 19
S 2D Spiel - Physics Spiele- und Multimedia-Programmierung 16
S 2D Spiel "Der Sprung" Spiele- und Multimedia-Programmierung 7
A 2D Spiel ohne Tiles Spiele- und Multimedia-Programmierung 10
V welche vorgehensweise beforzieht ihr bei einfachem Quizz Spiel ? Spiele- und Multimedia-Programmierung 4
S Quaxli's Heli Spiel läuft nicht nach Plan Spiele- und Multimedia-Programmierung 2
G Methode sleepen während das Spiel weiterläuft Spiele- und Multimedia-Programmierung 3
T Spiel Überprüfung Spiele- und Multimedia-Programmierung 3
P Spiel laggt nach unbestimmter Zeit tierisch. Spiele- und Multimedia-Programmierung 27
S Hilfe bei Spiel Spiele- und Multimedia-Programmierung 6
B Hauptmenü für Spiel Spiele- und Multimedia-Programmierung 1
W Spiel ist langsam/laggt Spiele- und Multimedia-Programmierung 18
J Ascii Spiel Spiele- und Multimedia-Programmierung 1
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
O Vollständige Musik in Spiel einbauen (wav - Format) Spiele- und Multimedia-Programmierung 8
Y Quiz Spiel Spiele- und Multimedia-Programmierung 1
J Conways Spiel des Lebens nachprogrammiert Spiele- und Multimedia-Programmierung 1
B Spiel Programmieren, die Anfänge Spiele- und Multimedia-Programmierung 6
D [OpenGL] Spiel in der Art von Age of Empires Spiele- und Multimedia-Programmierung 4
lord239123 suche Graphiker für ein Pokemon-Spiel Spiele- und Multimedia-Programmierung 6
S Spiel installeren lassen und organisieren Spiele- und Multimedia-Programmierung 3
J Lichtupdate in tile-basiertem Spiel Spiele- und Multimedia-Programmierung 4
P Erstes Spiel (Strategie) Spiele- und Multimedia-Programmierung 31
J Mein erstes Spiel [Spielevorstellung] Spiele- und Multimedia-Programmierung 2
Bananabert Spiel Renderer Images und Strings Spiele- und Multimedia-Programmierung 4
N Spiel Menü error ! Spiele- und Multimedia-Programmierung 5
S Anfangsmenü mit Spiel verknüpfen Spiele- und Multimedia-Programmierung 16
S Spiel ruckelt trotz 50 fps Spiele- und Multimedia-Programmierung 16
D Spiel-Bilddaten auswerten Spiele- und Multimedia-Programmierung 7
Creylon [LWJGL] Spiel Exportieren Spiele- und Multimedia-Programmierung 2
L Hilfe bei Klassendesign für Spiel Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen


Oben