AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Elfmeterschießen Spiel - Frage zum Aufbau

Ein Thema von ShadowDeath · begonnen am 12. Apr 2017 · letzter Beitrag vom 21. Apr 2017
 
ShadowDeath

Registriert seit: 11. Apr 2017
10 Beiträge
 
#1

Elfmeterschießen Spiel - Frage zum Aufbau

  Alt 12. Apr 2017, 19:08
Hallo Leute,
nun zu meinem nächsten 'Problem'. Erstmal was möchte ich programmieren? Dazu habe ich euch eine Skizze unten angehängt. Also man soll den Ball durch die 4 Buttons bzw mit den Pfeiltasten nach unten, oben & nach links und rechts bewegen können. Bei Go soll der Ball abgeschossen werden und sobald er die Torlinie überquert soll eine Messagebox mit 'GOAL' aufploppen. Bisher habe ich es geschafft den Ball per Timer nach vorne bis zum Tor zu bewegen. Die Kollision habe ich auch getestet doch die hatte nicht den gewünschten Effekt. Als Tor habe ich mom. ein Panel um die Kollision zu testen. Aber ich möchte ja später, wie auf dem Bild oben und unten jeweils eine Aus Linie haben und NUR wenn der Ball zwischen den beiden Torpfosten(-linien) ist soll er Goal ausgeben ---> Abfragen ob der Ball zwischen den Pfosten ist & breite des Balls mit einbeziehen. Zusätzlich soll der Ball nur bis zum Ende des Tors bewegt werden --> Timer 1-2 sec. nach der Kollision stoppen? Sobald der Ball gegen einen Pfosten kommt soll 'Pfosten' ausgegeben werden und wenn der Ball ins Aus geht, dann soll er 'Aus' ausgeben und beim bestätigen des Dialoges das Spiel resetten ---> confirmationDLG? Das Spielfeld an sich soll Grün sein --> Grünes Image als Hintergrund? Wie würdet ihr das am besten lösen?

Hier mein bisheriger Test Code (mehr Experiment als etwas wirkliches):
Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.StdCtrls,
  Vcl.ExtCtrls, Vcl.ExtDlgs, Vcl.Imaging.pngimage;

type
  TForm1 = class(TForm)
    Button1: TButton;
    TrackBar1: TTrackBar;
    Button2: TButton;
    OpenPictureDialog1: TOpenPictureDialog;
    Timer1: TTimer;
    Image1: TImage;
    Panel1: TPanel;
    procedure TrackBar1Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  vx: Integer = 1;
  i: Integer = 0;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form1.DoubleBuffered := True;
  Timer1.Enabled := true;
end;

function IsCollision (Rect1, Rect2: TRect): Boolean;
begin
  Result := (Rect1.Right > Rect2.Left) and
            (Rect2.Right > Rect1.Left) and
            (Rect1.Bottom > Rect2.Top) and
            (Rect2.Bottom > Rect1.Top);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
    Image1.Left := Image1.Left + vx;
  if Image1.Left > ClientWidth - Image1.Width - 1 then
    vx := vx * -1;
  if Image1.Left < 1 then
    vx := vx * -1;
  if IsCollision(Image1.BoundsRect, Panel1.BoundsRect) then
       If i = 0 then
       begin
       i := i+1;
       Timer1.Enabled := false;
       ShowMessage('TORR!!!11');
       Panel1.SendToBack;
       end
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  Image1.Width := 30 * Trackbar1.Position;
  Image1.Height := 30 * Trackbar1.Position;
end;

end.
Angehängte Grafiken
Dateityp: png Skizze.PNG (99,1 KB, 36x aufgerufen)
Angehängte Dateien
Dateityp: zip Elfmeter.zip (3,62 MB, 6x aufgerufen)
  Mit Zitat antworten Zitat
 


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 08:29 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 by Thomas Breitkreuz