![]() |
Ein Feld im Array zufällig anwählen
Hallo Leute!
Ich, der Delphi-Anfänger, habe eine kurze (für euch sicherlich sehr einfache) Frage: Wie kann ich in einem 2D-Array mit 10x10 Feldern ein zufälliges davon anwählen? Gruß Informatik-LK |
Re: Ein Feld im Array zufällig anwählen
[Wenn dein Name Programm ist, dann hast du ein kleines Problem]
Suche mal nach random und randomize! |
Re: Ein Feld im Array zufällig anwählen
Delphi-Quellcode:
Ungetestet und davon ausgehend, dass das Array [0..9,0..9] deklariert wurde.
x := Feld[Random(10), Random(10)];
|
Re: Ein Feld im Array zufällig anwählen
Zitat:
schaut es dann so aus. :stupid:
Delphi-Quellcode:
var
x: array [1..10, 1..10] of ...; // irgend wo im FormCreate // randomize; //... x := Feld[1+Random(10), 1+Random(10)]; |
Re: Ein Feld im Array zufällig anwählen
Danke erstmal für eure Antworten. Nur hat einer aus meinem Kurs gesagt, eure Idee wäre falsch, da der Variablen ja nur eine Zahl zugewiesen wird?
In unserem Kurs geht es darum, "Schiffe versenken" zu programmieren. Ich habe die Aufgabe, die einfache (wir haben mehrere Levels geplant) KI zu schreiben. Ihre Funktion ist das zufällige Auswählen eines Feldes und es dementsprechend, ob nun Wasser oder ein Schiff getroffen bzw. versenkt wurde, mit einem Wert zu versehen. Alle Felder haben zu Beginn "0" als Wert, d.h., dass noch nicht auf sie geschossen wurde. Wenn ein auf ein leeres Feld des Spielers geschossen wurde, kommt der Wert "1" zustande usw. Ich habe also folgende Fragen: 1) Warum hat mein Kollege aus dem Info-Kurs euren Vorschlag bezüglich
Delphi-Quellcode:
als inkorrekt dahingestellt?
x := Feld[Random(10), Random(10)];
2) Ich kann sozusagen überhaupt nichts selber in Delphi schreiben. Ich habe mich im ersten der vier Halbjahre im Leistungskurs nur mit Abschreiben durchmogeln können. Habt ihr irgendwelche Tipps, wie ich mich in Delphi gut reinfinden könnte? Ich weiß echt nicht woran es liegt, dass ich ständig vor einer leeren Unit sitze und wirklich fast gar nichts auf den Bildschirm bekomme. Gruß Informatik-LK |
Re: Ein Feld im Array zufällig anwählen
Vielleicht so?
Delphi-Quellcode:
grüße
x := random(10);
y := random(10); case feld[x,y] of 0 : feld[x,y]:=1; 1 : ... end; Klaus |
Re: Ein Feld im Array zufällig anwählen
Moiun, Moin ...LK
zu 1) Keine Ahnung, meiner Meinung ist das die Antwort auf die ursprüngliche Frage. Die Antwort geht aber einen Schritt weiter: Es wird nicht nur ein zufälliges Feld ausgewählt, sondern zusätzlich auch der Inhalt dieses zufälligen Feldes bestimmt. zu 2) Ist 'ne sehr subjektive Meinung: Entweder der Funke springt sehr schnell über - oder eben gar nicht. Wenn es bei dir schon seit so langer Zeit nicht "gefunkt" hat, dann würde ich mich sehr wundern, wenn es igendwann doch noch geschieht. Gruß Ralph :hi: |
Re: Ein Feld im Array zufällig anwählen
Zitat:
Zitat:
Denke bitte darüber nach, damit ich mich für meine Ausssage nicht noch rechtfertigen muss. |
Re: Ein Feld im Array zufällig anwählen
Du, s-off, meinst also, dass es doch noch sein kann, dass es bei mir "Pling!" macht? :wink:
|
Re: Ein Feld im Array zufällig anwählen
Zitat:
Ich behaupte mal, dass es bei jedem 'klick' machen kann; bei dem Einen dauert es ggf. länger als bei dem anderen, was aber nichts über irgendwelche Zugänge zum Thema aussagt. Was natürlich Grundvoraussetzung für ein OnClick ist, ist Interesse für das Thema. Ad hoc würde ich sagen, dass Du Interesse hast, da Dui sonst wohl keinen Informatikkurs gewählt hast. Und dass Du seit einem halben Jahr nur abschreibst, zeugt auch nicht unbedingt von Desinteresse. Weiter kann ich Dich leider nicht beurteilen. Würde ich ein Profil für Dich erstellen müssen, würde ich sagen: 'Informatikinteressierter, der aber irgendwie den Anschluss verpasst hat, und dadurch nicht wieder auf die richtige Spur kommt - Motivation und Aha-Erlebnisse fehlen.' Und da wieder auf den 'richtigen' Weg zu kommen - da helfen so demotivierende Sprüche nicht. Das kann natürlich auch alles vollkommen falsch sein, was ich geschrieben habe; nix Genaues weiß man nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz