Главная страница
Навигация по странице:

  • Сабақ мақсаты

  • Қарастырылатын негізгі мәселелер

  • ІІ. Тапсырма

  • Қолданылатын әдебиеттер

  • 15 практикалык жумыс. Программалау


    Скачать 40.5 Kb.
    НазваниеПрограммалау
    Дата30.10.2021
    Размер40.5 Kb.
    Формат файлаdoc
    Имя файла15 практикалык жумыс.doc
    ТипПрограмма
    #259620

    Ф-ОБ-050/049

    15 - практикалық жұмыс
    Сабақ тақырыбы: Объектілерді қозғалысқа келтіру. Ойындарды программалау.

    Сабақ мақсаты: Delphi ортасында негізгі графиктік мүмкіндіктерді қолдана отырып объектіні қозғалысқа келтіру принципін, ойындарды программалауды үйрету.

    Қарастырылатын негізгі мәселелер:
    1. Объектілерді қозғалысқа келтіру. Анимация.

    2. Өзіндік жұмыс

    Негізгі ұғымдар.


    Объектілерді қозғалысқа келтіру. Анимация.

    Объектіні қозғалысқа келтіру алгоритмінің негізі мынада:

    Графиктік мүмкіндіктерді пайдалана отырып объектінің бейнесі салынады. Формада объектінің бастапқы орналасуы немесе базалық координаттары анықталады.Объектіні жаңа координатаға көшіреміз де, алдыңғы объектіні форма түсімен бояймыз. Объектіні форма бетінде жылжыта отырып, белгіленген бағытта қозғалысқа келтіреміз. Объектіні қозғалысқа келтіру принципін ойындарды программалауда қолдануға болады.
    Мысал. Форма бетінде сурет (объект) жылжиды. Біздің мақсатымыз тышқанның сол жақ кнопкасымен суретті шерте отырып жоғарғы мәнді ұпай жинау. Мысалы, атыс саны 10 болса, оның нешеуі тиетінін анықтауымыз керек. Delphi-ді жүктейміз. Формаға Label1, button1, Timer1 компоненттерін орналастырамыз. Label1 (Caption) тақырыбына есеп шартын жазамыз.

    Button1 компонентінің Onclick оқиғасы Label1, button1 компоненттерін көрінбейтін қылады және Timer-ді қосады.
    procedure TForm1.Button1Click(Sender: TObject);

    begin

    Label1.Visible:=false;

    Button1.Visible:=False;

    Timer1.Enabled:=True;

    end;

    S_f процедурасында объект суретін саламыз:

    procedure TForm1.S_f(x,y:integer);

    begin

    with Canvas do begin

    Pen.Color:=clblack;

    Brush.Color:=clYellow;

    Ellipse(x,y,x+30,Y+30);

    Ellipse(x+9,y+10,x+11,Y+13);

    Ellipse(x+19,y+10,x+21,Y+13);

    Arc(x+4,y+4,x+26,y+26,x,y+20,x+30,y+20)

    end;

    end;

    EF процедурасында суретті форма түсімен бояймыз, яғни сурет экранда көрінбейді.

    procedure TForm1.EF(x,y:integer);

    begin

    with Canvas do begin

    Pen.Color:=clBtnFace;

    Brush.Color:=clBtnFace;

    Ellipse(x,y,x+30,Y+30);

    end;

    end;

    Timer1 компонентінің OnTimer оқиғасы кездейсоқ сандар генераторы арқылы объектінің жаңа координатасын анықтайды.

    procedure TForm1.Timer1Timer(Sender: TObject);

    begin

    EF(fx,fy);

    fx:=Random(ClientWidth-30);

    fy:= Random(ClientHeight-30);

    S_F(fx,fy);

    end;

    Форманың OnCreate оқиғасында объектінің бастапқы координатасы анықталады және кездейсоқ сандар генераторы реализацияланады.

    procedure TForm1.FormCreate(Sender: TObject);

    begin

    fx:=100;

    fy:=100;

    randomize;

    end;

    Форманың OnMouseDown оқиғасында тышқанның сол жақ кнопкасымен суретті шерте отырып ұпай жинаймыз және 10 атыстың нәтижесін көрсетеді.

    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;

    Shift: TShiftState; X, Y: Integer);

    begin

    inc(n);

    if(x>fx) and(xfy) and(y>fy) and(y
    then inc(p);

    if n=10 then begin

    Timer1.Enabled:=false;

    ShowMessage('10 атыс. тиг. '+inttostr(p)+'.');

    EF(fx,fy);

    Label1.Visible:=True;

    Button1.Visible:=True;

    n:=0;p:=0;

    end;

    end;

    Оқиғалар кодының модулін және проектті Lab13 бумасына сақтаңыз және қосымшаны орындауға жіберіңіз.
    ІІ. Тапсырма:

    1. Формаға қозғалатын объектісі бар қандайда бір көріністің (мысалы, теңіздегі кеме, автокөлік қозғалысы, мультипликациялық элементтер ) суретін салыңыз.

    2. «Теңіздегі ұрыс(морской бой)» ойынының программасын құрыңыз.
    Қолданылатын әдебиеттер:

    1. Архангельский А.Я.. Программирование в DELPHI. 7. -М.:ООО “Бином- Пресс”,2005. - 1152с.

    2. Б.Д. Сыдықов, Ш.Т.Шекербекова, Н.И.Культин - Delphi ортасында бағдарламалау практикумы. Алматы, 2005

    3. Н. И. Культин – Delphi в задачах и примерах. – СПб.: БХВ – Санкт-Петербург, 1999.


    написать администратору сайта