Gra kulki?

0

Moze ktos umi napisac algorytm, ktory dzialalby jak prosta gra np. w kulki, tzn.:
Po kliknieciu na np. Forme, button znajdujacy sie w innym miejscu przesunal by sie w to miejsce?
W ten sposob moznaby napisac prosta gre strategiczna!
Piszcie co mozecie!--Wirek
e-mail : [email protected];
[email protected].
Napisz!

0

Obsluz zdarzenie OnMouseDown formy na ktorej jest Button1 w nastepujacy sposob:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Button1.Left:=X;
Button1.Top:=Y;
end;

I juz!

--Pawel

Delphi6

0

A zeby tak dzialal tylko lewy button:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then
begin
Button1.Left:=X;
Button1.Top:=Y;
end;
end;--Pawel

Delphi6

0

Sorry, ze tak na raty, ale jeszcze cos mi przyszlo do glowy.

Powyzszy kod powoduje przenoszenie guzika w miejsce klikniecia. W grze (jak zgaduje) powinna byc dozwolona tylko pewna liczba dozwolonych polozen guzika (pol na planszy).

Wymyslilem ponizszy kod korzystajac z informacji Ojca w poscie Edit+Label.
Jak latwo zauwazyc, stosuje on nie 1 a 4 guziki (bo zrobilem 4 pola), ktore sa chowane i pokazywane.
Pola to 4 Panele, w kazdy Panelu jest guzik, na starcie niewidoczny (Visible=False).

Kombinowalem zeby to bylo przenoszenie 1 guzika, ale poniewaz guziki sa w Panelach, to trzeba by chyba ten guzik destroyowac a potem create'owac w innym Panelu, ale nie chcialo mi sie myslec jak to zrobic.

Inny pomysl jest podobny do metody z postow powyzej. 1 guzik, OnMouseDown, ale X i Y z OnMouseDown nie sa przypisywana bezposrednio guzikowi, jeno analizowane i jesli trafiaja w jeden z ustalonych zakresow (pol planszy) wtedy guzik przenoszony jest (przez ustawienie jego Top i Left) na srodek odpowiedniego pola. Pola mozna narsyowac np Bevel'em.

A oto kod z 4 Panelami i 4 guzikami na nich. Sorry ze taki dlugi

unit Unit1;

interface

type
TForm1 = class(TForm)

{...tu 4 Panele, r4buttony i deklaracje PanelClick}
private
function Kontrolka(Nazwa:string):TControl;
procedure ShowButton(Number:integer);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}

procedure TForm1.Panel1Click(Sender: TObject);
begin
ShowButton(1);
end;

procedure TForm1.Panel2Click(Sender: TObject);
begin
ShowButton(2);
end;

procedure TForm1.Panel3Click(Sender: TObject);
begin
ShowButton(3);
end;

procedure TForm1.Panel4Click(Sender: TObject);
begin
ShowButton(4);
end;

function TForm1.Kontrolka(Nazwa:string):TControl;
var
I:Integer;
begin
for I:=0 to ComponentCount-1 do
if Components[I].Name=Nazwa then
Result:=Components[I] as TControl;
end;

procedure TForm1.ShowButton(Number:integer);
var
I:Integer;
begin
for I:=1 to 4 do
Form1.Kontrolka('Button'+IntToStr(I)).Hide;
Form1.Kontrolka('Button'+IntToStr(Number)).Show;
end;

end.
--Pawel

Delphi6

0

facetowi chodzilo chyba o to jak znalezc droge od miejsca gdzie jest zaznaczona kulka do miejsca klikniecia ... poszukaj sobie algorytmow na znalezienie najkrotszej drogi wyjscia z labiryntu.
Ja zaczalem kiedys robic gre w kulki ktora sie opiera na canvasie TImage, tam sa rysowane, przesuwane itp. Gre skonczylem ino sa tylko trzy premie (o ile dobrze pamietam) bo na reszte mi nie starczylo fantazji, a poza tym to jednak dosc nudne bo tyle tych gier w kulki juz powstalo ... :)

0

Ups, myslem ze chodzi o co innego. Ale to chyba nie tylko moja wina. Post Wirka byl troszke niejasny...--Pawel

Delphi6

0

A ja z kolegami z community.borland.com robilismy gierke na podstawie d2doom (jest w tym serwisie w dawnload). Gram ma trzy jezyki - angielski, polski i hiszpanski. jeden level, jedna postac, 0 przeciwnikow i 14 broni (hah, ja wymyslilem 10 :)).
No i jest fajnie, powstalo mnÓstwo gier fpp, a i tak wszystkim sie podobalo to, co zrobilismy :).

-to tak a propos gierek, ktore robimy, i ktore sie nudza-

0

pB a chce Ci sie jeszcze grac w kulki?:) ja zagralem w paru wersjach, zrobilem tez swoja ale doszedlem do wniosku ze po jakie licho sie przy tym bawic skoro i tak juz nikt w to nie gra (?). Moge usdostepnic ta moja gre jak ktos dorobi pare ladnych kulek bo ja grafikiem nie jestem i mimo ze nie wyszly mi one zle to ktos kto sie na tym zna zrobi to szybko o wiele ladniej. Po ewentualnie info prosze pisac na [email protected] :) Ciekawe czy ktos napisze :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1