Funktionen verschachteln

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Vidde

Betreff: Funktionen verschachteln

BeitragDi, Mai 19, 2009 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
habe drei unterfuntion in eine hauptfunktion verschachtelt in denen der gesamtwert 10 jedem affe unterschiedlich zugeteilt werden soll.

bei meinem code bekommt aber jeder der 5 affen nun 5 mal den wert 10 zugeordnet.

was mache ich falsch?

Code: [AUSKLAPPEN]
SeedRnd MilliSecs()

Graphics 500,300

Dim Affen(4)
Dim Gesamt(5)
Dim Wert1(5)
Dim Wert2(5)

For i = 0 To 5
  Gesamt(i) = 10
Next

            
Function CaseA() 
  For i = 0 To 4
    Select Rand(3)
      Case 1: Func1()
      Case 2: Func2()
      Case 3: Func3()
    End Select
  Next
End Function



Function Func1()
  For i = 0 To 4
    For w = 1 To Gesamt(i)
      Select Rand(4)
        Case 1: Wert1(i) = Wert1(i) + 1
        Case 2: Wert1(i) = Wert1(i) + 1
        Case 3: Wert1(i) = Wert1(i) + 1
        Case 4: Wert2(i) = Wert2(i) + 1
      End Select
    Next
  Next
End Function

Function Func2()
  For i = 0 To 4
    For w = 1 To Gesamt(i)
      Select Rand(4)
        Case 1: Wert1(i) = Wert1(i) + 1
        Case 2: Wert1(i) = Wert1(i) + 1
        Case 3: Wert2(i) = Wert2(i) + 1
        Case 4: Wert2(i) = Wert2(i) + 1
      End Select
    Next
  Next
End Function

Function Func3()
  For i = 0 To 4
    For w = 1 To Gesamt(i)
      Select Rand(4)
        Case 1: Wert2(i) = Wert2(i) + 1
        Case 2: Wert2(i) = Wert2(i) + 1
        Case 3: Wert2(i) = Wert2(i) + 1
        Case 4: Wert1(i) = Wert1(i) + 1
      End Select
    Next
  Next
End Function



Function Anzeige01 ()   
  For i = 0 To 4
    Write Wert1(i) + " " + Wert2(i) + "    "
  Next
End Function

CaseA
Anzeige01

WaitKey
Gern der Zeiten gedenk ich, als alle Glieder gelenkig - bis auf eins. Diese Zeiten kehren nie wieder, steif sind nun alle Glieder - bis auf eins.
 

Pitje Puck

BeitragDi, Mai 19, 2009 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich finde deinen Code zwar obskur, und würde gerne genauer wissen was du damit bezwecken willst (geht bestimmt einfacher), aber warum zum Teufel die Affen immer genau auf 50 kommen, würde ich auch gern wissen. Wenn ich mir den Code anschaue würde ich denken es gäbe eine zufälligere Verteilung. Entweder ich stehe total auf dem Schlauch, oder es liegt mal wieder daran das der Rechner einfach keinen richtigen Zufall kennt.
Blitzgenies bitte erklären!

kog

BeitragDi, Mai 19, 2009 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Was hab ich verpasst? das ist doch kein BlitzMax Code?

Xeres

Moderator

BeitragDi, Mai 19, 2009 17:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Jup, ist BB.
@ Vidde:
Ist das hier das, was du bezwecken willst?
Code: [AUSKLAPPEN]
Graphics(500,300,0,2)
SeedRnd MilliSecs()

Dim Affen(5,1)

For i = 0 To 5
   Affen(i,0) = Rand(1,10)
   Affen(i,1) = 10 - Affen(i,0)
   Print("Affe Nr. "+i+" "+Affen(i,0)+"/"+Affen(i,1))
Next

WaitKey()
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

beanage.johannes

BeitragDi, Mai 19, 2009 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Flasches Forum -> Blitz Basic

Vidde

BeitragMi, Mai 20, 2009 9:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank Xeres. Im Prinzip die Lösung für meine Problemstellung. Im richtigen Programm wirds allerding um einiges komplexer. Aber ich schätze mit diesem Denkanstoß bekomm ich´s hin - nochmals vielen Dank.

sorry, Ihr habt recht - falsches Forum
Gern der Zeiten gedenk ich, als alle Glieder gelenkig - bis auf eins. Diese Zeiten kehren nie wieder, steif sind nun alle Glieder - bis auf eins.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group