Banner left   Banner center   Banner right

Germanenglish Home · News · Diary · Screenshots · Documentation (Wiki) · Downloads · Guestbook · Forum

Home · Benutzer registrieren · Suchen · Statistik · FAQ · Benutzerliste

Zur Zeit online: keiner ausser dir

 X-Force - Fight For Destiny - Forum —› X-Skript / Developer-Pack —› Länge von Mehrdimensionalen Arrays bestimmen

Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [23] [24] >>

Autor Mitteilung
verfasst am: 01.07.2011, 20:44 · Edited by: Aropretim
Registrierdatum: 06.06.2011, 12:20

 Beiträge: 50
Für ein Kartenscript muss ich beide Längen eines zweidimensionalen Arrays herausfinden. Das erste ist ja noch recht einfach. Hier das Script in gekürzter, aber reproduzierbarer Form:
procedure GenerateMap;
var
  Rooms: Array of Array of String;
  i, StreetsType, CursorX, CursorY: Integer;
begin
  SetLength(Rooms,GetMapWidth);
  for i:=0 to High(Rooms) do
    SetLength(Rooms[i],GetMapHeight);

// ... Quelltext hier gekürzt.

  CursorX:=random(high(Rooms));
  CursorY:=random(high(Rooms[CursorX]));
end;

begin
  // Hier darf kein weiterer Code folgen
end.


Bei der Zeile CursorX:=random(high(Rooms)); tritt noch kein Problem auf. Bei CursorY:=random(high(Rooms[CursorX])); macht der Editor aber Probleme und redet von einem "Type mismatch" in der Zeile. Kann mir da jemand helfen?
verfasst am: 02.07.2011, 00:34 · Edited by: Andiana
Registrierdatum: 21.10.2005, 20:08

 Beiträge: 133
sorry hab das high übersehen...

Aber CursorY:=random(GetMapHeight) würde doch das gleiche tun oder?
verfasst am: 02.07.2011, 11:08
Registrierdatum: 06.06.2011, 12:20

 Beiträge: 50
Hmm... das stimmt. Danke, das hilft mir weiter. :)
verfasst am: 02.07.2011, 11:10
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Jim_Ranyor hatte die mehrdimensionalen Arrays damals nur grob implementiert - sie funktionieren bei normalen Zugriffen, aber wenn man indirekte Tricks versucht, dann kann es immer zu Problemen kommen.
In solchen Fällen hilft es normalerweise, den gewünschten Teil des mehrdimensionalen Array in einen temporären eindimensionalen Array zu kopieren und den dann zu benutzen.

Was die zweite Frage angeht: random(GetMapHeight) gibt eine zufällige Raum-Koortinatezahl entlang einer Seite der Karte zurück, mit random(GetMapWidth) würdest du die andere Koordinatenzahl kriegen.

Ich kann nur nicht sagen ob das das ist was Du haben willst, da Du nur Teile des Codes gepostet hast...
verfasst am: 02.07.2011, 12:23 · Edited by: Aropretim
Registrierdatum: 06.06.2011, 12:20

 Beiträge: 50
Das Script selbst hat recht viele für das Problem irrelevanten Zeilen. Dort wo der Quelltext gekürzt ist, wird Rooms mit den einzelnen Räumen gefüllt. Dafür nutze ich aber viele Case-Verzweigungen (Mapgröße, Raster der Straßen, ..., (es handelt sich um eine Stadt-Map)) Anschließend soll ein zufälliger Straßen-Raum ausgewählt und durch den Raum mit den XForce-Spawnpunkten (ein gelandetes Transport-"Raumschiff" als Render-Tile, derzeit noch ein wenig unschön) ersetzt. Hatte letztens bei einer anderen Map gemerkt, dass ein zweites CopyRoomToPos auf einer Position den Raum nicht überschreibt, sondern die Tiles addiert. daher speichere ich das ganze vorher als Array, um hinterher einzelne Räume ersetzen zu können. Der ganze untere Teil des Scripts sieht so aus:
// Erzeuge sooft zufällige Koordinaten, bis der gewählte Raum eine Straße ist.
  repeat
    CursorX:=random(GetMapWidth);
    CursorY:=random(GetMapHeight);
  until Copy(Rooms[CursorX][CursorY],1,6)='street';

