Kênh Tên Miền chuyên cung cấp tên miền đẹp, giá rẻ! Hãy liên hệ kỹ thuật: 0914205579 - Kinh doanh: 0912191357 để được tư vấn, hướng dẫn miễn phí, Cảm ơn quý khách đã ủng hộ trong thời gian qua!
kiem tien, kiem tien online, kiem tien truc tuyen, kiem tien tren mang
Monday, September 5, 2016

[Đồ họa máy tính] Chương trình mô phỏng "bóng đập tường"


Yêu cầu:
- Bóng chuyển động thẳng
- Mỗi khi bóng đập vào một cạnh của màn hình bóng sẽ bật theo nguyên lý phản xạ ánh sáng
- Mỗi khi chạm tường phát ra tiếng bíp


[Code C/C++] 
Chương trình viết ngôn ngữ lập trình Tubor C++ 3.0

/* Bai do hoa may tinh
- Chuong trinh minh hoa chuyen dong cua mot trai pinball
*/
#include <conio.h>
#include <graphics.h>
#include <dos.h>
#include <stdlib.h>
#define RADIUS 4
#define BALLCOLOR 14
#define BACKCOLOR 0
#define DELAY 10
void run_pinball()
{
  int dx, dy, x, y, dung = 0;
  randomize();
  do {
    dx = random(3) - 1;
  } while (dx == 0);
  do {
    dy = random(3) - 1;
  } while (dy == 0);
  x = random(getmaxx());
  y = random(getmaxy());
  rectangle(0, 0, getmaxx(), getmaxy());
  do {
    setcolor(BALLCOLOR);
    setfillstyle(SOLID_FILL, BALLCOLOR);
    fillellipse(x, y, RADIUS, RADIUS);
    delay(DELAY);
    setcolor(BACKCOLOR);
    setfillstyle(SOLID_FILL, BACKCOLOR);
    fillellipse(x, y, RADIUS, RADIUS);
    x += dx;
    y += dy;
    if (x < RADIUS +1 || x > getmaxx() - RADIUS - 1)
    {
      dx = -dx;
      x += 2 * dx;
      dung = 1;
    }
    if (y < RADIUS + 1 || y > getmaxy() - RADIUS - 1)
    {
      dy = -dy;
      y += 2 * dy;
      dung = 1;
    }
    if (dung)
    {
      sound (1000);
      delay(50);
      nosound();
      dung = 0;
    }
  } while (!kbhit());
}
void main()
{
  int gr_drive = DETECT, gr_mode;
  initgraph(&gr_drive, &gr_mode, "");
  run_pinball();
  getch();
  closegraph();
}


http://lap-trinh-may-tinh.blogspot.com/

0 comments:

Post a Comment

Popular Posts