AGB  ·  Datenschutz  ·  Impressum  







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

Labyrinth Spiel-Ist das Möglich?

Ein Thema von Patrick6 · begonnen am 6. Jan 2011 · letzter Beitrag vom 11. Jan 2011
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Patrick6

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

Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 14:44
Hallo zusammen

Ich bin auf die Idee gekommen, ein kleines Spiel zu programmieren. Es sollte so aussehen: Man läd eine "Karte" hoch, die ein Labyrint darstellt. Durch dieses Labyrinth muss man dann mit gedrückter Linker Maustaste mit dem Zeichenstift durch und bis ans Ziel kommen (welches ein Button darstellt, der dann anzeigt: "Gewonnen").

Nun ist die Frage ob es überhaupt möglich ist, z.B. eine "Game Over" MEldung anzuzeigen, wenn der Spieler mit dem Stift aus dem Labyrinth rausgeht.

Danke für die Antworten im voraus...

Grüße

Edit: Mir fällt ein, es müsste auch einen Start-Button geben, den man mit dem Ziel-Button irgendwie verknüpft, dass es nur "Gewonnen" anzeigt, wenn die ganze Zeit über von "Start-Button-Move" bis "Ziel-Button-Move" der Pen "aktiviert war und gemalt wurde.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 14:53
Warum sollte das nicht möglich sein?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
265 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 14:56
Jap, ist möglich.

btw: Hättest du in deinem alten Thread zwischen den Zeilen gelesen, wären schon ein Teil deiner Fragen beantwortet.
Delphi programming is awesome.

Geändert von pustekuchen ( 6. Jan 2011 um 14:59 Uhr)
  Mit Zitat antworten Zitat
Patrick6

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

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 16:04
Ja, das hab ich schon gelesen:

"Image1.Picture.LoadFromFile(fileName);
TImage.OnMouseLeave"

Wie man ein Bild öffnet hab ich ja schon. Nur das Ereignis TImage.OnMouseLeave find ich nicht.

Ich hatte auch eher an etwas gedacht wie, "Wenn pen auf schwarzer hintergrund: Game OVer" Oder so ähnlich.
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 16:15
Ich glaube die OnMouseLeave-Ereignisse gibt es erst seit neueren Delphi-Versionen ...
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  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
 
#6

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 16:58
Falls es die Events erst in neueren Versionen gibt, einfach selbst einbauen:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TImage=Class(ExtCtrls.TImage)
  private
    FOnMouseLeave: TNotifyEvent;
    FOnMouseEnter: TNotifyEvent;
    procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
    procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;

  published
  Property OnMouseLeave:TNotifyEvent read FOnMouseLeave Write FOnMouseLeave;
  Property OnMouseEnter:TNotifyEvent read FOnMouseEnter Write FOnMouseEnter;

  End;
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TImage }

procedure TImage.CMMouseEnter(var Message: TMessage);
begin
  if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);
  inherited;
end;

procedure TImage.CMMouseLeave(var Message: TMessage);
begin
  if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
  inherited;
end;

end.
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
 
#7

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 17: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
 
#8

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 18: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
 
#9

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 18: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
 
#10

AW: Labyrinth Spiel-Ist das Möglich?

  Alt 6. Jan 2011, 18: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
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 23:29 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