AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Labyrinth Spiel-Ist das Möglich?

Labyrinth Spiel-Ist das Möglich?

Ein Thema von Patrick6 · begonnen am 6. Jan 2011 · letzter Beitrag vom 11. Jan 2011
Antwort Antwort
Patrick6

Registriert seit: 4. Jan 2011
28 Beiträge
 
#1

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 16:22
Also ich hab mir das jetzt mal so überlegt:
Ich hab einen Start- und einen Ziel-Button. WENN ich auf den StartButton geklickt habe, aktivierts den Pen und wenn ich über das Image fahre zeichent es. Wenn ich beim Ziel-Button angelangt bin, klick ich dort drauf, den Pen deaktivierts und man hat gewonnen.
Nun hab ich da schon ein wenig rumprobiert, aber komm auf keinen grünen Zweig...
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 17:25
Lass die Buttons weg, reagiere auf Mousedown im Bild, wenn an der richtigen Stelle da wo Start steht die Maus gedrückt wird aktivierst Du den Pen, jedes Mausmove führt zu einem Paint, nachdem Du geprüft hast ob die Maus nicht schon die Wand berührt(dann Abbruch). Ein MouseUp an der falschen Stelle (da wo nicht Ende steht) führt ebenfalls zum Abbruch.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Patrick6

Registriert seit: 4. Jan 2011
28 Beiträge
 
#3

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 17:31
Okay klingt gut...Wie kann ich so Felder bestimmen? Wenn hier gedrückt, dann...?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 17:35
Die Position hast Du ja im MouseDown, entweder Du weißt wo Start und Ende sind, dann ala
HitStart := (x >= sx1) and (x <= sx2) and (y >= sy1) and (y <= sy2) oder Du hast das Startfeld eindeutig Farblich markiert, dann könntest Du prüfen ob Pixels[x,y]=StartFarbe.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Patrick6

Registriert seit: 4. Jan 2011
28 Beiträge
 
#5

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 18:14
hmm...ich bekomm das einfach nicht hin. Hab es mal mit einem Panel versucht aber dann lief es nicht und einen Bereich festzulegen hab ich auch nicht hinbekommen...Könntest du vielleicht mal den ganzen Code posten? Vielleicht versteh ichs dann besser
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#6

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 18:17
Gegenvorschlag: poste doch einfach Deinen Code, dann können wir sehen, wieso es nicht läuft.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Patrick6

Registriert seit: 4. Jan 2011
28 Beiträge
 
#7

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 7. Jan 2011, 15:07
Hey, also ich habe noch nichtmal viele Ideen, wie ich das mit Codes anwenden könnte, deshalb hab ich es einfach mal so dazugeschrieben, wie ich mir es ungefähr vorstell. Vielleicht könnt ihr mir ja ein wenig helfen.


Delphi-Quellcode:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  {wenn Farbe blau, fängt Pen an zu zeichnen} {Versuch: if Pixel[x,y] := blue then} Image1.Canvas.MoveTo (X, Y);
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  begin
   {wenn Pen "aktiviert", dann}
   if ssLeft in Shift then
   Image1.Canvas.LineTo(X, Y)
  end;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   {wenn farbe rot, dann pen deaktivieren)
   {ShowMessage(Gewonnen!)}

end;
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 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