Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Vorheriges Thema | Nächstes Thema 

Autor Nachricht
 Betreff des Beitrags: Frage zu Fußballmanager
BeitragVerfasst: 14. Juni 2011, 14:19 
1.Semester

Registriert: 14. Juni 2011, 13:57
Beiträge: 2
Hallo zusammen,

ich arbeite gerade das Buch Java Intensivkurs 1.Aufl. durch und bin absoluter Programmieranfänger.

In der Klasse Spieler gibt es die methode schiesstAufTor()
Leider gibt es zu den Formeln keine Erklärung. Kann mir jemand die Entfernungspauschale (z.B. weshalb r.nextInt(3) abgezogen wird und die Absicht hinter der Varianz erklären?

Danke


Nach oben
 Offline     Profil  
 
 Betreff des Beitrags: Re: Frage zu Fußballmanager
BeitragVerfasst: 14. Juni 2011, 19:36 
Administrator
Benutzeravatar

Registriert: 28. April 2008, 12:03
Beiträge: 1238
Wohnort: Berlin
Hi Baboon,

diese Funktion meinst Du, die sich in der 2. Auflage ein wenig geändert hat:

  1. public int schiesstAufTor(){    
  2.    Random r = new Random();
  3.      
  4.    // Torschussqualitaet kann abweichen [+1,0,-1,-2], seltener besser,
  5.    // öfter schlechter. Anschließend werden die Intervallränder 1 und
  6.    // 10 wieder überprüft
  7.    int ret = Math.max(1, Math.min(10, torschuss + r.nextInt(4)-2));
  8.    return ret;
  9. }


Es wird dabei ermittelt, mit welcher Stärke der Spieler auf das
Tor schiessen soll. Prinzipiell hat dieser eine bestimmt Schussstärke
torschuss und wir wollen eine kleine Abweichung von diesem Wert
mit -2 bis +1 erlauben. r.nextInt(4) liefert uns eine Zufallszahl im Bereich
von 0-3, das -2 ergibt unsere gewünschten Werte. Aber diese Werte dürfen
den minimalen und maximalen Wert nicht unter- bzw. überschreiten.

EDIT:
Wir könnten es auch schrittweise so machen:

  1. wertMitAbweichung    = torschuss + r.nextInt(4)-2;
  2. wertNachObenGeprüft  = Math.min(10, wertMitAbweichung);
  3. wertNachUntenGeprüft = Math.max(1, wertMitAbweichung);
  4.  


Grüße,
Marco

PS: Hier findest Du den kompletten Code der zweiten Auflage (inkl.
neuer Fußballsimulation):
http://www.java-uni.de/forum/download/file.php?id=277

_________________
Schachblocki

--------------------------------
"Qui dilisit disciplinam - dilisit scientiam."
Prov.XII.1.


Nach oben
 Offline     Profil  
 
 Betreff des Beitrags: Re: Frage zu Fußballmanager
BeitragVerfasst: 15. Juni 2011, 17:18 
1.Semester

Registriert: 14. Juni 2011, 13:57
Beiträge: 2
Hallo Marco,

vielen Dank für die schnelle Antwort und die Datei. Ich habe die Frage vielleicht etwas zu unpräzise gestellt.

Die Abweichung habe ich soweit verstanden. Aber ich verstehe noch nicht weshalb die Abweichung notwendig ist.

In der vorangegangenen Zeile wird der Wert für torschuss über eine Zufallszahl ermittelt.
1. torschuss = Math.max(1, Math.min(10, torschuss - r.nextInt(3)));
danach kommt noch einmal die Abweichungsermittlung per Zufallszahl.
2. int ret = Math.max(1, Math.min(10, torschuss +r.nextInt(3) -1))

Weshalb reicht es nicht, torschuss schon nach der 1. Zeile zu übergeben? Oder so gefragt,
weshalb reicht einmal Zufall nicht aus?

Danke schon im voraus

Kai


Nach oben
 Offline     Profil  
 
 Betreff des Beitrags: Re: Frage zu Fußballmanager
BeitragVerfasst: 15. Juni 2011, 17:40 
Administrator
Benutzeravatar

Registriert: 28. April 2008, 12:03
Beiträge: 1238
Wohnort: Berlin
Hi Kai,

haha, stimmt, in der ersten Auflage war an dieser Stelle
scheinbar ein copy&paste-Fehler schuld :roll: . Die Programme
aus dem Buch (erste Auflage) hatte ich ja hier noch einmal
gezeigt: http://www.java-uni.de/index.php?Seite=39 und
da ist der Fehler ebenfalls zu sehen.

Die Zeile mit torschuss = ... ist absoluter Murks an dieser Stelle!
Lass Dich also nicht verwirren und denke Dir die Zeile einfach
weg.


Grüße,
Marco

_________________
Schachblocki

--------------------------------
"Qui dilisit disciplinam - dilisit scientiam."
Prov.XII.1.


Nach oben
 Offline     Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB © 2007 phpBB Group


Picksel Media Marco Block © 2006-2009 – ImpressumKontakt
Gestaltung und Umsetzung Tobias Losch, www.picksel-media.de