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
Seite 2 von 4     12 34   
Patrick6

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

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.536 Beiträge
 
Delphi 11 Alexandria
 
#12

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
 
#13

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
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 7. Jan 2011, 15:24
Ich halte es eigentlich für keine gute Idee, die Farbe der Zeichenfläche auszuwerten, aber wenn es denn sein muss:
Delphi-Quellcode:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Image1.Canvas.Pixels[x,y] = clBlue then
    begin
      //PenActive soll eine private Variable sein
      PenActive := true;
      Image1.Canvas.MoveTo (X, Y);
    end;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 if PenActive and (ssLeft in Shift) then
   Image1.Canvas.LineTo(X, Y)
end;
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
 
#15

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 7. Jan 2011, 15:33
OKay, danke schonmal

Geändert von Patrick6 ( 7. Jan 2011 um 16:07 Uhr)
  Mit Zitat antworten Zitat
Patrick6

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

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 7. Jan 2011, 16:15
Also ich hab das jetzt so weit...Mein Code für ein 'Game Over' klappt aber noch nicht ganz. Er sieht so aus:

Delphi-Quellcode:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  begin
   if PenActive and (ssLeft in Shift) then
   {if ssLeft in Shift then}
   Image1.Canvas.LineTo(X, Y);
  end;
   begin;
    if Image1.Canvas.Pixels[x,y] =clyellow then
    PenActive := false;
   end;
    begin
     if PenActive and (Image1.Canvas.Pixels[x,y] =clyellow)
     then ShowMessage('Game Over');
    end;
end;
Kann ich die beiden ifs nochmal zusammen fassen mit einem finally oder so?
Und dann sollte ja auch, wenn GameOver kommt, die Spur gelöscht werden. das müsste ja auch noch in diese Abfrage rein...if PenActive and (Image1.Canvas.Pixels[x,y]=clyellow) then Image1.Canvas.Pen.Destroy...oder so ähnlich?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 7. Jan 2011, 17:12
Da würde ich einmal durchsteppen. Deine Setzung von "begin"s und "end"s ist sehr kreativ, daran wird es vermutlich liegen.
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
 
#18

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 7. Jan 2011, 23:29
Hab jetzt einfach bei MouseMove nur die Message anzeigen, wenn die gelbe Linie berührt wird und bei MouseUp dann PenActive:=false...so klappt das!

Ich schließe aber gleich meine nächste Frage an, die ich noch hab. Ich möchte, nachdem ein "Level" abgeschlossen ist, direkt das nächste laden. Ich zeige ja dann eine MEssage und wenn ich dann auf okay klicke, sollte das nächste geladen werden...Code bis dato:

Delphi-Quellcode:
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   if PenActive and (Image1.Canvas.Pixels[x,y] = clred) then
    ShowMessage('Herzlichen Glückwunsch! Sie haben dieses Level geschafft! Weiter gehts mit dem Nächsten!');
    {Image1.Picture.Bitmap.LoadFromFile('C:\Dokumente und Einstellungen\Jäger\Desktop\Delphi7\Bilder\Labyrinth2.bmp');}
   PenActive := false;
end;
Ich hab keine Ahnung, wie ich das dort einbinden könnt...


Grüße und danke für die Hilfe von euch...

Geändert von Patrick6 ( 7. Jan 2011 um 23:32 Uhr)
  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
 
#19

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 7. Jan 2011, 23:58
Bild laden
gegf. suchen wie ClientToScreen tickt
SetCursorPos(x,y)
und weiter gehts...
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
 
#20

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 8. Jan 2011, 13:02
DAs hab ich jetzt so halbwegs hinbekommen. Auf eine etwas andere Art und Weise.

Jetzt noch eine Frage. Ist es möglich in einem Bereich im Image per prozedur die Farbe zu ändern?
Könnte dies für Checkpoints bei dem SPiel gebrauchen.
  Mit Zitat antworten Zitat
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 10:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz