Ich erstelle derzeit ein Ratespiel über einen Udemy-Kurs, der auf C # basiert, mit Unity Engine. Was ich versuche zu tun, liegt außerhalb des Rahmens des Kurses.
Ich komme zu dem Punkt, den Sie unten sehen, wo beim Drücken des "Aufwärtspfeils" oder "Abwärtspfeils" eine Zufallszahl zwischen zwei Zahlen erzeugt wird: (Durchschnitt, Maximum) und (Durchschnitt, Min).
Derzeit sind die generierten Zahlen immer höher oder niedriger als der Durchschnitt, basierend auf der gedrückten Taste, aber jede danach generierte Zahl muss nicht unbedingt höher oder niedriger als die zuvor generierte Zahl sein.
Zum Beispiel. Ich könnte niedriger als 393 (der 'Durchschnitt') wählen und 242 erhalten. Aber wenn ich erneut niedriger drücke, könnte es 345 sein. Während es niedriger als der 'Durchschnitt' ist, möchte ich, dass jede zufällig generierte Zahl niedriger ist als die zuletzt zufällig generierte Nummer (oder höher je nach Tastendruck).
Ich dachte, vielleicht wäre es richtig, der Funktion eine Variable zuzuweisen. Ich habe eine unbenutzte Ganzzahl 'c', die ich verwenden wollte.
Ich bin mir nicht sicher, wie ich das erreichen soll ...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NumberWizard : MonoBehaviour
{
int max = 734;
int min = 52;
int avg = 393;
int a;
int b;
int c;
// Use this for initialization
void Start()
{
StartGame();
}
void StartGame()
{
max = 734;
min = 52;
avg = 393;
Debug.Log("Welcome to Number Wizard you filthy son of a bitch.");
Debug.Log("Pick a goddamn number.");
Debug.Log("The highest number is: " + max);
Debug.Log("The lowest number is: " + min);
Debug.Log("Tell me if your number is higher or lower than " + avg);
Debug.Log("Push Up = Higher, Push Down = Lower, Push Enter = Correct!");
max = max + 1;
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.UpArrow))
{
Debug.Log("You chose higher. What is your guess? ");
NextGuess();
}
else if (Input.GetKeyDown(KeyCode.DownArrow))
{
Debug.Log("You chose lower. What is your guess?");
NextGuess2();
}
else if (Input.GetKeyDown(KeyCode.Return))
{
Debug.Log("You are correct.");
StartGame();
}
else if (Input.GetKeyDown(KeyCode.KeypadEnter))
{
Debug.Log("You are correct.");
StartGame();
}
else if (Input.anyKeyDown)
{
Debug.Log("Input invalid. Try again.");
}
}
void NextGuess()
{
a = Random.Range(avg, max);
Debug.Log(a);
}
void NextGuess2()
{
b = Random.Range(avg, min);
Debug.Log(b);
}
}
Versuchen Sie, den Durchschnitt eines Schlüssels nach unten zu aktualisieren, um den Wert zu ermitteln. Wählen Sie in Ihrem Beispiel also weniger als 393 (der 'Durchschnitt') und erhalten Sie 242, jetzt aktualisieren Sie den Durchschnitt auf 242.
avg = NextGuess2();
public NextGuess2()
{
b = Random.Range(avg, min);
Debug.Log(b);
return b;
}
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen