arrey problem - (wiedermal neu...)

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

darth

Betreff: arrey problem - (wiedermal neu...)

BeitragDi, Aug 09, 2005 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab wieder n problem mit einem arrey...
ich erstell n paar monster:
Code: [AUSKLAPPEN]
; monster erstellen
Dim monster(100)
monster(0)=CreateCube()
ScaleEntity monster(0),30,30,30
PositionEntity monster(0),500,-33,500
For mon=0 To 100
 monster(mon)=CopyEntity(monster(0))
 xmon=Rand(-5000,5000)
 zmon=Rand(-5000,5000)
 PositionEntity monster(mon),xmon,-33,zmon
 EntityType monster(mon),3
 EntityPickMode monster(mon),2
Next

und dann will ich ihre x koord. auswählen...
aber das geht net...
monster_x#=entityx(monster(mon))
muss ich das anders machen?
(fehler meldung: arrey index out of bounds)

PS: die bisherigen antworten waren zu einem anderen thema... ich hab den alten threat editiert...
Diese Signatur ist leer.
  • Zuletzt bearbeitet von darth am So, Aug 14, 2005 20:54, insgesamt einmal bearbeitet

Alfadur

BeitragMi, Aug 10, 2005 3:36
Antworten mit Zitat
Benutzer-Profile anzeigen
dein code mit den zahlen schaut auch nur ob das array feld für welches du momentan einen wert auswürfelst einen anderen wert als den ausgewürfelten hat.

du willst also zufällige werte von 0 bis 100 in einem feld von 0 bis 50 platzieren, richtig?

was du brauchst ist eine for schleife die das feld nochmal durchschaut ob der doppelte wert vorkommt...etwa so...

Code: [AUSKLAPPEN]

dim feld(50)

for i=0 to 50
   repeat
      wert=rand(0,100)
      weitergehts=true
      for ii=0 to i
         if feld(ii)=wert then weitergehts=false
      next
   until weitergehts
   feld(i)=wert
next
A Cray is the only computer that runs an endless loop in less than four hours.

darth

Betreff: ... ??? ...

BeitragMi, Aug 10, 2005 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ähm... ich brauch nicht das mit den zahlen, ich hab das ja schon...
ich möchte, dass der die felder nicht doppelt besetzt... aber das macht er eben die ganze zeit.
also: wenn ich ein feld erstelle, das 3 auf 3 feldchen gross ist, und da 9 steine drauf platziere, dann sollen die alle 9 felder füllen, weil ja kein feld doppelt vergeben werden darf
Diese Signatur ist leer.

darth

Betreff: ... ??? ...

BeitragMi, Aug 10, 2005 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
... sry wegen doppelpost ... aber stadt edit hat der n neues gemacht =?
was ich noch sagen wollte:
falls die frage unklar ist, dann formulier ich sie nochmal um...
Diese Signatur ist leer.

Alfadur

BeitragMi, Aug 10, 2005 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
für 3x3 kästchen und 9 werte...funktioniert es genauso. nachdenken .-)

Code: [AUSKLAPPEN]

dim feld(3,3)

for x=1 to 3
   for y=1 to 3
      repeat
         wert=rand(1,9)
         weitergehts=true
         for xx=1 to 3
            for yy=1 to 3
               if feld(xx,yy)=wert then  weitergehts=false
            next
         next    
      until weitergehts
      feld(x,y)=wert
   next
next

for x=1 to 3
   s$=""
   for y=1 to 3
      s$=s$+feld(x,y)+" "
   next
   print s$
next

waitkey()
A Cray is the only computer that runs an endless loop in less than four hours.

darth

Betreff: argh...

BeitragMi, Aug 10, 2005 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
argh... NICHT die zahlen...
ich werds mal versuchen umzuschreiben in mein kästchendingsdabumsda... Wink ich werd mal sehn was dabei rauskommt...

[edit] hat gefunzt... =S hab zwar was völlig anderes gebaut als du, aber es hat gefunzt... guck ma:
Code: [AUSKLAPPEN]
x=-2
z_v=-1
Dim feld(anzf+1)
Dim feld_var(anzf+1)
 feld(0)=CreateCube()
 feld_var(0)=1
 PositionEntity feld(0),-5,0,0
For felder=1 To anzf
feld(felder)=CopyEntity(feld(0))
feld_var(felder)=0
 x=x+2
 z_v=z_v+1
 If z_v=anzr Then
  z=z+2
  z_v=0
  x=0
 EndIf
PositionEntity feld(felder),x,0,z
Next

Dim stein(anzh+1)
 stein(0)=CreateCube()
 PositionEntity stein(0),-5,2,0
 EntityColor stein(0),255,0,0
For platz=1 To anzh
 stein(platz)=CopyEntity(stein(0))
.nochmal
 f=Rand(1,anzf)
 If feld_var(f)=1 Then Goto nochmal
 hx=EntityX(feld(f))
 hz=EntityZ(feld(f))
 PositionEntity stein(platz),hx,2,hz
feld_var(f)=1
Next
Diese Signatur ist leer.

Alfadur

BeitragMi, Aug 10, 2005 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
es ist doch völlig egal ob es zahlen sind oder äpfel und birnen oder steine oder cubes oder was weiß ich ....
was deinen code angeht, sieht mir zu kompliziert aus und zuviele nicht sprechende variablen .... aber wenns funktioniert, herzlichen glückwunsch. vermutlich hab ich dein problem immernochnich verstanden ...
A Cray is the only computer that runs an endless loop in less than four hours.

darth

Betreff: mag sein

BeitragMi, Aug 10, 2005 19:06
Antworten mit Zitat
Benutzer-Profile anzeigen
... du hast mein problem nich verstanden, ich deine antowrt nicht,
mein code is kompliziert wie die sau...
^^ was solls? hauptsache es funzt...
danke trotzdem für deine hilfsversuche (vielleicht versteh ich sie das nächste mal, wenn ich besser drauskomm bei dieser sprache?)

PS: naja, meine codes sind immer kompliziert... immer hier variabeln, da variabeln... aber funktionieren tun sie meistens... sobald ich meinen eingenen kram besser verstehe, werde ich die codes immernoch kürzen ^^
Diese Signatur ist leer.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group