-
Forum: Multimedia
Delphi
by m2zer0,
8. Jun 2010
"Lösch mich"
-
Forum: Multimedia
Delphi
by m2zer0,
8. Jun 2010
Edit: Ich hatte grad nen Geistesblitz
Mit ner Repeat Until Schleife war das ganze schnell gelöst^^
Trotzdem vielen Dank
So, ich bin fast fertig. :)
Ich hab gehofft ich schaffe den Rest allein, aber ein Problem habe ich noch.
Die Platzierung der gegnerischen Schiffe. Diese soll unter den gleichen Konditionen wie die Spielerschiffe-Platzierung ablaufen.
Also:
-
Forum: Multimedia
Delphi
by m2zer0,
3. Jun 2010
Ich benutze, wie bereits aus den vorherigen posts hervorgehend, ein Array of Char. Jedes Bot hat seinen eigenen Buchstaben, welcher sich nach dem Beschuss ändert. Gleiches gilt für das Wasser.
-
Forum: Multimedia
Delphi
by m2zer0,
2. Jun 2010
Könntest du die procedure noch einmal kurz erklären?
Müsste es nicht ein array of boolean sein?
Vielen Dank schonmal für die Hilfe :)
-
Forum: Multimedia
Delphi
by m2zer0,
1. Jun 2010
habe ich bereits versucht, nur irgendwann ist die Wahrscheinlichkeit so gering das eine passende Zahl getroffen wird, das das Programm sich an der Schleife aufhängt.
-
Forum: Multimedia
Delphi
by m2zer0,
1. Jun 2010
Die Platzierung hab ich nun auch gemeister. Nun kommt das Schießen :)
Da der Com nur zufällig schießen muss, muss ich es hinbekommen das ein Zufälliges Feld, das noch nicht beschossen wurde, beschossen wird. Wie kann ich das überprüfen? Geht das mithilfe eines Arrays?
-
Forum: Multimedia
Delphi
by m2zer0,
31. Mai 2010
Was kann man denn am besten für die Platzierung der Computer Schiffe benutzen?
Ich mach mir schon seit Tagen Gedanken darüber, nur ich komm nicht darauf wie ich es anstelle ohnen einen Quelltext von einem gigantischen Ausmaß zu bekommen.. :(
-
Forum: Multimedia
Delphi
by m2zer0,
29. Mai 2010
So :)
Nun brauche ich einen Computergegner. Er muss keine Taktik haben, es reicht wenn seine Schiffe zufällig platziert werden und seine Schüsse auch zufällig sind. Die Platzierung sollte jedoch unter den gleichen Richtlinien wie die des Spielers ablaufen.
Die Frage ist nur wie? :)
Naja, es ist spät und ich brauche Schlaf. Bis morgen dann ;)
m2zer0.
-
Forum: Multimedia
Delphi
by m2zer0,
28. Mai 2010
Da ich auch gerne Anzeigen lassen würde welches Schiff versenkt würde, benutze ich lieber, wie mir einige posts zuvor gesagt wurde:
Array of Char;
Das hat recht viele Vorteile, nur mein Problem ist, dass ich nicht weiß wie ich die Schleife, die dafür sorgte, dass Schiffe nicht an/ineinander liegen, passend für Array of Char umschreibe.
Edit: Ok, das Problem hat sich grad von allein...
-
Forum: Multimedia
Delphi
by m2zer0,
28. Mai 2010
Vielen, vielen Dank :)
Es gibt nicht mehr viele Leute die so hilfsbereit sind wie du :)
Aber ich hab das Gefühl das nahezu alle hier in der DP unglaublich nett sind :)
Ich werd mir das alles morgen genauer anschauen, da ich heute im Stress bin.
Mit freundlichen Grüßen m2zer0 :)
-
Forum: Multimedia
Delphi
by m2zer0,
27. Mai 2010
Hat geklappt danke :)
Hab jetzt fast alles umgeschrieben damit array of char akzeptiert wird, nur der Teil mit dem TRect macht mir noch Probleme.
DrawGrid1.MouseToCell(X, Y,Col, Row); //Mausposition auslesen
r.Left :=Col-1;
r.Top :=Row-1;
if Horizontal=0 then
-
Forum: Multimedia
Delphi
by m2zer0,
27. Mai 2010
Mhh..
Char zu benutzen wäre auf jedenfall intelligenter, da hast du recht.
Nur hab ich noch nie damit gearbeitet, deswegen weiß ich zB. nicht wie ich meinen Quelltext daran anpassen kann.
Nehmen wir mal
begin
with sender as TDrawgrid do
begin
if arr2
-
Forum: Multimedia
Delphi
by m2zer0,
27. Mai 2010
Danke für die Antwort :)
Nur ich bin noch ein Anfänger was Delphi angeht, könntest du das "Array of Char" ein wenig erklären? Das war mir bisher noch nicht bekannt.
Vielen dank :)
-
Forum: Multimedia
Delphi
by m2zer0,
27. Mai 2010
soooo :)
Mit dem Platzieren der eigenen Schiffe bin ich endlich fertig :)
Der Quelltext sieht nun so aus:
procedure TForm1.DrawGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
Var row,col:integer;
begin
-
Forum: Multimedia
Delphi
by m2zer0,
26. Mai 2010
mhh.. Ich hab reichlich rumprobiert und es klappt auch das ich auf manchen Feldern nichts mehr setzten kann, nur das schon von Anfang an. Durch das setzen von Schiffen ändert sich auch nichts an den Feldern.. ich kann sie trotzdem noch ineinander setzen. Könntest du mir deinen Quelltext noch einmal näher erklären?
-
Forum: Multimedia
Delphi
by m2zer0,
24. Mai 2010
Vielen dank, ich werd mir nachher wenn ich Zeit hab darüber gedanken machen :)
Aber den Grundgedanken versteh ich schon :)
Falls ich das nächste mal irgendwo hängen bleibe, oder was an deinem Tipp nicht verstehe Frage ich nochmal :)
Danke. M2zer0
-
Forum: Multimedia
Delphi
by m2zer0,
24. Mai 2010
Ich bin jetzt schon relativ weit gekommen, nur wie überprüfe ich ob die Schiffe nebeneinanderliegen? Denn das sollte ja eigentlich nicht möglich sein.
Momentan sieht der Quelltext bei mir so aus:
unit Unit1;
interface
uses
-
Forum: Multimedia
Delphi
by m2zer0,
11. Mai 2010
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with sender as TDrawgrid do
begin
if arror arr
then canvas.brush.color := clred
else canvas.brush.color := clwhite;
canvas.fillrect(rect);
end;
-
Forum: Multimedia
Delphi
by m2zer0,
11. Mai 2010
Hi :)
Ich soll für die Schule das Spiel Schiffe versenken mit Delphi 5 programmieren, nur weiß ich nicht wie ich die Platzierung der Schiffe hinbekommen soll. Für das Feld will ich ein Drawgrid benutzen.Ich weiß nicht wie ich es hinbekomme, dass das Feld auf das ich klicke und das rechts daneben rot gefärbt wird. Bis jetzt wird nur das angeklickte Feld rot.
Ich hoffe ihr könnt mir helfen :)