• II BOB. MULTIPLIKATSIYA VA MULTIMEDIA
  • Multiplikatsiya va multimedia




    Download 1,33 Mb.
    bet3/10
    Sana15.05.2024
    Hajmi1,33 Mb.
    #235552
    1   2   3   4   5   6   7   8   9   10
    Bog'liq
    Multiplikatsiya va multimedia

    File – Save (Ctrl+S) ketma-ketligi yordamida lozim bo‘lgan disk yoki katalog tanlanadi;

  • F9- yoki F11- tugmalari bosilganda hosil qilingan faylni saqlash so‘raladi.Shundan so‘ng, kompilyatsiya amali bajariladi. Natijada *.cpp fayl kengaytma bilan kompyuter xotirasiga saqlanadi. Agar kiritilgan dastur kodi, kompilyatsiyadan muvaffaqiyatli o‘tsa (dastur kodida xatolik bo‘lmasa) *.exe fayl kengaytma bilan tanlangan disk yoki katalogda, joriy fayl sifatida saqlanadi.

    Misol uchun “2021-yil Yoshlarni qo‘llab-quvvatlash va aholi salomatligini mustahkamlash yili” jumlasini ekranga chiqarish uchun quyidagi dastur kodi yoziladi:
    #include using namespace std;
    int main()
    { cout<<"2021-yil Yoshlarni qo‘llab-quvvatlash va aholi salomatligini mustahkamlash yili"; }
    Ushbu dastur kodi kiritilgandan so‘ng, F11- tugmasi yordamida kompilyatsiya qilinadi. Natijada, quyidagi oyna hosil bo‘ladi:

    II BOB. MULTIPLIKATSIYA VA MULTIMEDIA

    2.1. Multiplikatsiya


    Multiplikatsiya – bu harakatlanuvchi va almashinuvchi rasmlardir. Oddiy holatda rasm siljiydi yoki almashinadi. Rasmni siljitish yetarlicha oddiy: dastlab rasmni ekranga chiqarish kerak bo’ladi, so’ngra uni o’chirish va avvalgisidan o’zgargan masofada yana ekranga chiqarish kerak bo’ladi. Chiquvchi va o’chiruvchi hamda yangi joydan paydo bo’luvchi rasmlar vaqt oralig’i bir joyda yi’g’ilib tasvirlanishi kerak[1].
    Bazaviy nuqta metodi.Quyidagi (grafik primitivlardan tuzilgan (1)) dastur rasmni osonlik bilan siljitishni bajaradi. Oyna va formaning ko’rinishi 2.1. Rasmda keltirilgan.

    2.1. Rasm. Dastur oynasi va forrmasining ko’rinishi
    Forma sirtida yagona Timer komponentasi joylashgan, u o’giriluvchi va hosil qilinuvchi tasvirlar orasidagi vaqtni boshqaradi. Bu komponenta System komponentalar palitrasida joylashgan. Shuningdek bu komponenta novizual hisoblanadi.

    2.2. Rasm. Timer komponentasining joylashuv o’rni
    Quyida Timer komponentasining xossalarini keltiramiz:
    7-Jadval. Timer komponentasining xossalari.

    Xossasi

    Ta’rifi

    Name

    Komponenta nomi.Komponenta xossasiga murojaat ruxsatini berish

    Interval

    OnTimer hodisasining kechishi. Millisekundlarda beriladi

    Enabled

    Hodisa boshlanishiga ruxsat berish yoki bermaslik

    Timer komponentasi OnTimer hodisasini generatsiya qiladi. Enabled xossasiga diqqatni qaratish zarur. U dasturda hodisaning ro’y berish yoki bermasligini aniqlaydi, ya’ni agar uning qiymati false bo’lsa, hodisa ro’y bermaydi. Keltiriladigan dasturda kema rasmini hosil qilish uchun Ship funksiyasidan foydalaniladi. Ship funksiyasining parametri sifatida bazaviy nuqta beriladi. Bazaviy nuqta koordinatalari bo’lib, ular butun sonlarda beriladi, siljish qadami esa ma’lum birlikka ega bo’ladi.

    2.3.Rasm. Bazaviy nuqtasi (x0, y0) bo’lgan kema tasviri
    Kemaning yangi tasviri chizilishidan oldin OnTimer dan oldingi chizilgan kema tasviri o’giriladi, ya’ni u o’ziga mos to’g’ri to’rtburchakli soha bilan yopiladi. Dastur matnini quyida keltiramiz:
    #include
    #pragma hdrstop
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    int x=-340,y=250;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Timer1Timer(TObject *Sender)
    { Canvas->Brush->Color=Form1->Color;
    Canvas->FillRect(Rect(x-1,y+1,x+340,y-250));
    x+=3;
    if(x>ClientWidth)
    { x=-340;
    y=random(Form1->ClientHeight); }
    int dx=20,dy=20;
    Canvas->Pen->Color=clBlack;
    Canvas->Brush->Color=clWhite;
    TPoint p1[7];
    p1[0]=Point(x,y);
    p1[1]=Point(x,y-2*dy);
    p1[2]=Point(x+10*dx,y-2*dy);
    p1[3]=Point(x+11*dx,y-3*dy);
    p1[4]=Point(x+17*dx,y-3*dy);
    p1[5]=Point(x+14*dx,y);
    p1[6]=Point(x,y);
    Canvas->Polygon(p1,6);
    TPoint p2[8];
    p2[0]=Point(x+3*dx,y-2*dy);
    p2[1]=Point(x+4*dx,y-3*dy);
    p2[2]=Point(x+4*dx,y-4*dy);
    p2[3]=Point(x+13*dx,y-4*dy);
    p2[4]=Point(x+13*dx,y-3*dy);
    p2[5]=Point(x+11*dx,y-3*dy);
    p2[6]=Point(x+10*dx,y-2*dy);
    p2[7]=Point(x+3*dx,y-2*dy);
    Canvas->Polygon(p2,7);
    Canvas->MoveTo(x+5*dx,y-3*dy);
    Canvas->LineTo(x+9*dx,y-3*dy);
    Canvas->Rectangle(x+8*dx,y-4*dy,x+11*dx,y-5*dy);
    Canvas->Rectangle(x+7*dx,y-4*dy,x+8*dx,y-7*dy);
    Canvas->Ellipse(x+11*dx,y-2*dy,x+12*dx,y-1*dy);
    Canvas->Ellipse(x+13*dx,y-2*dy,x+14*dx,y-1*dy);
    Canvas->MoveTo(x+10*dx,y-5*dy);
    Canvas->LineTo(x+10*dx,y-10*dy);
    Canvas->MoveTo(x+17*dx,y-3*dy);
    Canvas->LineTo(x+10*dx,y-10*dy);
    Canvas->LineTo(x,y-2*dy);
    Timer1->Interval=50;
    }

    Download 1,33 Mb.
  • 1   2   3   4   5   6   7   8   9   10




    Download 1,33 Mb.