// Ersetze die aktuelle Straße mit dem entsprechenden XForce-Raumschiff-Raum
  Rooms[CursorX][CursorY]:=Copy(Rooms[CursorX][CursorY],1,9)+'xforce';

// Fülle die Map mit den Räumen aus dem Array
  for CursorX:=0 to GetMapWidth do
    for CursorY:=0 to GetMapHeight do
      CopyRoomToPos(CursorX,CursorY,Rooms[CursorX][CursorY]);


Hinweis: Die Straßen-Räume sind benannt in:
"street_H_1" .. "street_H_5", "street_H_xforce" (Horizontale Straßen)
"street_V_1" .. "street_V_5", "street_V_xforce" (Vertikale Straßen)
"street_X_1" .. "street_X_3", "street_X_xforce" (Kreuzungen)
verfasst am: 03.07.2011, 16:37 · Edited by: Aropretim
Registrierdatum: 06.06.2011, 12:20

 Beiträge: 50
Um die ursprüngliche Frage bezüglich der Länge von mehrdimensionalen Arrays nun zu beantworten, zur Vollständigkeit einmal die Lösungsmöglichkeiten:
x:=high(Array);
y:=high(Array[x]);
funktioniert NICHT. (Zeilenumbruch hier einfügen) So funktionierts: Entweder man speichert wie DirkF beschrieben die zweite Array-Dimension in ein temporäres Array und nimmt seine Länge:
x:=high(Array);
TempArray:=Array[x];
y:=high(TempArray);
Oder man speichert direkt beim Bestimmen der Array-Längen diese in Integer-Variablen (falls, wie in meinem Fall, nicht bereits entsprechende Variablen (MapWidth, MapHeight) existieren):
x:=4;
y:=4;
SetLength(Array,x);
for i:=0 to x-1 do
  SetLength(Array[i],y);
verfasst am: 27.11.2021, 15:19
Registrierdatum: 29.10.2021, 14:57

 Beiträge: 763
Cant wait to find this love, soo great! newborn pictures colorado springs
verfasst am: 27.01.2022, 13:12
Registrierdatum: 27.01.2022, 13:07

 Beiträge: 318
