Jump to content
Unity Insider Forum

Daykoo

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Daykoo

  • Rank
    Newbie
  1. Hallo allerseits! Ich bin zurzeit dabei, ein kleines Kartenspiel zu entwickeln. Der erste Spieler soll mithilfe eines Würfels ausgelost werden. Heißt der Spieler mit der am höchsten gewürfelten Zahl beginnt. Ich habe also dran gesetzt und ein Script geschrieben. Dieses ist aber leider fehlerhaft jedoch komme ich nicht drauf. Zum Beispiel sollte Spieler eins die höchste Zahl gewürfelt haben und Spieler zwei die zweithöchste, wird ausgegeben, dass Spieler zwei anfangen darf (siehe Bild). Desweiteren werden öfters falsche "beginn abfragen" (siehe Script relativ weit unten) gemacht. Es muss also darauf geachtet werden, dass wenn zwei Spieler die gleiche Zahl gewürfelt haben (und diese Zahl auch die höchste aller gewürfelten ist), sie nochmal würfeln müssen. Ich denke ich habe einiges relativ umständlich (oder eben nicht richtig gemacht), deshalb bin ich froh um Lösungsvorschläge und sonstige Anregungen. Außerdem sind die verwendeten Graphiken in den Bildern nur für mein Test Projekt also nichts ausgereiftes aber aufgrund von Demonstrationen wichtig. Ich bitte um Hilfe und bedanke mich schon einmal im voraus. using UnityEngine; using UnityEngine.UI; public class ButtonClickWürfeln : MonoBehaviour { public GameObject ButtonWürfeln; public Text gewürfelteZahl; public Text sonstiges; public int i; public int würfelZahl; public int spielerEins; public int spielerZwei; public int spielerDrei; public int spielerVier; public int höchsteZahl; public void Start() { spielerEins = 0; spielerZwei = 0; spielerDrei = 0; spielerVier = 0; sonstiges.text = ("Spieler 1 muss würfeln"); } public void Button_OnClick() { if (spielerEins == 0) { sonstiges.text = ("Spieler 2 muss würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerEins = würfelZahl; Debug.Log("Spieler 1 hat eine " + spielerEins +" gewürfelt"); return; } if (spielerEins == würfelZahl) { sonstiges.text = ("Spieler 3 muss würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerZwei = würfelZahl; Debug.Log("Spieler 2 hat eine " + spielerZwei + " gewürfelt"); return; } if (spielerZwei == würfelZahl) { sonstiges.text = ("Spieler 4 muss würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerDrei = würfelZahl; Debug.Log("Spieler 3 hat eine " + spielerDrei + " gewürfelt"); return; } if (spielerDrei == würfelZahl) { würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerVier = würfelZahl; Debug.Log("Spieler 4 hat eine " + spielerVier + " gewürfelt"); } //abfrage höchste Zahl if (spielerEins >= spielerZwei & spielerEins >= spielerDrei & spielerEins >= spielerVier) { höchsteZahl = spielerEins; } if (spielerZwei >= spielerEins & spielerZwei >= spielerDrei & spielerZwei >= spielerVier) { höchsteZahl = spielerZwei; } if (spielerDrei >= spielerEins & spielerDrei >= spielerZwei & spielerDrei >= spielerVier) { höchsteZahl = spielerDrei; } if (spielerVier >= spielerEins & spielerVier >= spielerZwei & spielerVier >= spielerDrei) { höchsteZahl = spielerVier; } // abfrage ob Spieler gleichen ZahlenWert haben // spieler eins & zwei if (spielerEins == spielerZwei & spielerEins == höchsteZahl) { i = 1; for (int i = 1; i < 2; i++) { sonstiges.text = ("Spieler 1 muss wieder Würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerEins = würfelZahl; Debug.Log("Spieler 1 hat eine " + spielerEins + " gewürfelt"); } if (spielerEins == würfelZahl) { sonstiges.text = ("Spieler 2 muss wieder Würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerZwei = würfelZahl; Debug.Log("Spieler 2 hat eine " + spielerZwei + " gewürfelt"); } return; } //spieler eins & drei if (spielerEins == spielerDrei & spielerEins == höchsteZahl) { i = 1; for (int i = 1; i < 2; i++) { sonstiges.text = ("Spieler 1 muss wieder Würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerEins = würfelZahl; Debug.Log("Spieler 1 hat eine " + spielerEins + " gewürfelt"); } if (spielerEins == würfelZahl) { sonstiges.text = ("Spieler 3 muss wieder Würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerDrei = würfelZahl; Debug.Log("Spieler 3 hat eine " + spielerDrei + " gewürfelt"); } return; } //spieler eins & vier if (spielerEins == spielerVier & spielerEins == höchsteZahl) { i = 1; for (int i = 1; i < 2; i++) { sonstiges.text = ("Spieler 1 muss wieder Würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerEins = würfelZahl; Debug.Log("Spieler 1 hat eine " + spielerEins + " gewürfelt"); } if (spielerEins == würfelZahl) { sonstiges.text = ("Spieler 4 muss wieder Würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerVier = würfelZahl; Debug.Log("Spieler 4 hat eine " + spielerVier + " gewürfelt"); } return; } //spieler zwei & drei if (spielerZwei == spielerDrei & spielerZwei == höchsteZahl) { i = 1; for (int i = 1; i < 2; i++) { sonstiges.text = ("Spieler 2 muss wieder Würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerZwei = würfelZahl; Debug.Log("Spieler 2 hat eine " + spielerZwei + " gewürfelt"); } if (spielerZwei == würfelZahl) { sonstiges.text = ("Spieler 3 muss wieder Würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerDrei = würfelZahl; Debug.Log("Spieler 3 hat eine " + spielerDrei + " gewürfelt"); } return; } //spieler zwei & vier if (spielerZwei == spielerVier & spielerZwei == höchsteZahl) { i = 1; for (int i = 1; i < 2; i++) { sonstiges.text = ("Spieler 2 muss wieder Würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerZwei = würfelZahl; Debug.Log("Spieler 2 hat eine " + spielerZwei + " gewürfelt"); } if (spielerZwei == würfelZahl) { sonstiges.text = ("Spieler 4 muss wieder Würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerVier = würfelZahl; Debug.Log("Spieler 4 hat eine " + spielerVier + " gewürfelt"); } return; } //spieler drei & vier if (spielerDrei == spielerVier & spielerDrei == höchsteZahl) { i = 1; for (int i = 1; i < 2; i++) { sonstiges.text = ("Spieler 3 muss wieder Würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerDrei = würfelZahl; Debug.Log("Spieler 3 hat gewürfelt eine " + spielerDrei + " gewürfelt"); } if (spielerDrei == würfelZahl) { sonstiges.text = ("Spieler 4 muss wieder Würfeln"); würfelZahl = Random.Range(1, 6); gewürfelteZahl.text = würfelZahl.ToString(); spielerVier = würfelZahl; Debug.Log("Spieler 4 hat eine " + spielerVier + " gewürfelt"); } return; } //beginn abfrage if (spielerEins > spielerZwei & spielerEins > spielerDrei & spielerEins > spielerVier) { sonstiges.text = ("Spieler eins darf anfangen"); spielerEins = 1; ButtonWürfeln.SetActive(false); } if (spielerZwei > spielerEins & spielerZwei > spielerDrei & spielerZwei > spielerVier) { sonstiges.text = ("Spieler zwei darf anfangen"); spielerZwei = 1; ButtonWürfeln.SetActive(false); } if (spielerDrei > spielerEins & spielerDrei > spielerZwei & spielerDrei > spielerVier) { sonstiges.text = ("Spieler Drei darf anfangen"); spielerDrei = 1; ButtonWürfeln.SetActive(false); } if (spielerVier > spielerEins & spielerVier > spielerZwei & spielerVier > spielerDrei) { sonstiges.text = ("Spieler Vier darf anfangen"); spielerVier = 1; ButtonWürfeln.SetActive(false); } } }
×