Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что делает этот кусок кода в дельфи?

Фионас ФИ Ученик (120), закрыт 6 лет назад
procedure TDuckForm.Timer1Timer(Sender: TObject);
var
Dog : TDog;
KillDuck : TSprite;
begin
if not Assigned(SpriteEngine) then exit;
SpriteEngine.Move;
// detruit les sprites qui sont "Killer "
SpriteEngine.RemoveKillSprite;

// si on joue et qu'il y a plus de canard vivant sur le plateau
if (fState = appli_Game) and (fNbAliveCanard = 0) then begin
// permet d'eviter de rentrer dans la boucle ...
// pas beau non plus mais ca marche assez bien !
fState := appli_CptDuck;
// on MAJ le score
ScoreText.Text := Format('%d',[fScore]);
// compte le nombre total de canard tué
inc(fKillCanardRound,fKillCanardLache);
//ici on teste si on a tué 1 canards, 2 ou zero
case fKillCanardLache of
0 : Dog:=TDog.Create(CRY,SpriteEngine.ClientRect);
1 :
begin
Dog:=TDog.Create(FOUND1,SpriteEngine.ClientRect);
// canard tué s'ajiute à la "gauge"
KillDuck := TSprite.Create(LITTLE_KILL_DUCK,LITTLE_DUCK_WIDTH,LITTLE_DUCK_HEIGHT);
KillDuck.SetCoord((Barre.Coord.X+150)+ LITTLE_DUCK_WIDTH*fKillCanardRound , (Barre.Coord.Y+50));
KillDuck.SetZCoord(Z_INFO_BAR);
KillDuck.Tag := TO_DELETE_EACH_ROUND;
SpriteEngine.AddSprite(KillDuck);
end;
2 :
begin
Dog:=TDog.Create(FOUND2,SpriteEngine.ClientRect);

KillDuck := TSprite.Create(LITTLE_KILL_DUCK,LITTLE_DUCK_WIDTH,LITTLE_DUCK_HEIGHT);
KillDuck.SetCoord((Barre.Coord.X+150)+ LITTLE_DUCK_WIDTH*(fKillCanardRound-1) , (Barre.Coord.Y+50));
KillDuck.SetZCoord(Z_INFO_BAR);
KillDuck.Tag := TO_DELETE_EACH_ROUND;
SpriteEngine.AddSprite(KillDuck);

KillDuck := TSprite.Create(LITTLE_KILL_DUCK,LITTLE_DUCK_WIDTH,LITTLE_DUCK_HEIGHT);
KillDuck.SetCoord((Barre.Coord.X+150)+ LITTLE_DUCK_WIDTH*fKillCanardRound , (Barre.Coord.Y+50));
KillDuck.SetZCoord(Z_INFO_BAR);
KillDuck.Tag := TO_DELETE_EACH_ROUND;
SpriteEngine.AddSprite(KillDuck);

end;
end;
SpriteEngine.AddSprite(Dog);
end;
// on appel le paint
Invalidate;
end;
Дополнен 6 лет назад
unit uMain;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,uSprite,uDuck,uDog,uExplosion,uGround,uStream,uSign,uSpriteXY,uCursor,
uSpriteText,ExtCtrls;

type
TState =
(
appli_Init,
appli_NewRound ,
appli_CptDuck,
appli_Menu ,
appli_Game ,
appli_GameOver ,
appli_Quit
);

TOption =
(
OneDuck ,
TwoDuck
);

TDuckForm = class(TForm)
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
sSaveWidthScreen,fSaveHeightScreen : integer;
fState : TState;
fOption : TOption;
IntroStream, GameOverStream : TBASSStream;
fScore : integer;
// nombre de canard(s) sur le plateau
fNbAliveCanard : integer;
// total canard (1 ou 2 )
fTotOptionCanard : Integer;
// nombre total de canard laché pdt le round
// (doit être = à NB_CANARD_ROUND pr cloturer un Round )
fTotCanard : integer;
// nombre de canard(s) tué(s) par laché de canard
fKillCanardLache : integer;
// nombre total de canard tué par Round
fKillCanardRound : integer;
// nombre de canard a tué par round, l'objectif a atteindre ...
fReqCanard : integer;
// nombre de tir
fNbTir : integer;
// numéro du round
fCptRound : integer;
// Barre (avec le score, munitions et canards tués
Barre : TSprite;
// barre d
Лучший ответ
Иван Сигаев Искусственный Интеллект (150179) 6 лет назад
А чего там мало кода выложил, выкладывал бы уже сразу всю игру, чего стесняться?

PS: Судя по названию функции - обработка событий таймера
Фионас ФИУченик (120) 6 лет назад
не получится вставить весь код
Иван Сигаев Искусственный Интеллект (150179) Вообще не проблема - pastebin PS: месье вообще знает, что такое "сарказм" ?
Остальные ответы
И.А. Голованов Оракул (75376) 6 лет назад
комменты на французском?
Похожие вопросы