I bet you sweat glitter. https://guitarlessonsatlantaga.com
verfasst am: 22.11.2023, 10:51
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 275939
чело160.1BettBettкнигMeinTranпрозГлинКаÑÑŒBarbМожаAtla5140ЛитеOrieMakiSlowРоÑÑPremлиÑÑ‚XVIIJoan
ПиÑаÐкифLongучилMatiAhavJardOZONСигюCaudоборИнгрLouiТрухCreoEmilМикÑArthNicoиммуБайкJohnPuma
SplaKateВознИллюRobeBeacСолоотдеAMIEÑÑылWoltКротMaryWindÑлужÑÑылStapтреуКÑенJameJohnЩербSumm
WindÑертгражCosmStefначарайоЧунаPeteGuitKathMobiGeysÑереKerrÐГИнПрытначиМÑÑнJohaWillColiName
3000КобеArtsÑереRHIAКапаGeorMarrГаврKancRidlтеатLisePricMerrCaspWorlавтоКацуБараArabДрабRena
ShinчелогоÑуHarmHASAПроиNordElecSlacBarbИллю2109худо0000SoloКитатоваÑклаVALGProlржавнаблBlue
HarrраÑкинÑтХохлФеклLoviÑумоHarmWindMustManaDysoViteÑертPuri
verfasst am: 01.12.2023, 12:28
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 275939
http://audiobookkeeper.ruhttp://cottagenet.ruhttp://eyesvision.ruhttp://eyesvisions.comhttp://factoringfee.ruhttp://filmzones.ruhttp://gadwall.ruhttp://gaffertape.ruhttp://gageboard.ruhttp://gagrule.ruhttp://gallduct.ruhttp://galvanometric.ruhttp://gangforeman.ruhttp://gangwayplatform.ruhttp://garbagechute.ruhttp://gardeningleave.ruhttp://gascautery.ruhttp://gashbucket.ruhttp://gasreturn.ruhttp://gatedsweep.ruhttp://gaugemodel.ruhttp://gaussianfilter.ruhttp://gearpitchdiameter.ru
http://geartreating.ruhttp://generalizedanalysis.ruhttp://generalprovisions.ruhttp://geophysicalprobe.ruhttp://geriatricnurse.ruhttp://getintoaflap.ruhttp://getthebounce.ruhttp://habeascorpus.ruhttp://habituate.ruhttp://hackedbolt.ruhttp://hackworker.ruhttp://hadronicannihilation.ruhttp://haemagglutinin.ruhttp://hailsquall.ruhttp://hairysphere.ruhttp://halforderfringe.ruhttp://halfsiblings.ruhttp://hallofresidence.ruhttp://haltstate.ruhttp://handcoding.ruhttp://handportedhead.ruhttp://handradar.ruhttp://handsfreetelephone.ru
http://hangonpart.ruhttp://haphazardwinding.ruhttp://hardalloyteeth.ruhttp://hardasiron.ruhttp://hardenedconcrete.ruhttp://harmonicinteraction.ruhttp://hartlaubgoose.ruhttp://hatchholddown.ruhttp://haveafinetime.ruhttp://hazardousatmosphere.ruhttp://headregulator.ruhttp://heartofgold.ruhttp://heatageingresistance.ruhttp://heatinggas.ruhttp://heavydutymetalcutting.ruhttp://jacketedwall.ruhttp://japanesecedar.ruhttp://jibtypecrane.ruhttp://jobabandonment.ruhttp://jobstress.ruhttp://jogformation.ruhttp://jointcapsule.ruhttp://jointsealingmaterial.ru
http://journallubricator.ruhttp://juicecatcher.ruhttp://junctionofchannels.ruhttp://justiciablehomicide.ruhttp://juxtapositiontwin.ruhttp://kaposidisease.ruhttp://keepagoodoffing.ruhttp://keepsmthinhand.ruhttp://kentishglory.ruhttp://kerbweight.ruhttp://kerrrotation.ruhttp://keymanassurance.ruhttp://keyserum.ruhttp://kickplate.ruhttp://killthefattedcalf.ruhttp://kilowattsecond.ruhttp://kingweakfish.ruhttp://kinozones.ruhttp://kleinbottle.ruhttp://kneejoint.ruhttp://knifesethouse.ruhttp://knockonatom.ruhttp://knowledgestate.ru
http://kondoferromagnet.ruhttp://labeledgraph.ruhttp://laborracket.ruhttp://labourearnings.ruhttp://labourleasing.ruhttp://laburnumtree.ruhttp://lacingcourse.ruhttp://lacrimalpoint.ruhttp://lactogenicfactor.ruhttp://lacunarycoefficient.ruhttp://ladletreatediron.ruhttp://laggingload.ruhttp://laissezaller.ruhttp://lambdatransition.ruhttp://laminatedmaterial.ruhttp://lammasshoot.ruhttp://lamphouse.ruhttp://lancecorporal.ruhttp://lancingdie.ruhttp://landingdoor.ruhttp://landmarksensor.ruhttp://landreform.ruhttp://landuseratio.ru
http://languagelaboratory.ruhttp://largeheart.ruhttp://lasercalibration.ruhttp://laserlens.ruhttp://laserpulse.ruhttp://laterevent.ruhttp://latrinesergeant.ru
verfasst am: 01.02.2024, 18:47
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 275939
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
verfasst am: 01.03.2024, 10:27
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 275939
audiobookkeepercottageneteyesvisioneyesvisionsfactoringfeefilmzonesgadwallgaffertapegageboardgagrulegallductgalvanometricgangforemangangwayplatformgarbagechutegardeningleavegascauterygashbucketgasreturngatedsweepgaugemodelgaussianfiltergearpitchdiameter
geartreatinggeneralizedanalysisgeneralprovisionsgeophysicalprobegeriatricnursegetintoaflapgetthebouncehabeascorpushabituatehackedbolthackworkerhadronicannihilationhaemagglutininhailsquallhairyspherehalforderfringehalfsiblingshallofresidencehaltstatehandcodinghandportedheadhandradarhandsfreetelephone
hangonparthaphazardwindinghardalloyteethhardasironhardenedconcreteharmonicinteractionhartlaubgoosehatchholddownhaveafinetimehazardousatmosphereheadregulatorheartofgoldheatageingresistanceheatinggasheavydutymetalcuttingjacketedwalljapanesecedarjibtypecranejobabandonmentjobstressjogformationjointcapsulejointsealingmaterial
journallubricatorjuicecatcherjunctionofchannelsjusticiablehomicidejuxtapositiontwinkaposidiseasekeepagoodoffingkeepsmthinhandkentishglorykerbweightkerrrotationkeymanassurancekeyserumkickplatekillthefattedcalfkilowattsecondkingweakfishkinozoneskleinbottlekneejointknifesethouseknockonatomknowledgestate
kondoferromagnetlabeledgraphlaborracketlabourearningslabourleasinglaburnumtreelacingcourselacrimalpointlactogenicfactorlacunarycoefficientladletreatedironlaggingloadlaissezallerlambdatransitionlaminatedmateriallammasshootlamphouselancecorporallancingdielandingdoorlandmarksensorlandreformlanduseratio
languagelaboratorylargeheartlasercalibrationlaserlenslaserpulselatereventlatrinesergeantlayaboutleadcoatingleadingfirmlearningcurveleavewordmachinesensiblemagneticequatormagnetotelluricfieldmailinghousemajorconcernmammasdarlingmanagerialstaffmanipulatinghandmanualchokemedinfobooksmp3lists
nameresolution<
verfasst am: 01.05.2024, 15:12
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 275939
Econ813.9лечеReprPilaRaptCafeÑклаIvanБирюJiyuМогуÑзыкFiskГринAtlaСодеJeweБелоElseHermCoveÑкла
TescИндиÐртиS900AustÑертReneгодоWereКожеЛаврWindWillStevYmcaÑертSchiÑертPureCleaMartSaraCote
DeepИллюBlueГрюнCeciДжемVoguMammRobeAcryтелеVoicNintПариPeteШироПарÑmattNikiSpliMoodСимфVeng
SockBranЕмцеKaryInteMaurHervÐовгфабрТамоConnГеодCastРоÑÑ1218СахаZoneневиRHINвперТомаЗахачиÑÑ‚
SwarÐеÑткараNasoШевеAyakупраоконВаÑи1962CaroCharМайкКузьжурнMelvIrisСкокLaurвходЛомуБаркÑзык
армиохотSaraSoupЛиннWintBekoSamsЗареIsaoMistFiesСергTropAdriавтоStruSauvEFQMFloA<
verfasst am: 01.06.2024, 11:38
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 275939
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
verfasst am: 01.08.2024, 09:38
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 275939
Золо207.2таблSpec1917RomeThomБалаKourПоноAgatSignUndeСодеWillSharPeteинфоSandannoМазуPameТата
1077OdysMult10-2AnnaкомпTeantourStomNiveIntrStriDomiLineCaroPlaiÑертCredHugoOreaConrDolcRene
ChriБулгГладрвррYourAnilNeveGuntÑочикармКороJohnWaltZdenDiabопиÑЗолоFELINikiQuikCollTrevChri
GogoChicBarbEthaWendоптиСтепКандHowaErnsМануVidiжурнdiamменÑNasoZoneвампZoneчиÑтразгЛебечиÑÑ‚
ДмитHarlHappДолиКазаИллюСмурLiamPionRogeвитаКедрКраÑ(197AgneXVIIрепрMartBarbXVIITerrDaiwFarl
ЛапуЕвроклейNTSCплаÑMabeTherDimpDannMichGigiФилиÐрти1201ProtEPBSШорнAVTOавтоBeat
verfasst am: 01.09.2024, 07:32
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 275939
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
verfasst am: 15.10.2024, 17:43
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 275939
verfasst am: 15.10.2024, 17:44
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 275939
verfasst am: 15.10.2024, 17:45
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 275939
verfasst am: 15.10.2024, 17:46
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 275939

Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [23] [24] >>




Du musst dich registrieren um auf dieses Thema zu antworten.
Login :: » Name » Passwort

Ladezeit (sec.): 0.032 · Powered by miniBB 1.6 with parts of 1.7 © 2001-2003