Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.10.18
Prihlásený: 07.10.18
Príspevky: 3
Témy: 1
Príspevok NapísalOffline : 07.10.2018 17:43

Dobrý deň, chcel by som poprosiť niekoho, kto sa vyzná v Delphi, či by mi mohol pomôcť s príkladom:
Vytvorte aplikáciu s názvom "chyť štvorec". V programe sa bude náhodne na 1 sekundu zobrazovať štvorec s rozmermi 30x30 bodov. Úlohou hráča bude kliknúť na daný štvorec. Ak sa mu podarí na daný štvorec kliknúť, získava bod. Doplňte dva výpisi - v prvom sa bude zobrazovať počet správnych klikov, v druhom počet nesprávnych. Pridajte možnosť nastaviť viac úrovní hry (rýchlosť použitím scrollbaru). Hra končí výpisom, ak dosiahne hodnotu 10 počet uhádnutých alebo neuhádnutých stlačení. Doplňte tlačidlá na ukončenie a resetovanie hry.
Všetko už mám, akurát neviem, ako by som mal napísať to "kliknutie" myši na štvorec a či je kliknutie správne alebo nesprávne, pomohol by mi s tým niekto?
Robím to cez Image a Timer.
Ďakujem


Offline

Užívateľ
Užívateľ
Prosím o menšiu pomoc s Delphi

Registrovaný: 12.10.06
Prihlásený: 19.04.24
Príspevky: 20307
Témy: 79
Bydlisko: Banska Byst...
Príspevok NapísalOffline : 07.10.2018 18:38

image.onclick udalost?
tak vies detekovat, ci sa na dany prvok (image, button, alebo defakto takmer hocico v okne) kliklo a ak ano, vykona sa udalost v image.onclick procedure. inac sa vykona hocico ine, co specifikujes.







_________________
Ryzen 7 3700X | SilentiumPC Fera 3 | Asrock X570M Pro4 | Patriot Viper 4 Blackout 16GB DDR4-3600 CL17 | Gainward RTX4060 Ti Pegasus 8GB | Samsung 970evo Plus 250GB NVMe | Corsair MP510 1TB NVMe | Samsung 980 Pro 2TB NVMe | Corsair RM550x | 24" BenQ GW2470H | 3x Noctua NF-S12B redux 1200 PWM
Xiaomi Mi 9 Lite 64GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.10.18
Prihlásený: 07.10.18
Príspevky: 3
Témy: 1
Príspevok Napísal autor témyOffline : 07.10.2018 18:56

OK, Ďakujem za radu, ospravedlňujem sa, celkovo som sa zle vyjadril ja potrebujem v tej ploche toho image aby sa ten štvorec zobrazoval náhodne a neviem ako by som mal napísať to kliknutie, keďže ten štvorec stále mení pozíciu.
Resp. ako by som zameral ten obsah štvorca.


Offline

Užívateľ
Užívateľ
Prosím o menšiu pomoc s Delphi

Registrovaný: 19.05.08
Prihlásený: 19.04.24
Príspevky: 664
Témy: 28
Bydlisko: Slovensko
Príspevok NapísalOffline : 07.10.2018 19:03

Vsak postni sem co mas, to je zaklad tejto sekcie. A hlavne cast kde generujes ten stvorec a zobrazujes na obrazovku na urcitu poziciu.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.10.18
Prihlásený: 07.10.18
Príspevky: 3
Témy: 1
Príspevok Napísal autor témyOffline : 07.10.2018 19:08

Snažím sa to nejako takto, ale je to asi zlé:


Kód:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    ScrollBar1: TScrollBar;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ScrollBar1Change(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);

  private

    { private declarations }
  public
    { public declarations }

  end;

var
  Form1: TForm1;
     x:integer;
     y:integer;
     x1:integer;
     y1:integer;
     spravne:integer;
     nespravne:integer;

implementation

{$R *.lfm}

{ TForm1 }
 procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled:=True;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  x := Mouse.CursorPos.X;
  y := Mouse.CursorPos.Y;
   Label4.Caption:='Position: '+IntToStr(X)+', '+IntToStr(Y);
  if shift=[ssleft] then
    begin
   if (x=x1) and (y=y1) then spravne:=spravne+1;
    end
  else
   nespravne:=nespravne+1;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
  procedure zmaz;
    begin
    Image1.Canvas.Brush.Color:=clWhite;
    Image1.Canvas.FillRect(Image1.ClientRect);
    end;
  begin
  Randomize;
  zmaz;
   Image1.Canvas.Brush.Color:=clRed;
  Image1.Canvas.Rectangle(400+x1, 400+y1,430+x1,430+y1);
  x1:=x1+Random(100)+30;
  y1:=y1+Random(100)+30;
  Label1.Caption:='Position: '+IntToStr(X1)+', '+IntToStr(Y1);
  Label2.Caption:='spravny: '+IntToStr(spravne);
  Label3.Caption:='nespravny: '+IntToStr(nespravne);
end;

procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
   Timer1.Interval := Scrollbar1.Position+500;
end;


end.



// Spojený príspevok 07.10.2018 21:12

Už to mám.


Odpovedať na tému [ Príspevkov: 5 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. potrebujem mensiu info/pomoc ohladne phpbb a hyperlinkov

v Redakčné systémy

5

489

13.03.2007 22:59

matwej Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi pomoc

v Delphi, Visual Basic

4

622

12.01.2017 15:55

void Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc v delphi

v Delphi, Visual Basic

4

1510

18.11.2006 13:30

p55p Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi: Pomoc s Edit

v Delphi, Visual Basic

8

1413

20.06.2009 20:22

SVD Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomoc zo vstupom Edit Delphi

v Delphi, Visual Basic

4

857

28.02.2010 19:42

SVD Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomoc s programovaním programu v Delphi 7

v Delphi, Visual Basic

6

1177

02.12.2007 12:11

MANIAC Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc pomoc prosim nefunguje internet

v Ovládače

7

1132

09.09.2017 20:37

Smith Wesson Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. delphi zapis cisla do editu v delphi

v Delphi, Visual Basic

3

1105

11.05.2008 12:02

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Procesor ma mensiu frekvenciu

v Intel - Integrated Electronics

3

363

05.07.2010 12:36

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prosim Prosim POMOC

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Antivíry a antispywary

43

1644

16.12.2013 19:55

Mandy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Auto pre mensiu firmu s malou spotrebou

v Ostatné

13

1197

24.08.2006 22:38

Harlequin Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. I/K: microSD kartu - 2gb alebo menšiu

v Kúpim

7

422

04.01.2014 21:01

pepkopav Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prosim POMOC!

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Procesory

34

2044

09.11.2008 10:32

pukepulos Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PROSIM POMOC

v Antivíry a antispywary

11

1484

18.05.2008 17:53

br4n0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prosím pomoc

v Operačné systémy Microsoft

8

527

20.11.2008 15:47

snow23 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. prosim o pomoc

v Audio programy

1

579

14.07.2009 19:49

psichac Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra