Witam!
Uprzedzam, że to moja pierwsza gra, więc proszę o wyrozumiałość :) Prosiłbym Was tylko o zajrzenie do kodu i zobaczenia, czy można byłoby coś poprawić lub z czym mogę mieć problem w przyszłości. Nadmienię tylko, że jest to gra w stylu Bombermana. Z góry dziękuje za pomoc i fatygę.
0
0
Ja chyba przeszedłem ją od razu, bo pokazał mi się wynik:
Co wygrałem?
0
Nie mogę tego uruchomić, więc tylko popatrzę trochę na kod:
type TGracz = class(TImageSprite)
public
xpos,ypos: integer; // współrzędne kafelków potrzebne do poprawnego ruchu
Function CanMoveX:boolean;
Function CanMoveY:boolean;
procedure DoMove(MoveCount: Integer); override;
//procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
end;
type TGracz_2 = class (TImageSprite)
public
xpos_2, ypos_2: integer;
Function CanMoveX_2:boolean;
Function CanMoveY_2:boolean;
procedure DoMove(MoveCount: Integer); override;
end;
Dwa takie same typy?
Dodatkowo z nazwami zakończonymi na "_2"?
Wiesz do czego służą klasy i jak się nimi posługiwać?
pic,pic_2,pic_3,pic_4:TBitmap;
Tablica...
ShowMessage('szerokosc ekranu '+Inttostr(GetSystemMetrics(SM_CXSCREEN)));
ShowMessage('długosc ekranu '+Inttostr(GetSystemMetrics(SM_CYSCREEN)));
ShowMessage(Inttostr(x1));
ShowMessage(Inttostr(y1));
To jakaś przedpotopowa wersja debuggera czy co?
var a,b:smallint;
a2,b2: smallint;
Nigdzie w kodzie na zauważyłem, abyś jednocześnie korzystał i z a
oraz a2
, czy b
oraz b2
.
If ypos mod 2=1 then
Chyba tak jest nieco szybciej:
if (ypos and 1)=0 then
Ale ręki nie dam sobie uciąć.
No i zasada DRY
w pewnych momentach...
0
Znaczy ja dałem tylko plik .pas, aby zajrzeć tylko do kodu... a co fragmentu z "ShowMessage" to byłoby mi potrzebne czy dobrze odczytuje mi GetSystemMetrics, bo coś było nie tak... A co do klasy to już poprawione i zrozumiane..