[Bukkit] Programmieren Zufall

03/13/2013 21:54 __Sandor__#1
Hii,

ich habe eine Liste mit Item ID's und nun möchte ich, dass ein zufälliges Item dem Spieler gegeben wird. Wie kann man das Umsetzen.

Freue mich auf Antworten :cool:
03/13/2013 22:35 ComputerBaer#2
Du benutzt die Klasse Random und generierst eine ZufallsZahl zwischen 0 und der "Anzahl in der List". Diese Zahl ist dann der Index an dem du dir das Item aus der Liste holst.
03/13/2013 23:20 Missing No#3
liste.getIndex((int) (Math.random() * liste.size());
sollte der Aufruf sein, wenn ich mich nicht täusche.
03/13/2013 23:31 ComputerBaer#4
ich hätte es ungefähr so gemacht:
Code:
List items ...;
Random rand = new Random();
int i = rand.nextInt(items.size());
int id = items.get(i);
die letzten beiden Zeilen kannst du natürlich auch zusammenfassen:
Code:
int id = items.get(rand.nextInt(items.size()));
03/15/2013 14:38 Dingtax#5
Aber ist es wirklich sinnvoll so ein Plugin zu schreiben, da bekommen die Spieler doch auch Items, die es eigentlich so nicht gibt.
03/15/2013 18:27 ComputerBaer#6
Quote:
Originally Posted by .My™ View Post
Aber ist es wirklich sinnvoll so ein Plugin zu schreiben, da bekommen die Spieler doch auch Items, die es eigentlich so nicht gibt.
Ich glaube er meint eine Liste mit Items, die er (oder der Serveradmin in der Config) aussuchen, z.B. nur die Rüstungen und Waffen. Und nicht eine Liste mit allen IDs.
03/15/2013 19:16 __Sandor__#7
Ich bin dabei ein EventPlugin zu schreiben und da brauch es halt, dass der Spieler ein zufälliges Item aus der config bekommt
04/30/2013 22:56 hopsi66#8
Hi,
wäre es möglich so ein plugin zu bekommen?
Ich suche so etwas für meinen Server.
So ne Art Glücksrad bei dem ich in einer Liste die möglichen items eingeben kann und ein spieler gibt dan umb Besipiel im Chat /Glücksrad ein und gewinnt eins der items und es darf nur alle 24 Std. 1 Mal gehen.
04/30/2013 23:26 ComputerBaer#9
Quote:
Originally Posted by hopsi66 View Post
Hi,
wäre es möglich so ein plugin zu bekommen?
Ich suche so etwas für meinen Server.
So ne Art Glücksrad bei dem ich in einer Liste die möglichen items eingeben kann und ein spieler gibt dan umb Besipiel im Chat /Glücksrad ein und gewinnt eins der items und es darf nur alle 24 Std. 1 Mal gehen.
Wenn du zahlst, schreib ich dir eins.
Kontaktier mich dafür per PN oder in Skype.
04/30/2013 23:27 __Sandor__#10
@ hopsi66
meld dich mal bei mir in skype: sender1397
05/03/2013 16:39 BAMgaming#11
Quote:
Originally Posted by ComputerBaer View Post
Du benutzt die Klasse Random und generierst eine ZufallsZahl zwischen 0 und der "Anzahl in der List". Diese Zahl ist dann der Index an dem du dir das Item aus der Liste holst.
(Die Klasse ist java.lang.Math :D)
Würde das auch ohne Bezahlung gerne umsetzen wenn da noch Interesse besteht :D
05/03/2013 17:02 ComputerBaer#12
Quote:
Originally Posted by BAMgaming View Post
(Die Klasse ist java.lang.Math :D)
Ja und Nein.
Math hat auch eine Random-Funktion, die liefert aber nur eine Zahl zwischen 0.0 und 1.0, damit kann man das sicherlich auch realisieren.

Die Klasse Random ist zumindest von den Überlegungen her deutlich einfacher, weil du auch einfach eine Ganzzahl zwischen zwei beliebigen Grenzwerten erzeugen kannst.

In Anbetracht der Tatsache, dass keine weitere Frage mehr kam, würde ich sagen, dass er sein "Problem" bereits gelöst hat.