Java-Code

Wirtschaftsinformatiker

Bekanntes Mitglied
Kann mir jemand die Methode besetztePosition erklären?
Java:
public class SpielfeldInteger implements Spielfeld
{
    private int spielInt;
    
    /**
     * Initialisiert ein neues, leeres Spielfeld.
     */
    public SpielfeldInteger() {
        spielInt = 0x00000;//2AAAA
        // 0000 0000 0000 0000 0000;
    }

    /**
     * Gibt den Besitzer der angegebenen Position auf dem Spielfeld.
     *
     * @param zeile  vertikale Position (0-2)
     * @param spalte horizontale Position (0-2)
     * @return 0 (unbesetzt), 1 (Spieler 1), 2 (Spieler 2)
     */
    public int gibBesitzer(int zeile, int spalte) {
        int schiebung = (zeile*3*2)+(spalte*2);
        int geschobenerInt = spielInt>>>schiebung;
        //System.out.println(Integer.toBinaryString(geschobenerInt));
        
        //System.out.println((geschobenerInt&3));
        if((geschobenerInt&3) == 2) {
            return 1;
        } else if((geschobenerInt&3) == 3) {
            return 2;
        } else {
            return 0;
        }
    }

    /**
     * Besetzt die angegebene Position auf dem Spielfeld fuer einen Spieler.
     *
     * @param zeile   vertikale Position (0-2)
     * @param spalte  horizontale Position (0-2)
     * @param spieler 0 (leer), 1 (Spieler 1), 2 (Spieler 2)
     */
    public void besetzePosition(int zeile, int spalte, int spieler) {
        int setzung;
        if(spieler == 1 || spieler == 2) {
            setzung = (spieler+1)<<(zeile*3*2)+(spalte*2);
            spielInt = spielInt|setzung;
        }
        else if(spieler == 0) {
            setzung = ~(3<<(zeile*3*2)+(spalte*2));
            spielInt = spielInt&setzung;
        }
        
        
    }

    /**
     * Gibt an, ob das Spielfeld an allen Positionen belegt ist.
     */
    public boolean istVoll() {
        return ((spielInt&0x2AAAA) == 0x2AAAA);
    }
}
 

osion

Bekanntes Mitglied
Die Methode ermöglicht, die angegebene Position auf dem Spielfeld (bestehend aus einer Zeile und einer Spalte) für einen Spieler zu besetzen. Dazu wird zunächst eine Variable setzung initialisiert, die entweder der Wert 2 oder 3 hat, je nachdem, ob der Spieler 1 oder 2 ist. Anschließend wird die Variable setzung mit einem Bit-Shift um die entsprechenden Anzahl von Stellen nach links verschoben und dann mit dem aktuellen Wert von spielInt mit einem Bitweisen OR-Operator verknüpft, um die entsprechenden Bits in spielInt zu setzen. Wenn der Spieler 0 ist, wird stattdessen eine Bitmaske erstellt, die alle Bits auf 0 außer denen an der entsprechenden Position setzt, und spielInt wird mit dieser Maske verknüpft, um die entsprechenden Bits auf 0 zu setzen.

