will meinen eigenen icm-calculator basteln (poker-programm) und
kriege folgende Fehlermeldung, unten markiert:
"Unzulässiger Wert oder Datentyp. Index außerhalb des definierten Bereichs."
Sieht jemand meinen Fehler?
Sub Main
mydoc= thisComponent
mysheet=mydoc.sheets(0)
Spielerzelle=mysheet.getCellByPosition(1,15)
Spieler=Spielerzelle.value
Dim payouts(1 to Spieler) as double
anzpayouts=Spieler
for i=1 to Spieler
piz=mysheet.getCellByPosition(4,2+i)
payouts(i)=piz.value
if payouts(i)=0 then
anzpayouts=i-1
end if
next i
Dim stacks(1 to Spieler) as double
total=0
for j=1 to Spieler
stz=mysheet.getCellByPosition(1,2+j)
stacks(j)=stz.value
total= total+stacks(j)
next j
Bis hier hin müsste alles passen
Dim equity(1 to Spieler) as double
for k=1 to Spieler
eqz=mysheet.getCellByPosition(7,17+k)
equity(k)=getequity(k, payouts, stacks,total,1,anzpayouts)
eqz.value=equity(k)
next k
End Sub
Function getequity(player as integer, payoffs() as double, chipstacks() as double, totalchips as double, depth as integer,priceplaces as integer) as double
eq = (chipstacks(player)/totalchips)*payoffs(depth)
if depth<priceplaces then
for l=l ubound(chipstacks())
if l<>player then
c = chipstacks (l) [HIER]
chipstacks (l) = 0
eq = eq+getequity(player, payoffs, chipstacks, totalchips - c, depth+1,priceplaces) * (c/totalchips)
chipstacks(i)= c
end if
next l
end if
getequity=eq
End Function
/// ich frage für einen freund würd mich echt freuen wenn uns jemand so schnell wie möglich helfen könte wuste auch nicht wohin damit
Gruss
kriege folgende Fehlermeldung, unten markiert:
"Unzulässiger Wert oder Datentyp. Index außerhalb des definierten Bereichs."
Sieht jemand meinen Fehler?
Sub Main
mydoc= thisComponent
mysheet=mydoc.sheets(0)
Spielerzelle=mysheet.getCellByPosition(1,15)
Spieler=Spielerzelle.value
Dim payouts(1 to Spieler) as double
anzpayouts=Spieler
for i=1 to Spieler
piz=mysheet.getCellByPosition(4,2+i)
payouts(i)=piz.value
if payouts(i)=0 then
anzpayouts=i-1
end if
next i
Dim stacks(1 to Spieler) as double
total=0
for j=1 to Spieler
stz=mysheet.getCellByPosition(1,2+j)
stacks(j)=stz.value
total= total+stacks(j)
next j
Bis hier hin müsste alles passen
Dim equity(1 to Spieler) as double
for k=1 to Spieler
eqz=mysheet.getCellByPosition(7,17+k)
equity(k)=getequity(k, payouts, stacks,total,1,anzpayouts)
eqz.value=equity(k)
next k
End Sub
Function getequity(player as integer, payoffs() as double, chipstacks() as double, totalchips as double, depth as integer,priceplaces as integer) as double
eq = (chipstacks(player)/totalchips)*payoffs(depth)
if depth<priceplaces then
for l=l ubound(chipstacks())
if l<>player then
c = chipstacks (l) [HIER]
chipstacks (l) = 0
eq = eq+getequity(player, payoffs, chipstacks, totalchips - c, depth+1,priceplaces) * (c/totalchips)
chipstacks(i)= c
end if
next l
end if
getequity=eq
End Function
/// ich frage für einen freund würd mich echt freuen wenn uns jemand so schnell wie möglich helfen könte wuste auch nicht wohin damit
Gruss
Kommentar