AGB  ·  Datenschutz  ·  Impressum  







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

break it problem

Ein Thema von speedy23 · begonnen am 31. Jan 2010 · letzter Beitrag vom 1. Feb 2010
Antwort Antwort
Seite 5 von 6   « Erste     345 6      
speedy23

Registriert seit: 11. Nov 2008
76 Beiträge
 
#41

Re: break it problem

  Alt 31. Jan 2010, 19:14
achsoo
dann muss ich mal nochn bissl rumodivizieren hfftl bekomm ichs hin
...oh yeah...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#42

Re: break it problem

  Alt 31. Jan 2010, 19:18
erstmal: VERGiß das CONST.

du brauchst Variablen, welche veränderbar sein müssen.

lege sie in das PRIVATE der Form.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, sSkinManager, Buttons, sBitBtn, StdCtrls, sButton, jpeg,
  ExtCtrls, sPanel;

type
  TForm1 = class(TForm)
    sSkinManager1: TsSkinManager;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Hilfe1: TMenuItem;
    NeuesSpiel1: TMenuItem;
    Beenden1: TMenuItem;
    Image1: TImage;
    Startknopf: TsButton;
    Pauseknopf: TsBitBtn;
    reflektor: TImage;
    Shape1: TShape;
    Timer1: TTimer;
    procedure PauseknopfClick(Sender: TObject);
    procedure StartknopfClick(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure NeuesSpiel1Click(Sender: TObject);

  private
    { Private-Deklarationen }
    dx, dy: Integer;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.PauseknopfClick(Sender: TObject);
begin
  {Spiel pausieren und button pause unsichtbar --> Start sichtbar}
pauseknopf.visible:=false;
timer1.enabled:=false;
end;

procedure TForm1.StartknopfClick(Sender: TObject);
begin
  {macht den pauseknopf sichtbar, setzt spiel fort}
  timer1.Enabled:=true;
  pauseknopf.Visible:=True;
  dx := 5;
  dy := 5;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

   case ord(key) of
     vk_left:
       if reflektor.left > 110 then
         reflektor.left:=reflektor.left-14;
     vk_right:
       if (reflektor.left < 426) then
         reflektor.left:=reflektor.left+14;
   end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if (Shape1.Top <= image1.Top) or (Shape1.Top >= image1.Top + image1.Height - Shape1.Height) then
  begin
    dy := -dy;
  end;
  if (Shape1.Left <= image1.Left ) or (Shape1.Left >= image1.Left + image1.Width - Shape1.Width) then
  begin
    dx := -dx;
  end;

  Shape1.Left := Shape1.Left + dx;
  Shape1.Top := Shape1.Top + dy;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
timer1.Enabled:=false;

end;

procedure TForm1.NeuesSpiel1Click(Sender: TObject);

begin
timer1.enabled:=true;

end;

end.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#43

Re: break it problem

  Alt 31. Jan 2010, 19:19
Zitat von speedy23:
achsoo
dann muss ich mal nochn bissl rumodivizieren hfftl bekomm ichs hin
Klar bekommst du das hin..
Ein bißchen mußt auch selbst machen sonst macht es keinen Spass mehr und es bleibt nichts hängen.

gruss
  Mit Zitat antworten Zitat
speedy23

Registriert seit: 11. Nov 2008
76 Beiträge
 
#44

Re: break it problem

  Alt 31. Jan 2010, 19:21
habs tauuuusend dank... ich hoffe ich bin euch nicht zusehr auf die nerven gefallen

ich melde mich wieder wenn ich noch fragen habe, ist ja noch lange nicht fertig das projekt (wenn ch noch darf )
...oh yeah...
  Mit Zitat antworten Zitat
speedy23

Registriert seit: 11. Nov 2008
76 Beiträge
 
#45

Re: break it problem

  Alt 31. Jan 2010, 19:23
kennt ihr das break it spielsystem... meine frage ist gerade... ich habe ja dann oben die steine...
die müssen alle reflektieren und dann unsichtbar werden und nichtmehr reflektieren(nach kollision)... was aber passiert wenn ich alle steine abgeräumt habe und ich will nen neues level? das programm läuft dann ja einmal...ich kann ja nicht wärend der laufzeit neue steine erstellen oder?
blöd formuliert, aber wisst ihr wie ich meine?
...oh yeah...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: break it problem

  Alt 31. Jan 2010, 19:30
Zitat:
die müssen alle reflektieren und dann unsichtbar werden und nichtmehr reflektieren(nach kollision)... was aber passiert wenn ich alle steine abgeräumt habe und ich will nen neues level? das programm läuft dann ja einmal...ich kann ja nicht wärend der laufzeit neue steine erstellen oder?
Warum nicht? Einfach Timer anhalten Steine setzen. Ball neu positionieren.
Zudem würde ich dx/dy nicht als absolute Deltawerte nehmen, sondern als Maxwert. Bei Kollision mit Steinen könnte man diese dann ändern.
Markus Kinzler
  Mit Zitat antworten Zitat
speedy23

Registriert seit: 11. Nov 2008
76 Beiträge
 
#47

Re: break it problem

  Alt 31. Jan 2010, 20:10
stimmt das ist ne gute idee, danke dir

i hab auch gerade überlegt
die reflektion am schläger müsste ja eigentlich nur

wenn beim shape linke obere ecke - höhe (quasi dann linke untere ecke) <= die ebene(linie) als y wert begrenzt durch die horizintale ausdehnung des schlägers sein, oder bin ich falsch? es geht mir nur um den ansatz
...oh yeah...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: break it problem

  Alt 31. Jan 2010, 20:24
Es besteht halt nur die Gefahr, dass der Ball dann durch den Schläger "springt"
Markus Kinzler
  Mit Zitat antworten Zitat
speedy23

Registriert seit: 11. Nov 2008
76 Beiträge
 
#49

Re: break it problem

  Alt 31. Jan 2010, 20:25
stimmt... hmm... äähm... aber mit "gleich" geht das doch nicht oder ? besteht dann nicht die möglichkeit das es nie zu einer übereinstimmung kommt?
...oh yeah...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: break it problem

  Alt 31. Jan 2010, 20:27
Eine Gleichheit wird sehr selten zustandekommen, deshalb muss es auf jedenfall <= >= heißen. Da der Schläger aber so dünn ist, könnte es trotzdem geschehen, dass keine Kollision erkannt wird
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 6   « Erste     345 6      


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 09:43 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