Глава 6. Математика в DELPHI.
При создании игры нужно описать поведение объектов, с которыми имеет дело играющий.
Это делается с помощью математических функций и процедур.
Операции выглядят следующим образом:
Сложение: x:=a+b; Происходит сложение двух чисел. Результат присваивается третьей переменной x.
X: =x+a; Значение переменной x увеличивается на величину a.
Вычитание:x:=a-b; Происходит вычитание из числа a числа b.Результат присваивается третьей переменной x.
X: =x+a; Значение переменной x уменьшается на величину a.
Умножение:x:=a*b; Происходит умножение двух чисел. Результат присваивается третьей
переменной x.
X: =x*a; Значение переменной x увеличивается в a раз.
Деление: x:=a div b; Происходит деление числа a на число b.Результат присваивается третьей переменной x.
X: =x div a; Значение переменной x уменьшается в a раз.
В программах часто встречаются строки:
If (что-то чему-то равно) then если (…) то
Else в противном случае
For (начальное значение) to (конечное значение) do для (значение от…) до (значение до…) делать
While (значение) do begin; end; пока не наступило событие делать что написано между begin и end (ЦИКЛ)
Or или
Length (чего-либо) длинна (чего-либо).
Разберем, как это все используется на примере упрощенного калькулятора (Работает только с целыми числами).
Разместим на ФОРМЕ компоненты, при этом: название кнопок Button переименуем в название соответствующих клавиш, используя свойство Caption 1 (пример для первой кнопки).
Напишем строки кода:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
.....
Button15: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button16: TButton;
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button2Click(Sender: TObject);
......
procedure Button16Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a,b: string;
x,c:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Visible:=true;
if Length(label1.Caption)< 8 then begin
if x=0 then begin a:=a+'1';
label1.Caption:=a;
end; end;
if Length(label3.Caption)< 8 then begin
if x=1 then begin
label3.Visible:=true; b:=b+'1'; label3.Caption:=b; end; end; end;
procedure TForm1.FormActivate(Sender: TObject);
begin
a:=''; b:=''; x:=0; c:=5;
label1.Visible:=false; label2.Visible:=false; label3.Visible:=false; label4.Visible:=false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
label1.Visible:=true;
if Length(label1.Caption)< 8 then begin
if x=0 then begin a:=a+'2';
label1.Caption:=a; end; end;
if Length(label3.Caption)< 8 then begin
if x=1 then begin label3.Visible:=true; b:=b+'2';
label3.Caption:=b; end; end; end;
procedure TForm1.Button3Click(Sender: TObject);
begin
label1.Visible:=true;
if Length(label1.Caption)< 8 then begin
if x=0 then begin
a:=a+'3';
label1.Caption:=a; end; end;
if Length(label3.Caption)< 8 then begin
if x=1 then begin label3.Visible:=true; b:=b+'3';
label3.Caption:=b; end; end; end;
|