Ich habe ein Roulette in Java gemacht.

Die Geschichte der Erstellung eines Roulette-Spiels in Java

Einführung

SLP KBIT Advent Calendar 2018 12/5 Ich habe ein Roulette mit Java in einem Universitätsversuch gemacht, also werde ich es vorstellen. GitHub. Ursprünglich hatte ich vor, ein weiteres [Artefakt] einzuführen (https://github.com/Hukanzen/Linux-Monitor), aber ich konnte es nicht beenden, weil ich nicht genug Zeit hatte.

Was ist ein Roulette?

Der im Casino. Wikipedia. Es gibt amerikanischen und europäischen Stil. Im amerikanischen Stil existiert 0/00 zusätzlich zu den Zahlen 1 bis 36. Der europäische Stil ist nur 0. Dieses Mal dachte ich zur Vereinfachung der Programmierung, dass eine gerade Zahl bequemer sei, und übernahm daher den amerikanischen Stil.

Sprache

Wir haben die Operation mit Java> = 9 bestätigt. Der Grund für die Verwendung von Java ist, dass es im Experiment angegeben wurde. schwer.

Ursprüngliche Regel

Einige Regeln wurden der Einfachheit halber vereinfacht.

Spielfluss

  1. Legen Sie fest, wo und wie viel der Spieler setzt
  2. Lotterie
  3. Zahlungsabwicklung
  4. Insolvenzurteil, wenn (Insolvenz) zu 6 geht
  5. goto 1.
  6. Beenden

Original Design

Es gibt spezielle Orte im Roulette wie SMALL und RED. Dies wird unter Verwendung der folgenden Werte als int-Typ ausgedrückt. Ich möchte es durch Aufzählung ersetzen.

Zahlen Wert
0 0
... ...
36 36
37 00
38 SMALL
39 MIDDLE
40 LARGE
41 LOW
42 HIGH
43 PARILLINEN(Sogar)
44 PARITON(Seltsam)
45 RED
46 BLACK

Zustand während des Betriebs

  1. Wetttabelle picTable.png

  2. Roulette-Scheibe picBall.png

Klassendesign

Progress

InforMation

AnyNumMoney Es gibt die folgenden Variablen.

Als statische Variable werden außerdem der Ort, an dem Sie setzen, und die Häufigkeit, mit der Sie Geld verdienen, separat gespeichert. Wenn Sie dies als Array behandeln, können Sie festlegen, wo und wie viel Sie setzen, und Sie können die Nummer in dem Array ermitteln, in dem der nächste Wert gespeichert ist. Es wird als öffentliche Methode zurückgesetzt. Dies initialisiert alle Werte.

Table

Verwenden Sie die anyNumNomeyNormailize-Methode, um das AnyNumMoney-Array zu normalisieren. Dies liegt daran, dass das Element, das nur den Platz zum Wetten oder nur das Geld spart und den anderen nicht spart, nutzlos ist und annulliert wird. Die öffentlichen Methoden sind wie folgt.

  1. void setLock(beelean) Sie können nicht wetten. In einem tatsächlichen Casino können Sie aufgrund des Zeitlimits nicht wetten. Realisiere es.

  2. beelean getLock() Holen Sie sich, wenn Sie jetzt wetten können.

  3. AnyNumMoney[] getNumMoney() Gibt ein Array zurück, in dem gespeichert wird, wo und wie viel Sie gerade setzen.

Number

NumbersTable

  1. public static SpecialNumbers getSpecialNumberByAddress(int)
    Wirf einen Wert und nimm eine Aufzählung an einem bestimmten Ort.

Roulette

  1. int getIntRouletteValue() Nehmen Sie mit int.

  2. String getStringRouletteValue() Mit String nehmen.

MyColor Gibt den Farbtyp zurück.

Ball

Rufen Sie die BalMain-Klasse als Windows auf. Da das BallMain-Fenster in einem separaten Thread ausgeführt wird und Sie es direkt von der Main-Methode aus aufrufen, wird die Verarbeitung der Main-Methode fortgesetzt, bevor das Roulette endet. Um dies zu verhindern, überprüfen Sie mit der Methode ckDoingBallMain (), ob die Animation gerade ausgeführt wird. Wenn Sie fertig sind, schließen Sie das Fenster und kehren Sie zur Hauptmethode zurück.

Das Folgende wird als Privatklasse verwendet. Oder gib mir eine Struktur.

dPoint Als öffentlich hat es doppelte x- und y-Variablen.

iPoint Wie dPoint hat es Variablen vom Typ x und y vom Typ int.

Cast Runden Sie x und y in dPoint, um iPoint zu erstellen.

NumOrder Speichern Sie die Disc-Anordnung. Die Roulette-Scheiben werden in aufsteigender Reihenfolge von "5,22,34, ..." anstelle von "0,1,2, ..." bestimmt. Eine Klasse, um es zu retten.

  1. int search(int)
    Eine Methode, die die Nummer des Argumentwerts zurückgibt. Als Beispiel gibt search (5) 0 zurück.

BallMain

  1. beelean getThreadStatus()
    Gibt per T / F zurück, ob der Thread gerade ausgeführt wird.

Payment Führt eine Geldverarbeitung für Benutzer und Händler durch.

  1. void calcEach(Player, Player, int) Berechnen Sie, indem Sie die Stelle lecken, an der der Benutzer gewettet hat.

  2. void clac(Player, Player, int, AnyNumMoney) Die Innenwette und die Außenwette werden für den Ort beurteilt, an dem der Benutzer setzt.

Wallet Sparen Sie das Geld von Spieler und Dealer.

  1. Wallet(int) Stellen Sie den Geldbetrag ein, den Sie haben.

  2. int getCache() Holen Sie sich das Geld, das Sie haben.

  3. void Cache(int) Eine Zahlung tätigen. Die Höhe des Arguments wird vom Besitzgeld abgezogen.

  4. boolean isInsolvency() Gibt zurück, ob es von T / F bankrott ist.

Player Klassen über Spieler und Dealer.

Dealer Es erbt nur Spieler.

Dateiliste

Dateiliste


.
├── ButtonIMG/  #Bilddatei zum Ersetzen der Schaltfläche
├── README.md   
└── roulette/
    ├── Makefile  #Build zur Ausführung
    ├── bin/  #Generiert.Klasse wird automatisch platziert
    └── src/  #Quelldatei
        ├── AnyNumMoney.java
        ├── Ball.java
        ├── Dealer.java
        ├── InforMation.java
        ├── MyColor.java
        ├── Number.java
        ├── NumbersTable.java
        ├── Payment.java
        ├── Player.java
        ├── Progress.java
        ├── Roulette.java
        ├── Table.java
        ├── Wallet.java
        └── WalletTest.java

Makefile Verschieben Sie nach git clone das Verzeichnis mit cd roulette. Führen Sie danach für den Vorgang, den Sie ausführen möchten, Folgendes aus.

Sowohl kompilieren als auch ausführen


$ make

kompilieren


$ make class

Lauf


$ make exe

Löschen Sie die Klassendatei


$ make clean

JAR-Datei generieren


$ make jar

Zukunftsaussichten

Zusammenfassung

Wir haben die erstellte Roulette-App eingeführt. Ich werde das laufende Bild oder irgendwann bald einfügen. Zur Zeit ist es möglich zu spielen, also bitte spielen. Ich würde mich sehr freuen, wenn Sie mir Bewertungen geben könnten.

Recommended Posts

Ich habe ein Roulette in Java gemacht.
Ich habe eine Anmerkung in Java gemacht.
Ich habe ein Programm zur Beurteilung von Primzahlen in Java erstellt
Ich habe ein Janken-Spiel in Java (CLI) gemacht.
Ich habe versucht, Metaprogrammierung mit Java
Ich habe ein einfaches Berechnungsproblemspiel in Java gemacht
Ich habe eine E-Mail in Java gesendet
Ich habe ein PDF mit Java erstellt.
Ich habe eine shopify App @java erstellt
Ich habe Gordobachs Theorem in Java geschrieben
Ich habe versucht, JWT in Java zu verwenden
Altersschätzspiel mit Java gemacht
Beispielautomat mit Java
[Anfänger] Ich habe ein Programm zum Verkauf von Kuchen in Java erstellt
Ich habe ein "Sunshine Ikezaki-Spiel" gemacht, das ich auf Twitter in Java gesehen habe.
Ich habe versucht, die Elasticsearch-API in Java zu verwenden
Ich habe StringUtils.isBlank gemacht
Partisierung in Java
Ich habe das neue Yuan-Problem in Java ausprobiert
Änderungen in Java 11
Janken in Java
Beispiel eines mit Java hergestellten Verkaufsautomaten (Klassifizierung)
Ich habe die OpenCV-Kamerakalibrierung in Java durchgeführt
Ich habe ein neues Java-Bereitstellungstool erstellt
Umfangsrate in Java
[* Java *] Ich habe am JJUG CCC 2019 Spring teilgenommen
FizzBuzz in Java
Ich habe ein Diff-Tool für Java-Dateien erstellt
Überarbeitetes GUI-Tool, das 2016 mit Java8 + JavaFX erstellt wurde
Ich möchte eine E-Mail in Java senden.
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
Ich habe ein Programm zur Beurteilung von Primzahlen in Java geschrieben
Ich habe eine Ruby-Erweiterungsbibliothek in C erstellt
rsync4j - Ich möchte rsync in Java berühren.
Was ich in Java gelernt habe (Teil 2) Was sind Variablen?
Ich habe versucht, neunundneunzig in Java auszugeben
Ich habe versucht, Alexa-Fähigkeiten mit Java zu erstellen
Ich habe ein Primfaktorisierungsprogramm in Java geschrieben
Lesen Sie JSON in Java
Interpreter-Implementierung durch Java
Machen Sie einen Blackjack mit Java
Janken App in Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
Verbinden Sie Arrays in Java
Ich habe zuerst Java touched berührt
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
Ich habe zuerst Java touched berührt
Kommentare in der Java-Quelle
Azure funktioniert in Java
Ich habe zuerst Java touched berührt
Formatieren Sie XML in Java
Einfache HTML-Spezialchars in Java
Boyer-Moore-Implementierung in Java
Hallo Welt in Java
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java