![]() |
Spieleideen für ein lustiges Spiel für die Schule ...
:( Hi,
ich hab in der Schule wo ich bin das Fach Programmierlogik und bin wenn ich ehrlich bin nicht gerade sehr gut darin. :( Die erste Arbeit hab ich total verhauen mit ner 5- und unser Lehrer will uns die Chance geben das wir diese ausbessern können. Mit einem Spiel.... :shock: Doch da wir mit Delphi Version 5 Programmieren und ich das auch nur zu Hause habe, frag ich mich wie ich ein schönes super Spiel programmieren kann. Meine Idee war ja, dass man mit einem Auto fährt worin ein kleiner Vampir sitzt und man Blutkonserven einsammeln muss. Das Spiel gab es als gratis version mal von Stella und hat mir super gut gefallen. Naja man muss Blutkonserven einsammeln, darf Van Hellsing nicht umfahren aber das nette Dorfmädel vom Dorf gab noch mal Extra Punkte. Naja aber ich wollte wenn, es nicht so poppelig aussehen lassen. Und vielleicht können mir hier die Experten mit ein paar Tipps helfen. WElche Programme ich verwenden kann udn wie ich es hinkriege das es auch ne schöne Grafik ist. Ich will auf gar keinen Fall das ihr mir irgendwelche Spiele programmiert, weil ich will das selber machen und besser mit dem Fach klarkommen. Kann ja auch niemanden in meiner Abschlussprüfung hier kurz anmailen das er mir die mal gerade macht ;). Vielleicht fallen euch ja auch noch andere Ideen zu einem SPiel ein, die einzigste Bedingung die mein Lehrer anknüpft ist .. das irgendwas aufgehoben wird oder gesammelt wird. :cat: Ich hoffe ihr könnt mir helfen .. vielen lieben dank im vorraus!!! |
Re: Schulaufgabe über die Winterferien
Bevor ich mir Gedanken über die Grafik machen würde, würde ich mir Überlegen, wie ich das programmtechnisch händeln würde.
|
Re: Schulaufgabe über die Winterferien
Ja aber .. am anfang kommt doch erstmal die Grafik und dann wird Programmiert oder bin ich nu ganz doof? :shock: : :wiejetzt: gruebel:
|
Re: Schulaufgabe über die Winterferien
Also ich würd an deiner Stelle mir auch erstmal Gedanken über die umsetzung machen und wenn dann ein Grundgerüst steht, dann kannst du dir auch mehr Gedanken über die grafische Gestaltung machen. Einfach ganz simpel anfangen und dann immer weiter perfektionieren. Dann wird das schon ...
|
Re: Schulaufgabe über die Winterferien
bei 2d DelphiX bei 3d GLScene
informier dich mal darüber |
Re: Schulaufgabe über die Winterferien
Ok danke und bei Problemen kann ich ja mal eure Code Liberary rumschnüffeln udn wenn nix mehr hilft schreib ich dann hier in den Thread rein .. wenn das in Ordnung geht und danke schon mal für die antworten ^^
|
Re: Schulaufgabe über die Winterferien
Zitat:
|
Re: Schulaufgabe über die Winterferien
Na vielleicht mal überlegen...
2D / 3D DirectX / OpenGL Images auf dem Canvas verschieben? sowas in dieser Richtung... Frank |
Re: Schulaufgabe über die Winterferien
Übernimm dich lieber nicht, versuch erstmal klein anzufangen, je "lustiger" das spiel is desto mehr wird es den lehrer beeindrucken! = note 1 (is doch ueberall so)
|
Re: Schulaufgabe über die Winterferien
Ich an diener Stelle würde ja sowas wie Mohrhuhn nachprogrammieren (mit dem zusatz, das man genug hühner abschießen muss, das der jäger satt wird!), du könntest ja auch andere tiere machen z.B. Eichhörnchen
da hab ich noch ne idee: kennt jemand das spiel wo man ein kleiner Fisch ist, und fische fressen muss, die einen entgegenkommen, die aber nicht größer als einewr selbst sein dürfen! wenn man nix isst stierbt man. Das heißt glaub ich "Hungry Fish" |
Re: Schulaufgabe über die Winterferien
Moorhuhn? Hm hört sich gut an, ich meine ja nur .. ^^" ich bin dankbar für lustige ideen und das mit dem jäger hört sich schon mal lustig an. ^^
|
Re: Schulaufgabe über die Winterferien
Könntest du bitten den Titel des Themas dahingehend ändern das er etwas über dein Problem/Frage ausagt? Danke :-D
|
Re: Schulaufgabe über die Winterferien
Oh klar entschuldige ..
|
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Verzichte auf animierte Grafik!!!!!!!!!!!!!!!!!
Mach ein Brettspiel oder ein Kartenspiel oder ein Würfelspiel Brettspiel Vorschlag : -Risiko(schwer) -Ein Spiel wie Dame, mit Figuren wie Stein Schere und Papier Oder ein textbasiertes Spiel: wie zum Beispiel ein Textadventure oder eine Wirtschaftsimulation(Fussbalmanger, ..Manager) |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Zitat:
ist nämlich von icq... |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Nö, bei ICQ laufen die figuren hoch/runter/links/rechts, bei dame hüppeln die Schräg.
|
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Also ich als Spiele Programmierer (Siehe Link in mein Signatur :mrgreen: ) kann Dir nur den Tip geben:
Mach es in dieser Reihenfolge: 1. Mach Dir ne Idee, was das Spiel können soll 2. Überleg Dir, wie Du es aufbaust 3. Wenn es grafisch viel aufwendiger wird, DirectX oder OpenGL, ansonsten reicht es völlig aus mit Canvas und TBitmaps zu programmieren (verzichte möglichst mit TImages o.ä. zu arbeiten, ausgenommen statische Spiele zb. Brettspiele) 4. Den Code schreiben 5. Erst hier kommen die Grafiken ins Spiel (Tolles Wortspiel :mrgreen: ) Ggf. auch Sounds. 6. Fehlersuche / Tests / Code Optimierung Ich hoff mal ich hab nix vergessen :mrgreen: Grüßle! Edit: Oha, haben alle vergessen :mrgreen: Herzlich Willkommen in der DP :dp: :wink: |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
:mrgreen: Vielen lieben Dank für eure gaaaanz große Hilfe.
Hier nun mein Spiel, also es heißt "Catch the fairies if you can." Die dicke Hexe Laura hat ein Problem für ihr jugendliches Aussehen braut sie sich wie jedes Jahr an Halloween einen Zaubertrank. Doch das Problem ist, die wichtigste Zutat fehlt. Nämlich die FEEN selbst! Und da an Halloween sowieso hochbetrieb ist, was die Hexen angeht, muss Laura sich hüten nicht ausversehen ihre Kolleginnen einzusammeln. Soviel mal zu der Spiele Idee .. ^^ Bin es nun am umsetzen und wenn es soweit fertig ist oder .. es noch Probleme gibt melde ich mich hier. ^^ :zwinker: Aber ansonsten vielen vielen Dank für die Hilfe. ^^ Ich hoffe, dass dieses Spiel programmieren mir hilft das ich besser mit Delphi umgehen kann. ^^ :coder2: |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
:-D Find ich ne dolle Idee(guter misch-masch aus allen ideen von hier :mrgreen: ), kanste das Game wenn es fertig is mal posten??
Fänd voll in ordnung von dier |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Liste der Anhänge anzeigen (Anzahl: 1)
So Leute durch Weihnachten zu nix gekommen PC abgestürzt und nu bin ich am Anfang.
Also .. trotz das Matze so nett war und mir versucht hat zu erklären was mein Problem ist .. frag ich euch nu mal. Ich will das in dem Spiel nen Zeitbalken abläuft oder irgendwie man sieht das so und so viel Zeit vergeht. Mein Programmcode ist ..
Delphi-Quellcode:
Könnte einer so freundlich sein und mir erkären was nu ProgressBar ist und so weiter .. o.O" Ach ja hier nen Screenshoot schon mal vorab. Es ist nit viel ich weiß aber es wird noch hoffe ich...
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; ImLaura: TImage; ImFee1: TImage; Timer2: TTimer; procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Timer2Timer(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; vx, vy: integer; counter: Integer = 0; implementation {$R *.DFM} procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin case Key of VK_LEFT: begin ImLaura.Left := ImLaura.Left - 5; Key := 0; end; VK_RIGHT: begin ImLaura.Left := ImLaura.Left + 5; Key := 0; end; VK_UP: begin ImLaura.Top := ImLaura.Top - 5; Key := 0; end; VK_DOWN: begin ImLaura.Top := ImLaura.Top + 5; Key := 0; end; end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin ImFee1.visible:=true; ImFee1.Left := ImFee1.Left + vx; ImFee1.Top := ImFee1.Top + vy; if (ImFee1.Left > ClientWidth - ImFee1.Width - 1) or (ImFee1.Left < 1) then vx := vx * -1; if (ImFee1.Top > ClientHeight - ImFee1.Height - 1) or (ImFee1.Top < 1) then vy := vy * -1; end; procedure TForm1.FormCreate(Sender: TObject); begin Randomize; vx := -10 + Random(50); vy := -10 + Random(50); end; procedure TForm1.Timer2Timer(Sender: TObject); begin inc(counter); ProgressBar1.Progress := i; end; end. [edit=sakura] Bild im Anhang. Mfg, sakura[/edit] |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Ach du bist das. ;)
Die TProgressBar befindet sich auf dem Reiter "Win32". Einen Fortschrittsbalken kannst du auf verschiedene Art und Weise lösen. Eine anschauliche wäre beispielsweise diese hier:
Delphi-Quellcode:
Wenn du mit dem Canvas umgehen kannst, dann kannst du auch auf diesem deine eigene (schönere) zeichnen.
var
Form1: TForm1; Counter_Sec: Integer = 0; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin ProgressBar1.Max := 120; end; procedure TForm1.Timer1Timer(Sender: TObject); begin inc(Counter_Sec); ProgressBar1.Position := Counter_Sec; if Counter_Sec = 120 then begin // The End end; end; |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
ah danke schön nein ich kann nicht mit canvas umgehen aber mit progressbar geht es ^^
|
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Delphi-Quellcode:
Brauche wieder Hilfe ich weiß nicht wie ich zählen soll also die Icons/images die angeklickt wurden und wie ich das nun ausgebe?!
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, ComCtrls; type TForm1 = class(TForm) Timer1: TTimer; Image1: TImage; ImLaura: TImage; ImFee1: TImage; ProgressBar1: TProgressBar; procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; vx, vy: integer; Counter_Sec: Integer = 0; StopTimer: boolean = false; implementation {$R *.DFM} procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin case Key of VK_LEFT: begin ImLaura.Left := ImLaura.Left - 5; Key := 0; end; VK_RIGHT: begin ImLaura.Left := ImLaura.Left + 5; Key := 0; end; VK_UP: begin ImLaura.Top := ImLaura.Top - 5; Key := 0; end; VK_DOWN: begin ImLaura.Top := ImLaura.Top + 5; Key := 0; end; end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if not StopTimer then begin ImFee1.visible:=true; ImFee1.Left := ImFee1.Left + vx; ImFee1.Top := ImFee1.Top + vy; inc(Counter_Sec); ProgressBar1.Position := Counter_Sec; ProgressBar1.Perform($0409, 0, clTeal); if (ImFee1.Left > ClientWidth - ImFee1.Width - 1) or (ImFee1.Left < 1) then vx := vx * -1; if (ImFee1.Top > ClientHeight - ImFee1.Height - 1) or (ImFee1.Top < 1) then vy := vy * -1; if Counter_Sec = 10 then begin ImFee1.visible:=false; ImLaura.visible:=false; Timer1.Interval:=0; Form1.Caption:=('Spiel ist vorbei'); end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Randomize; vx := -10 + Random(50); vy := -10 + Random(50); ProgressBar1.Max := 10; end; procedure TForm1.FormClick(Sender: TObject); begin StopTimer := true; ImFee1.Visible := false; end; end. |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Irgendwie komm ich nicht hinter das Spieleprinzip. Wie ich das sehe, hast du nun ein Image, das sich da umherbewegt und sobald du irgendwohin auf das Formular klickst, verschwindet es. Ich würde eher ein Zielobjekt erstellen, bzw mehrere (evtl. in einer eigenen Klasse, falls du das kannst), die sich unabhängig voneinander bewegen und alle das selbe OnClick-Ereignis besitzen. Da kannst du dann die Treffer zählen und auch die Images ausblenden (freigeben).
|
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Also
a) ich wollte zuerst mit einer Figur die Feen einsammeln deswegen auch das Hotkey verfahren b) dann wurde mir das zu kompliziert und ich hab das ganze mit der Maus angefangen... Nu redest du für mich von böhmischen Dörfern. Ich wollte nach und nach dann die anderen Feen einfügen ... wäre zwar sehr lang geworden aber ich weiß h alt es nit anders. Ich weiß auch nit wie ich das hinkriege das diese Icons keinen weißen Hintergrund haben. Ich hab von so vielem keinen Peil .. und dabei brauch ich die Note sehr sehr dringend.!!!! Sonst hätte ich längst aufgegeben. Ich suche stundenlang in Google rum wie man in Delphi zählt und krieg irgendwie nix gebacken. Eigentlich soll man feen fangen und wenn man ne bestimmte anzahl an feen hat kann man das nächste level machen. *seufz* |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Hi Ayslynn,
ich verstehe auch noch nicht so ganz wie das Spielprinzip sein soll, aber versuche dir mit dem was du zählen willst zu helfen. Ich habe mal in c++ einen Shooter gemacht in dem man einen Roboter abschießen musste, und wenn man diesen 10 mal getroffen hatte lief er schneller. (ein level weiter). Du könntest es so machen mit dem zählen, das du eine Public Variable vom Typ Integer nimmst z.B highscore : Integer; Und jedes mal wenn du so eine Fee fängst, dann rufst du eine funktion auf die deine highscore variable beispielsweise erhöht um 1 oder 10. (Habe bei mir noch eine funktion drin gehabt die beim daneben schießen den highscore wieder verkleinert hat, machte es was schwieriger.) So, hoffe habe verstanden was du wolltest und dir hilft das weiter. greetz Lun P.S: viel Erfolg |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Das bringt mich immernoch nicht weiter was ist ne Puplic Variable .. *total verwirrt ist* Leute ich hab ne 4 und ne 5 in zwei Arbeiten über Delphi geschrieben ... ich bin kein Genie *verzweifelt ist* :wall: :wiejetzt: :cry:
|
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Auch wenn du 20 bist, würde ich dir das Buch "Delphi für Kids" ans herz legen. Da werden solche Sachen bestens erklärt. Auch wie man Klassen vereinbart etc. Wenn du dich dann noch ein Bisschen über TCanvas schlau machst (delphi-hilfe), solltest du sicher in der lage sein so ein spiel zu programmieren.
|
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Also setzte deine highscore:Integer Variable hier hin.
Delphi-Quellcode:
dahin die funktion
var
Form1: TForm1; vx, vy: integer; Counter_Sec: Integer = 0; StopTimer: boolean = false; highscore : Integer = 0;
Delphi-Quellcode:
die definition
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormClick(Sender: TObject); procedure sethighscore(Sender : TObject); private { Private-Deklarationen }
Delphi-Quellcode:
Aufruf:implementation procedure Tform1.setHighscore(Sender : Tobject) begin highscore := highscore + 10; end; ich denke mal hier fängst du die Fee
Delphi-Quellcode:
So in etwa ist jetzt aus dem steh greif da ich nicht so viel zeit habe, hoffe das es so deutlicher ist.
procedure TForm1.FormClick(Sender: TObject);
begin StopTimer := true; ImFee1.Visible := false; setHighscore(); end; greetz Lun P.S: Für die Ausgabe, ein Label auf das form und dann Label1.Text := IntToStr(highscore); Aber würde mir an deiner stelle auch mal ein paar Tutorials angucken. |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Danke *seufz* werd ich machen ^^
|
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Delphi-Quellcode:
HILFE bei mir funktioniert es einfach nicht wenn ich ne Midi Datei abspiele trotz TMedia Komponente... kann mir jemand helfen?
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, ComCtrls, StdCtrls, MPlayer; type TForm1 = class(TForm) Timer1: TTimer; Image1: TImage; ImFee1: TImage; ProgressBar1: TProgressBar; Label1: TLabel; MediaPlayer1: TMediaPlayer; procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure ImFee1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private-Deklarationen } procedure CreateNewDirection; public { Public-Deklarationen } end; var Form1: TForm1; vx, vy: integer; Counter_zSec: Integer = 0; Counter_Sec: Integer = 0; highscore : Integer = 0; const SEC = 10; implementation {$R *.DFM} procedure TForm1.Timer1Timer(Sender: TObject); begin ImFee1.visible:=true; ImFee1.Left := ImFee1.Left + vx; ImFee1.Top := ImFee1.Top + vy; inc(Counter_zSec); if Counter_zSec mod 5 = 0 then begin inc(Counter_Sec); ProgressBar1.Position := Counter_Sec; ProgressBar1.Perform($0409, 0, clTeal); end; if (ImFee1.Left > Image1.Width - ImFee1.Width - 1) or (ImFee1.Left < 1) then vx := vx * -1; if (ImFee1.Top > Image1.Height - ImFee1.Height - 1) or (ImFee1.Top < 1) then vy := vy * -1; if Counter_Sec = 10 then begin Form1.Caption:=('Spiel ist vorbei'); ImFee1.Visible := false; Timer1.Enabled := false; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Randomize; DoubleBuffered := true; ProgressBar1.Max := 10; CreateNewDirection; end; procedure TForm1.CreateNewDirection; begin vx := -10 + Random(50); vy := -10 + Random(50); end; procedure TForm1.ImFee1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ImFee1.Visible := false; mediaplayer1.play; CreateNewDirection; ImFee1.Left := Random(Image1.Width-ImFee1.Width); ImFee1.Top := random(Image1.Height - ImFee1.Height); highscore := highscore + 10; Label1.Caption := 'Highscore: ' + IntToStr(highscore); end; end. |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Hi,
ich erinner' mich gerade an ein Spiel, das ich selbst mal für die Schule programmiert habe (12. Klasse, weiß auch nicht, wie viel das mit "Programmierlogic" zu tun hat) Man muss in diesem Spiel Münzen aufsammeln. Es heißt "Catch the Coins" und ist auf meiner Homepage (mit Sourcecode für Delphi 7). Hat schöne Grafik, Sound, 'ne Highscoreliste und mir volle Punktzahl eingebracht :-D Hier der Direktlink: ![]() Vielleicht kannst du es gebrauchen. dartrax |
Re: Spieleideen für ein lustiges Spiel für die Schule ...
Danke für das Spiel nur da sind ja wahnsinnig viele .. Befehle .. *gar nit durchgeblickt hat*
Naja ich wollte noch nen Highscore in mein Spiel einbauen .. ich meine .. wenn man ne gewisse anzahl geschafft hat kommt man ins nächste Level von Leicht auf Mittel von Mittel auf Schwer und dann halt noch ne Siegermeldung (wenn man ein Level geschafft hat), die gesamtenpunkte sollen dann in einer Highscoreliste erscheinen. Kann mir da jemand noch nen Tipp dafür geben?
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, ComCtrls, StdCtrls, MPlayer; type TForm1 = class(TForm) Timer1: TTimer; ImLevel1: TImage; ProgressBar1: TProgressBar; ImTitelbild: TImage; BtSpielbeginnen: TButton; BtSpielregeln: TButton; ImLevel: TImage; BtLeicht: TButton; BtMittel: TButton; BtSchwer: TButton; BtZurueck: TButton; BtAbbrechen: TButton; TitelMusik: TMediaPlayer; ImFeer1: TImage; ImFeer3: TImage; ImFeer2: TImage; ImFeer5: TImage; Imfeer6: TImage; ImFeer7: TImage; ImFeer8: TImage; ImFeer4: TImage; ImHexer1: TImage; Level1: TMediaPlayer; ImLevel2: TImage; ImHexeg2: TImage; ImHexeg1: TImage; Level2: TMediaPlayer; ImFeeg1: TImage; ImFeeg3: TImage; ImFeeg4: TImage; ImFeeg2: TImage; ImFeeg5: TImage; ImFeeg6: TImage; Timer2: TTimer; ImLevel3: TImage; ImFeeb1: TImage; ImFeeb2: TImage; ImFeeb4: TImage; ImFeeb3: TImage; ImHexeb1: TImage; ImHexeb2: TImage; ImHexeb8: TImage; ImHexeb4: TImage; ImHexeb5: TImage; ImHexeb7: TImage; ImHexeb3: TImage; ImHexeb6: TImage; Timer3: TTimer; Level3: TMediaPlayer; Label1: TLabel; procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BtSpielbeginnenClick(Sender: TObject); procedure BtZurueckClick(Sender: TObject); procedure BtLeichtClick(Sender: TObject); procedure ImFeer1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImHexer1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure BtAbbrechenClick(Sender: TObject); procedure BtMittelClick(Sender: TObject); procedure Timer2Timer(Sender: TObject); procedure ImFeeg1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImHexeg1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure BtSchwerClick(Sender: TObject); procedure Timer3Timer(Sender: TObject); procedure ImFeeb2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImHexeb1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private-Deklarationen } procedure CreateNewDirection; public { Public-Deklarationen } end; var Form1: TForm1; vx, vy: integer; xv, yv: integer; Counter_zSec: Integer = 0; Counter_Sec: Integer = 0; highscore : Integer = 0; const SEC = 45; implementation {$R *.DFM} procedure TForm1.Timer1Timer(Sender: TObject); begin begin ImFeer1.visible:=true; ImFeer1.Left := ImFeer1.Left + vx; ImFeer1.Top := ImFeer1.Top + vy; ImFeer2.visible:=true; ImFeer2.Left := ImFeer2.Left + vx; ImFeer2.Top := ImFeer2.Top + vy; ImFeer3.visible:=true; ImFeer3.Left := ImFeer3.Left + vx; ImFeer3.Top := ImFeer3.Top + vy; ImFeer4.visible:=true; ImFeer4.Left := ImFeer4.Left + vx; ImFeer4.Top := ImFeer4.Top + vy; ImFeer5.visible:=true; ImFeer5.Left := ImFeer5.Left + vx; ImFeer5.Top := ImFeer5.Top + vy; ImFeer6.visible:=true; ImFeer6.Left := ImFeer6.Left + vx; ImFeer6.Top := ImFeer6.Top + vy; ImFeer7.visible:=true; ImFeer7.Left := ImFeer7.Left + vx; ImFeer7.Top := ImFeer7.Top + vy; ImFeer8.visible:=true; ImFeer8.Left := ImFeer8.Left + vx; ImFeer8.Top := ImFeer8.Top + vy; ImHexer1.visible:=true; ImHexer1.Left := ImHexer1.Left + xv; ImHexer1.Top := ImHexer1.Top + yv; inc(Counter_zSec); if Counter_zSec mod 5 = 0 then begin inc(Counter_Sec); ProgressBar1.Position := Counter_Sec; ProgressBar1.Perform($0409, 0, clred); end; if (ImFeer1.Left > ImLevel1.Width - ImFeer1.Width - 1) or (ImFeer1.Left < 1) then vx := vx * -1; if (ImFeer1.Top > ImLevel1.Height - ImFeer1.Height - 1) or (ImFeer1.Top < 1) then vy := vy * -1; if (ImFeer2.Left > ImLevel1.Width - ImFeer2.Width - 1) or (ImFeer2.Left < 1) then vx := vx * -1; if (ImFeer2.Top > ImLevel1.Height - ImFeer2.Height - 1) or (ImFeer2.Top < 1) then vy := vy * -1; if (ImFeer3.Left > ImLevel1.Width - ImFeer3.Width - 1) or (ImFeer3.Left < 1) then vx := vx * -1; if (ImFeer3.Top > ImLevel1.Height - ImFeer3.Height - 1) or (ImFeer3.Top < 1) then vy := vy * -1; if (ImFeer4.Left > ImLevel1.Width - ImFeer4.Width - 1) or (ImFeer4.Left < 1) then vx := vx * -1; if (ImFeer4.Top > ImLevel1.Height - ImFeer4.Height - 1) or (ImFeer4.Top < 1) then vy := vy * -1; if (ImFeer5.Left > ImLevel1.Width - ImFeer5.Width - 1) or (ImFeer5.Left < 1) then vx := vx * -1; if (ImFeer5.Top > ImLevel1.Height - ImFeer5.Height - 1) or (ImFeer5.Top < 1) then vy := vy * -1; if (ImFeer6.Left > ImLevel1.Width - ImFeer6.Width - 1) or (ImFeer6.Left < 1) then vx := vx * -1; if (ImFeer6.Top > ImLevel1.Height - ImFeer6.Height - 1) or (ImFeer6.Top < 1) then vy := vy * -1; if (ImFeer7.Left > ImLevel1.Width - ImFeer7.Width - 1) or (ImFeer7.Left < 1) then vx := vx * -1; if (ImFeer7.Top > ImLevel1.Height - ImFeer7.Height - 1) or (ImFeer7.Top < 1) then vy := vy * -1; if (ImFeer8.Left > ImLevel1.Width - ImFeer8.Width - 1) or (ImFeer8.Left < 1) then vx := vx * -1; if (ImFeer8.Top > ImLevel1.Height - ImFeer8.Height - 1) or (ImFeer8.Top < 1) then vy := vy * -1; if (ImHexer1.Left > ImLevel1.Width - ImHexer1.Width - 1) or (ImHexer1.Left < 1) then xv := xv * -2; if (ImHexer1.Top > ImLevel1.Height - ImHexer1.Height - 1) or (ImHexer1.Top < 1) then yv := yv * -2; if Counter_Sec = 45 then begin Form1.Caption:=('Leichtes Level ist vorbei'); ImFeer1.Visible := false; ImFeer2.Visible:=false; ImFeer3.Visible:=false; ImFeer4.Visible := false; ImFeer5.Visible:=false; ImFeer6.Visible:=false; ImFeer7.Visible:=false; ImFeer8.Visible:=false; ImHexer1.visible:=false; Timer1.Enabled := false; end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin TitelMusik.Start; TitelMusik.Play; Randomize; DoubleBuffered := true; ProgressBar1.Max := 60; CreateNewDirection; end; procedure TForm1.CreateNewDirection; begin vx := -10 + Random(50); vy := -10 + Random(50); xv:= -1 + Random (10); yv:= -1 + Random (10); end; procedure TForm1.ImHexer1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ImHexer1.visible:=false; CreateNewDirection; ImHexer1.Left := Random(ImLevel1.Width-ImHexer1.Width); ImHexer1.Top := random(ImLevel1.Height - ImHexer1.Height); highscore := highscore - 5; Label1.Caption := 'Highscore: ' + IntToStr(highscore); end; procedure TForm1.BtSpielbeginnenClick(Sender: TObject); begin TitelMusik.Play; TitelMusik.Start; Level1.Stop; Level1.Pause; ImTitelbild.visible:=false; ImLevel.visible:=true; BtLeicht.visible:=true; BtMittel.visible:=true; BtSchwer.visible:=true; BtZurueck.visible:=true; Form1.Caption:='Leveleditor'; BtSpielbeginnen.visible:=false; BtSpielregeln.visible:=false; end; procedure TForm1.BtZurueckClick(Sender: TObject); begin TitelMusik.Play; TitelMusik.Start; Level1.Stop; Level1.Pause; ImTitelbild.visible:=true; ImLevel.visible:=false; BtLeicht.visible:=false; BtMittel.visible:=false; BtSchwer.visible:=false; BtZurueck.visible:=false; BtSpielbeginnen.visible:=true; BtSpielregeln.visible:=true; end; procedure TForm1.BtLeichtClick(Sender: TObject); begin Titelmusik.Stop; Titelmusik.Pause; Level1.Start; Level1.Play; ImLevel.visible:=false; BtLeicht.visible:=false; BtMittel.visible:=false; BtSchwer.visible:=false; BtZurueck.visible:=false; //Menü 1 aus ImLevel1.visible:=true; Timer1.Enabled:=true; ProgressBar1.visible:=true; Form1.Caption:='Level Leicht'; Label1.visible:=true; BtAbbrechen.visible:=true; //Level 1 gestartet end; procedure TForm1.ImFeer1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin begin ImFeer1.Visible := false; ImFeer2.Visible:=false; ImFeer3.Visible:=false; ImFeer4.Visible := false; ImFeer5.Visible:=false; ImFeer6.Visible:=false; ImFeer7.Visible:=false; ImFeer8.Visible:=false; CreateNewDirection; ImFeer1.Left := Random(ImLevel1.Width-ImFeer1.Width); ImFeer1.Top := random(ImLevel1.Height - ImFeer1.Height); ImFeer2.Left := Random(ImLevel1.Width-ImFeer2.Width); ImFeer2.Top := random(ImLevel1.Height - ImFeer2.Height); ImFeer3.Left := Random(ImLevel1.Width-ImFeer3.Width); ImFeer3.Top := random(ImLevel1.Height - ImFeer3.Height); ImFeer4.Left := Random(ImLevel1.Width-ImFeer4.Width); ImFeer4.Top := random(ImLevel1.Height - ImFeer4.Height); ImFeer5.Left := Random(ImLevel1.Width-ImFeer5.Width); ImFeer5.Top := random(ImLevel1.Height - ImFeer5.Height); ImFeer6.Left := Random(ImLevel1.Width-ImFeer6.Width); ImFeer6.Top := random(ImLevel1.Height - ImFeer6.Height); ImFeer7.Left := Random(ImLevel1.Width-ImFeer7.Width); ImFeer7.Top := random(ImLevel1.Height - ImFeer7.Height); ImFeer8.Left := Random(ImLevel1.Width-ImFeer8.Width); ImFeer8.Top := random(ImLevel1.Height - ImFeer8.Height); highscore := highscore + 20; Label1.Caption := 'Highscore: ' + IntToStr(highscore); end; end; procedure TForm1.BtAbbrechenClick(Sender: TObject); begin TitelMusik.Play; TitelMusik.Start; Level1.Pause; Level1.Stop; Level2.Pause; Level2.Stop; Level3.Pause; Level3.Stop; ImLevel3.visible:=false; ImLevel2.visible:=false; ImLevel.visible:=true; BtLeicht.visible:=true; BtMittel.visible:=true; BtSchwer.visible:=true; BtZurueck.visible:=true; //Menü 1 ein ImLevel1.visible:=false; Timer1.Enabled:=false; ProgressBar1.visible:=false; Form1.Caption:='Leveleditor'; Label1.visible:=false; BtAbbrechen.visible:=false; ImFeer1.Visible := false; ImFeer2.Visible:=false; ImFeer3.Visible:=false; ImFeer4.Visible := false; ImFeer5.Visible:=false; ImFeer6.Visible:=false; ImFeer7.Visible:=false; ImFeer8.Visible:=false; ImHexer1.visible:=false; ImFeeg1.Visible := false; ImFeeg2.visible:=false; ImFeeg3.visible:=false; ImFeeg4.Visible := false; ImFeeg5.Visible:=false; ImFeeg6.Visible:=false; ImHexeg1.visible:=false; ImHexeg2.visible:=false; Timer2.Enabled := false; ImFeeb1.Visible := false; (*blaue Feen aus*) ImFeeb2.Visible:=false; ImFeeb3.Visible:=false; ImFeeb4.Visible:=false; ImHexeb1.visible:=false; (*blaue Hexen aus*) ImHexeb2.visible:=false; ImHexeb3.visible:=false; ImHexeb4.visible:=false; ImHexeb5.visible:=false; ImHexeb6.visible:=false; ImHexeb7.visible:=false; ImHexeb8.visible:=false; Timer3.Enabled :=false; end; procedure TForm1.BtMittelClick(Sender: TObject); begin TitelMusik.Stop; TitelMusik.Pause; Level2.Play; Level2.Start; ImTitelbild.visible:=false; ImLevel2.visible:=true; BtLeicht.visible:=false; BtMittel.visible:=false; BtSchwer.visible:=false; BtZurueck.visible:=false; BtAbbrechen.visible:=true; ProgressBar1.visible:=true; Label1.visible:=true; Form1.Caption:='Sie spielen den mittle schwere Version'; ImFeeg1.Visible := true; ImFeeg2.Visible:=true; ImFeeg3.Visible:=true; ImFeeg4.Visible := true; ImFeeg5.Visible:=true; ImFeeg6.Visible:=true; ImHexeg1.visible:=true; ImHexeg2.visible:=true; Timer2.enabled:=true; end; procedure TForm1.Timer2Timer(Sender: TObject); begin begin ImFeeg1.visible:=true; ImFeeg1.Left := ImFeeg1.Left + vx; ImFeeg1.Top := ImFeeg1.Top + vy; ImFeeg2.visible:=true; ImFeeg2.Left := ImFeeg2.Left + vx; ImFeeg2.Top := ImFeeg2.Top + vy; ImFeeg3.visible:=true; ImFeeg3.Left := ImFeeg3.Left + vx; ImFeeg3.Top := ImFeeg3.Top + vy; ImFeeg4.visible:=true; ImFeeg4.Left := ImFeeg4.Left + vx; ImFeeg4.Top := ImFeeg4.Top + vy; ImFeeg5.visible:=true; ImFeeg5.Left := ImFeeg5.Left + vx; ImFeeg5.Top := ImFeeg5.Top + vy; ImFeeg6.visible:=true; ImFeeg6.Left := ImFeeg6.Left + vx; ImFeeg6.Top := ImFeeg6.Top + vy; ImHexeg1.visible:=true; ImHexeg1.Left := ImHexeg1.Left + xv; ImHexeg1.Top := ImHexeg1.Top + yv; ImHexeg2.visible:=true; ImHexeg2.Left := ImHexeg2.Left + xv; ImHexeg2.Top := ImHexeg2.Top + yv; inc(Counter_zSec); if Counter_zSec mod 5 = 0 then begin inc(Counter_Sec); ProgressBar1.Position := Counter_Sec; ProgressBar1.Perform($0409, 0, clgreen); end; if (ImFeeg1.Left > ImLevel2.Width - ImFeeg1.Width - 1) or (ImFeeg1.Left < 1) then vx := vx * -1; if (ImFeeg1.Top > ImLevel2.Height - ImFeeg1.Height - 1) or (ImFeeg1.Top < 1) then vy := vy * -1; if (ImFeeg2.Left > ImLevel2.Width - ImFeeg2.Width - 1) or (ImFeeg2.Left < 1) then vx := vx * -1; if (ImFeeg2.Top > ImLevel2.Height - ImFeeg2.Height - 1) or (ImFeeg2.Top < 1) then vy := vy * -1; if (ImFeeg3.Left > ImLevel2.Width - ImFeeg3.Width - 1) or (ImFeeg3.Left < 1) then vx := vx * -1; if (ImFeeg3.Top > ImLevel2.Height - ImFeeg3.Height - 1) or (ImFeeg3.Top < 1) then vy := vy * -1; if (ImFeeg4.Left > ImLevel2.Width - ImFeeg4.Width - 1) or (ImFeeg4.Left < 1) then vx := vx * -1; if (ImFeeg4.Top > ImLevel2.Height - ImFeeg4.Height - 1) or (ImFeeg4.Top < 1) then vy := vy * -1; if (ImFeeg5.Left > ImLevel2.Width - ImFeeg5.Width - 1) or (ImFeeg5.Left < 1) then vx := vx * -1; if (ImFeeg5.Top > ImLevel2.Height - ImFeeg5.Height - 1) or (ImFeeg5.Top < 1) then vy := vy * -1; if (ImFeeg6.Left > ImLevel2.Width - ImFeeg6.Width - 1) or (ImFeeg6.Left < 1) then vx := vx * -1; if (ImFeeg6.Top > ImLevel2.Height - ImFeeg6.Height - 1) or (ImFeeg6.Top < 1) then vy := vy * -1; if (ImHexeg1.Left > ImLevel2.Width - ImHexeg1.Width - 1) or (ImHexeg1.Left < 1) then xv := xv * -1; if (ImHexeg1.Top > ImLevel2.Height - ImHexeg1.Height - 1) or (ImHexeg1.Top < 1) then yv := yv * -1; if (ImHexeg2.Left > ImLevel2.Width - ImHexeg2.Width - 1) or (ImHexeg2.Left < 1) then xv := xv * -1; if (ImHexeg2.Top > ImLevel2.Height - ImHexeg2.Height - 1) or (ImHexeg2.Top < 1) then yv := yv * -1; if Counter_Sec = 45 then begin Form1.Caption:=('Das mittel schwere Level ist vorbei'); ImFeeg1.Visible := false; ImFeeg2.Visible:=false; ImFeeg3.Visible:=false; ImFeeg4.Visible := false; ImFeeg5.Visible:=false; ImFeeg6.Visible:=false; ImHexeg1.visible:=false; ImHexeg2.visible:=false; Timer2.Enabled := false; end; end; end; procedure TForm1.ImHexeg1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin begin ImHexeg1.Visible := false; ImHexeg2.Visible:=false; ImHexeg1.Left := Random(ImLevel2.Width-ImHexeg1.Width); ImHexeg1.Top := random(ImLevel2.Height - ImHexeg1.Height); ImHexeg2.Left := Random(ImLevel2.Width-ImHexeg2.Width); ImHexeg2.Top := random(ImLevel2.Height - ImHexeg2.Height); highscore := highscore - 10; Label1.Caption := 'Highscore: ' + IntToStr(highscore); Label1.Color:=clgreen; end; end; procedure TForm1.ImFeeg1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin begin ImFeeg1.Visible := false; ImFeeg2.visible:=false; ImFeeg3.visible:=false; ImFeeg4.Visible := false; ImFeeg5.Visible:=false; ImFeeg6.Visible:=false; CreateNewDirection; ImFeeg1.Left := Random(ImLevel2.Width-ImFeeg1.Width); ImFeeg1.Top := random(ImLevel2.Height - ImFeeg1.Height); ImFeeg2.Left := Random(ImLevel2.Width-ImFeeg2.Width); ImFeeg2.Top := random(ImLevel2.Height - ImFeeg2.Height); ImFeeg3.Left := Random(ImLevel2.Width-ImFeeg3.Width); ImFeeg3.Top := random(ImLevel2.Height - ImFeeg3.Height); ImFeeg4.Left := Random(ImLevel2.Width-ImFeeg4.Width); ImFeeg4.Top := random(ImLevel2.Height - ImFeeg4.Height); ImFeeg5.Left := Random(ImLevel2.Width-ImFeeg5.Width); ImFeeg5.Top := random(ImLevel2.Height - ImFeeg5.Height); ImFeeg6.Left := Random(ImLevel2.Width-ImFeeg6.Width); ImFeeg6.Top := random(ImLevel2.Height - ImFeeg6.Height); highscore := highscore + 20; Label1.Caption := 'Highscore: ' + IntToStr(highscore); Label1.Color:=clgreen; end; end; procedure TForm1.BtSchwerClick(Sender: TObject); begin TitelMusik.Stop; TitelMusik.Pause; Level3.Play; Level3.Start; ImTitelbild.visible:=false; ImLevel3.visible:=true; BtLeicht.visible:=false; BtMittel.visible:=false; BtSchwer.visible:=false; BtZurueck.visible:=false; BtAbbrechen.visible:=true; ProgressBar1.visible:=true; Label1.visible:=true; Form1.Caption:='Sie spielen die schwere Version'; ImFeeb1.Visible :=true; ImFeeb2.Visible:=true; ImFeeb3.Visible:=true; ImFeeb4.Visible:=true; ImHexeb1.visible:=true; ImHexeb2.visible:=true; ImHexeb3.visible:=true; ImHexeb4.visible:=true; ImHexeb5.visible:=true; ImHexeb6.visible:=true; ImHexeb7.visible:=true; ImHexeb8.visible:=true; Timer3.enabled:=true; end; procedure TForm1.Timer3Timer(Sender: TObject); begin ImHexeb1.visible:=true; ImHexeb1.Left := ImHexeb1.Left + xv; ImHexeb1.Top := ImHexeb1.Top + yv; (*erste blaue Hexe*) ImHexeb2.visible:=true; ImHexeb2.Left := ImHexeb2.Left + xv; ImHexeb2.Top := ImHexeb2.Top + yv; (*Zweite blaue Hexe*) ImHexeb3.visible:=true; ImHexeb3.Left := ImHexeb3.Left + xv; ImHexeb3.Top := ImHexeb3.Top + yv; (*dritte blaue Hexe*) ImHexeb4.visible:=true; ImHexeb4.Left := ImHexeb4.Left + xv; ImHexeb4.Top := ImHexeb4.Top + yv; (*erste blaue Hexe*) ImHexeb5.visible:=true; ImHexeb5.Left := ImHexeb5.Left + xv; ImHexeb5.Top := ImHexeb5.Top + yv; (*Zweite blaue Hexe*) ImHexeb6.visible:=true; ImHexeb6.Left := ImHexeb6.Left + xv; ImHexeb6.Top := ImHexeb6.Top + yv; (*dritte blaue Hexe*) ImHexeb7.visible:=true; ImHexeb7.Left := ImHexeb7.Left + xv; ImHexeb7.Top := ImHexeb7.Top + yv; (*Zweite blaue Hexe*) ImHexeb8.visible:=true; ImHexeb8.Left := ImHexeb3.Left + xv; ImHexeb8.Top := ImHexeb3.Top + yv; (*dritte blaue Hexe*) ImFeeb1.visible:=true; ImFeeb1.Left := ImFeeb1.Left + vx; ImFeeb1.Top := ImFeeb1.Top + vy; (*erste blaue Fee*) ImFeeb2.visible:=true; ImFeeb2.Left := ImFeeb2.Left + vx; ImFeeb2.Top := ImFeeb2.Top + vy; (*Zweite blaue Fee*) ImFeeb3.visible:=true; ImFeeb3.Left := ImFeeb3.Left + vx; ImFeeb3.Top := ImFeeb3.Top + vy; (*dritte blaue Fee*) ImFeeb4.visible:=true; ImFeeb4.Left := ImFeeb4.Left + vx; ImFeeb4.Top := ImFeeb4.Top + vy; inc(Counter_zSec); if Counter_zSec mod 5 = 0 then begin inc(Counter_Sec); ProgressBar1.Position := Counter_Sec; ProgressBar1.Perform($0409, 0, clTeal); end; if (ImFeeb1.Left > ImLevel3.Width - ImFeeb1.Width - 1) or (ImFeeb1.Left < 1) then vx := vx * -1; if (ImFeeb1.Top > ImLevel3.Height - ImFeeb1.Height - 1) or (ImFeeb1.Top < 1) then vy := vy * -1; (*erste blaue Fee*) if (ImFeeb2.Left > ImLevel3.Width - ImFeeb2.Width - 1) or (ImFeeb2.Left < 1) then vx := vx * -1; if (ImFeeb2.Top > ImLevel3.Height - ImFeeb2.Height - 1) or (ImFeeb2.Top < 1) then vy := vy * -1; (*zweite blaue Fee*) if (ImFeeb3.Left > ImLevel3.Width - ImFeeb3.Width - 1) or (ImFeeb3.Left < 1) then vx := vx * -1; if (ImFeeb3.Top > ImLevel3.Height - ImFeeb3.Height - 1) or (ImFeeb3.Top < 1) then vy := vy * -1; (*dritte blaue Fee*) if (ImFeeb4.Left > ImLevel3.Width - ImFeeb4.Width - 1) or (ImFeeb4.Left < 1) then vx := vx * -1; if (ImFeeb4.Top > ImLevel3.Height - ImFeeb4.Height - 1) or (ImFeeb4.Top < 1) then vy := vy * -1; if (ImHexeb1.Left > ImLevel3.Width - ImHexeb1.Width - 1) or (ImHexeb1.Left < 1) then xv := xv * -1; if (ImHexeb1.Top > ImLevel3.Height - ImHexeb1.Height - 1) or (ImHexeb1.Top < 1) then yv := yv * -1; if (ImHexeb2.Left > ImLevel3.Width - ImHexeb2.Width - 1) or (ImHexeb2.Left < 1) then xv := xv * -1; if (ImHexeb2.Top > ImLevel3.Height - ImHexeb2.Height - 1) or (ImHexeb2.Top < 1) then yv := yv * -1; if (ImHexeb3.Left > ImLevel3.Width - ImHexeb3.Width - 1) or (ImHexeb3.Left < 1) then xv := xv * -1; if (ImHexeb3.Top > ImLevel3.Height - ImHexeb3.Height - 1) or (ImHexeb3.Top < 1) then yv := yv * -1; if (ImHexeb4.Left > ImLevel3.Width - ImHexeb4.Width - 1) or (ImHexeb4.Left < 1) then xv := xv * -1; if (ImHexeb4.Top > ImLevel3.Height - ImHexeb4.Height - 1) or (ImHexeb4.Top < 1) then yv := yv * -1; if (ImHexeb5.Left > ImLevel3.Width - ImHexeb5.Width - 1) or (ImHexeb5.Left < 1) then xv := xv * -1; if (ImHexeb5.Top > ImLevel3.Height - ImHexeb5.Height - 1) or (ImHexeb5.Top < 1) then yv := yv * -1; if (ImHexeb6.Left > ImLevel3.Width - ImHexeb6.Width - 1) or (ImHexeb6.Left < 1) then xv := xv * -1; if (ImHexeb6.Top > ImLevel3.Height - ImHexeb6.Height - 1) or (ImHexeb6.Top < 1) then yv := yv * -1; if (ImHexeb7.Left > ImLevel3.Width - ImHexeb7.Width - 1) or (ImHexeb7.Left < 1) then xv := xv * -1; if (ImHexeb7.Top > ImLevel3.Height - ImHexeb7.Height - 1) or (ImHexeb7.Top < 1) then yv := yv * -1; if (ImHexeb8.Left > ImLevel3.Width - ImHexeb8.Width - 1) or (ImHexeb8.Left < 1) then xv := xv * -1; if (ImHexeb8.Top > ImLevel3.Height - ImHexeb8.Height - 1) or (ImHexeb8.Top < 1) then yv := yv * -1; if Counter_Sec = 45 then begin Form1.Caption:=('Spiel ist vorbei'); ImFeeb1.Visible := false; (*blaue Feen aus*) ImFeeb2.Visible:=false; ImFeeb3.Visible:=false; ImFeeb4.Visible:=false; ImHexeb1.visible:=false; (*blaue Hexen aus*) ImHexeb2.visible:=false; ImHexeb3.visible:=false; ImHexeb4.visible:=false; ImHexeb5.visible:=false; ImHexeb6.visible:=false; ImHexeb7.visible:=false; ImHexeb8.visible:=false; Timer3.Enabled := false; end; end; procedure TForm1.ImFeeb2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ImFeeb1.Visible := false; ImFeeb2.Visible:=false; ImFeeb3.Visible:=false; ImFeeb4.Visible:=false; ImFeeb1.Left := Random(ImLevel3.Width-ImFeeb1.Width); ImFeeb1.Top := random(ImLevel3.Height - ImFeeb1.Height); ImFeeb2.Left := Random(ImLevel3.Width-ImFeeb2.Width); ImFeeb2.Top := random(ImLevel3.Height - ImFeeb2.Height); ImFeeb3.Left := Random(ImLevel3.Width-ImFeeb3.Width); ImFeeb3.Top := random(ImLevel3.Height - ImFeeb3.Height); ImFeeb4.Left := Random(ImLevel3.Width-ImFeeb4.Width); ImFeeb4.Top := random(ImLevel3.Height - ImFeeb4.Height); highscore := highscore + 20; Label1.Caption := 'Highscore: ' + IntToStr(highscore); end; procedure TForm1.ImHexeb1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin begin ImHexeb1.Visible := false; ImHexeb2.Visible:=false; ImHexeb3.Visible:=false; ImHexeb4.visible:=false; ImHexeb5.visible:=false; ImHexeb6.visible:=false; ImHexeb7.visible:=false; ImHexeb8.visible:=false; ImHexeb1.Left := Random(ImLevel3.Width-ImHexeb1.Width); ImHexeb1.Top := random(ImLevel3.Height - ImHexeb1.Height); ImHexeb2.Left := Random(ImLevel3.Width-ImHexeb2.Width); ImHexeb2.Top := random(ImLevel3.Height - ImHexeb2.Height); ImHexeb3.Left := Random(ImLevel3.Width-ImHexeb3.Width); ImHexeb3.Top := random(ImLevel3.Height - ImHexeb3.Height); ImHexeb4.Left := Random(ImLevel3.Width-ImHexeb4.Width); ImHexeb4.Top := random(ImLevel3.Height - ImHexeb4.Height); ImHexeb5.Left := Random(ImLevel3.Width-ImHexeb5.Width); ImHexeb5.Top := random(ImLevel3.Height - ImHexeb5.Height); ImHexeb6.Left := Random(ImLevel3.Width-ImHexeb6.Width); ImHexeb6.Top := random(ImLevel3.Height - ImHexeb6.Height); ImHexeb7.Left := Random(ImLevel3.Width-ImHexeb7.Width); ImHexeb7.Top := random(ImLevel3.Height - ImHexeb7.Height); ImHexeb8.Left := Random(ImLevel3.Width-ImHexeb8.Width); ImHexeb8.Top := random(ImLevel3.Height - ImHexeb8.Height); highscore := highscore - 15; Label1.Caption := 'Highscore: ' + IntToStr(highscore); end; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 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