Es gibt einiges zu verbessern, z. B. 0x00000 -> 0.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
N Java-Code abwärtskompatibel machen Java Basics - Anfänger-Themen 4
Aemulit Java Schaltjahr berechnen Code Java Basics - Anfänger-Themen 7
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
I Erklärung zum Java Code Java Basics - Anfänger-Themen 2
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
Gaudimagspam Caesars Code entziffern in Java Java Basics - Anfänger-Themen 8
X Reverse algorithm engineering (Java code) Java Basics - Anfänger-Themen 6
M Java Code Verständnis Java Basics - Anfänger-Themen 4
M Java Code Verständnis Java Basics - Anfänger-Themen 2
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
C Klassendiagramm aus Java-Code entwickeln Java Basics - Anfänger-Themen 3
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
T Java Code erklären Java Basics - Anfänger-Themen 7
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
E ASCII-Code in Java ausgeben Java Basics - Anfänger-Themen 6
L Wie kann man fehlerfrei im Java Code auf die fxml Datei zugreifen? Java Basics - Anfänger-Themen 26
D Text als Code in java-forum.com formatieren. Wie ? Java Basics - Anfänger-Themen 3
P Java-Code funktioniert nicht Java Basics - Anfänger-Themen 13
snipesss Java-Code gedownloaded, funktioniert aber nicht? Java Basics - Anfänger-Themen 9
T Java Code erklären Java Basics - Anfänger-Themen 5
S Hinweis zu Fehler im Kalender-Code - Aufgabe 5.3 aus Grundkurs Programmieren in Java 7. Auflage Java Basics - Anfänger-Themen 4
A Zeichentool mit automatischer Java Code Erstellung Java Basics - Anfänger-Themen 1
Nicole1989 Was Bewirkt dieser Java Code? Java Basics - Anfänger-Themen 4
S Input/Output JS Source code in Java nutzen Java Basics - Anfänger-Themen 1
J Java was Started but Returned Exit Code=13 in Eclipse Java Basics - Anfänger-Themen 13
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
I Java Code so gut es geht Kommentieren Java Basics - Anfänger-Themen 4
K Suche Hilfe bei einfachem Java Code ( Debuggen ) Java Basics - Anfänger-Themen 1
T Java Code Hilfe - public void xxx() Java Basics - Anfänger-Themen 2
C CMD Befehl + Variable im Java-Code ausführen Java Basics - Anfänger-Themen 8
B Variablen im Java-Code selber "ausrechnen" Java Basics - Anfänger-Themen 8
O Rätsel Java Code Java Basics - Anfänger-Themen 8
O Forum: Per Java-Code anmelden? Java Basics - Anfänger-Themen 2
E Mein erstes Java Projekt - Sauberer code? Java Basics - Anfänger-Themen 28
M Code recompilen mit älterem Java Java Basics - Anfänger-Themen 3
C Fehler in Java-Code finden Java Basics - Anfänger-Themen 17
K Java source code generieren Java Basics - Anfänger-Themen 5
H Java- Source Code Java Basics - Anfänger-Themen 8
F uralter Java Code Java Basics - Anfänger-Themen 3
L Library nötig, obwohl nicht in Java-Code verwendet Java Basics - Anfänger-Themen 4
N Mac - Java Code aus dem Forum kopieren Java Basics - Anfänger-Themen 12
J VB Code mit Java ausführen lassen? Java Basics - Anfänger-Themen 2
W Java-Code auf Konsole ausgeben - Wie? Java Basics - Anfänger-Themen 10
K Java Code rechnen Java Basics - Anfänger-Themen 7
S Hilfe - java.lang.RuntimeException: Uncompilable source code - incompatible types Java Basics - Anfänger-Themen 10
A Stück Java code im laufenden Betrieb einlesen und ausführen Java Basics - Anfänger-Themen 9
V Vom Aktivitätsdiagramm zum Java-Code Java Basics - Anfänger-Themen 12
saxman Java Source Code Download Java Basics - Anfänger-Themen 2
H Hilfe bei Java Code Java Basics - Anfänger-Themen 3
X Objektorientierte Java Programmierung - 3 Fragen zum Code Java Basics - Anfänger-Themen 5
astralarse JNI: Echt(!) nativen Code in Java ausführen? Java Basics - Anfänger-Themen 6
C Bäume in Java. Code funktioniert nicht Java Basics - Anfänger-Themen 12
zilti Externen Java-Code laden Java Basics - Anfänger-Themen 3
G Java Code -> RTF Java Basics - Anfänger-Themen 6
G source code von Java classes Java Basics - Anfänger-Themen 12
G Jar-File erzuegen, das Code a verschiedenen Java Versionen? Java Basics - Anfänger-Themen 4
D Probleme bei Code Portierung von C# nach Java [Gelöst] Java Basics - Anfänger-Themen 4
L UML in Java-Code Java Basics - Anfänger-Themen 5
J Java-Code in UML 2.0 Java Basics - Anfänger-Themen 38
D Java Code verbessern? Java Basics - Anfänger-Themen 8
B Java 1.0 Code in NetBeans IDE 5.0 ??? Java Basics - Anfänger-Themen 4
M Benutzung von fremden Java-Code mit Eclipse Java Basics - Anfänger-Themen 3
M Source Code von java.util.SubList Java Basics - Anfänger-Themen 2
G PHP Code -> Java Code Java Basics - Anfänger-Themen 6
M Aus WSDL Java-Code generieren. Java Basics - Anfänger-Themen 1
C Problem mit Code aus "Sprechen Sie Java" Java Basics - Anfänger-Themen 13
D HTML code in java generieren. Java Basics - Anfänger-Themen 6
S Java Compiler? oder doch der Code? Java Basics - Anfänger-Themen 6
F Fehler im Java Code, hilfe? Java Basics - Anfänger-Themen 9
A aus Java-Code eine jar-Datei ausführen Java Basics - Anfänger-Themen 8
B Code von Java-Funktionen einsehen Java Basics - Anfänger-Themen 2
M String als Java-Code ausführen Java Basics - Anfänger-Themen 4
B Wie funktioniert die implementierung von c code in Java? Java Basics - Anfänger-Themen 7
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben