Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: C++ Xây dựng chương trình chơi đỡ bóng

  1. #1
    Ngày gia nhập
    06 2007
    Bài viết
    2

    Mặc định C++ Xây dựng chương trình chơi đỡ bóng

    Bạn nào có code bài tập như thế này hoặc tương tự thì gửi cho mình nhé.

    Đề:Trên màn hình quả bóng duy chuyển ngẫu nhiên,khi chạm vào các cạnh phía trên,bên phải,bên trái quả bóng sẽ bật trở lại.Cây vợt xuất hiện ở phía bên dưới màn hình có chức năng đỡ bóng mỗi khi bóng di chuyển xuống dưới.Mỗi lẫn đỡ bóng sẽ cộng 1 điểm,sau 10 điểm sẽ thay đổi tốc độ di chuyển của quả bóng,chương trình có ghi điểm và tên của mỗi người chơi,liệt kê 10 người có số điểm cao nhất.

    Phần lập trình game như thế này trên C++ thì mình mù tịt,bạn nào có bài thì gửi cho minh tham khảo nha.

  2. #2
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Không nhớ rõ lắm vì mình chưa làm bài này nhưng mà nhớ là có code trong sách 500 bài tập C thì phải . Chúng ta phải tự vạch ra giải thuật rồi làm theo thì hay hơn là đọc code , đọc code khó hiểu lắm .

  3. #3
    Ngày gia nhập
    03 2007
    Bài viết
    15

    Theo mình giải thuật như thế này:
    Code:
    Trong khi điểm nhỏ hơn SODIEM(tùy ý) thì làm:
    +Nếu mà không có phím nào nhấn thì cho trái banh di chuyển.
    +Nếu có thì :
         -Lấy phím vào nhập :
             .Nếu trúng phím 'j' thì cho di chuyển thanh vợt sang trái
             .Nếu trúng phím 'k' thì cho di chuyển thanh vợt sang phải
    ...Every step that I take is another mistake to you...I'm sorry mom..

  4. #4
    Ngày gia nhập
    01 2007
    Nơi ở
    Somewhere I belong
    Bài viết
    168

    Có bài về Pin ball giống bài cậu miêu tả đây. Tớ đã chạy thử rồi nha. (Không có phần tính điểm đâu. Nhưng thêm vào có âm thanh.

    PHP Code:
    /* Chuong trinh minh hoa chuyen dong cua
       mot trai pinball co tam do o duoi */
    #include <conio.h>
    #include <graphics.h>
    #include <dos.h>
    #include <stdlib.h>

    #define RADIUS 3
    #define BALLCOLOR 14
    #define BACKCOLOR 0
    #define DELAY 3

    void run_pinball()
    {
      
    int dxdyxydung 0i;
      
    int xpadypad;
      
    char c;

      
    randomize();
      do {
        
    dx random(3) - 1;
      } while (
    dx == 0);
      do {
        
    dy random(3) - 1;
      } while (
    dy == 0);
      
    random(getmaxx());
      
    random(getmaxy());
      
    xpad getmaxx()/20;
      
    ypad getmaxy() - 11;

      
    rectangle(00getmaxx(), getmaxy());
      
    rectangle(xpadypadxpad 40ypad+10);
      do {
        
    setcolor(BALLCOLOR);
        
    setfillstyle(SOLID_FILLBALLCOLOR);
        
    fillellipse(xyRADIUSRADIUS);
        
    delay(DELAY);
        
    setcolor(BACKCOLOR);
        
    setfillstyle(SOLID_FILLBACKCOLOR);
        
    fillellipse(xyRADIUSRADIUS);
        
    += dx;
        
    += dy;
        if (
    RADIUS +|| getmaxx() - RADIUS 1)
        {
          
    dx = -dx;
          
    += dx;
          
    dung 1;
        }
        if (
    RADIUS || getmaxy() - RADIUS 1)
        {
          
    dy = -dy;
          
    += dy;
          
    dung 1;
        }
        if (
    abs(y-ypad) <= RADIUS && (x-xpad)<40 && (x-xpad)>0)
        {
          
    dy = -dy;
          
    += dy;
          
    dung 1;
        }
        if (
    dung)
        {
          
    sound (1000);
          
    dung 0;
          
    20;
        }
        if (
    i>0)
        {
          
    i--;
          if (
    == 0)
            
    nosound();
        }
        if (
    kbhit())
        {
          
    getch();
          if (
    == 0)
            
    getch();
          
    setcolor(BLACK);
          
    rectangle(xpadypadxpad 40ypad+10);
          switch(
    c)
          {
            case 
    75 : if (xpad 0)
                        
    xpad -= 20;
                      break;
            case 
    77 : if (xpad getmaxx() - 40)
                        
    xpad += 20;
                      break;
          }
          
    setcolor(WHITE);
          
    rectangle(xpadypadxpad 40ypad+10);
        }
      } while (
    != 27);
    }

    void main()
    {
      
    int gr_drive DETECTgr_mode;

      
    initgraph(&gr_drive, &gr_mode"");

      
    run_pinball();
      
    closegraph();
      
    nosound();

    Đã được chỉnh sửa lần cuối bởi iamvtn : 03-06-2007 lúc 12:25 AM.

  5. #5
    Ngày gia nhập
    01 2007
    Nơi ở
    Somewhere I belong
    Bài viết
    168

    Tớ có khá nhiều code đồ họa vì hồi trước cũng tìm hiểu về Đồ Họa trong C++ mà. Nhưng nói thật cái phần này hay thì hay thật nhưng chả dúp gì cho mình sau này đâu.

  6. #6
    Ngày gia nhập
    01 2007
    Nơi ở
    Somewhere I belong
    Bài viết
    168

    Mặc định C++ Xây dựng chương trình chơi đỡ bóng

    Còn đây là code bài pinball nhưng không có thanh đỡ.
    PHP Code:
    /* Bai tap 2_17 - 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 dxdyxydung 0;

      
    randomize();
      do {
        
    dx random(3) - 1;
      } while (
    dx == 0);
      do {
        
    dy random(3) - 1;
      } while (
    dy == 0);
      
    random(getmaxx());
      
    random(getmaxy());

      
    rectangle(00getmaxx(), getmaxy());
      do {
        
    setcolor(BALLCOLOR);
        
    setfillstyle(SOLID_FILLBALLCOLOR);
        
    fillellipse(xyRADIUSRADIUS);
        
    delay(DELAY);
        
    setcolor(BACKCOLOR);
        
    setfillstyle(SOLID_FILLBACKCOLOR);
        
    fillellipse(xyRADIUSRADIUS);
        
    += dx;
        
    += dy;
        if (
    RADIUS +|| getmaxx() - RADIUS 1)
        {
          
    dx = -dx;
          
    += dx;
          
    dung 1;
        }
        if (
    RADIUS || getmaxy() - RADIUS 1)
        {
          
    dy = -dy;
          
    += dy;
          
    dung 1;
        }
        if (
    dung)
        {
          
    sound (1000);
          
    delay(50);
          
    nosound();
          
    dung 0;
        }
      } while (!
    kbhit());
    }

    void main()
    {
      
    int gr_drive DETECTgr_mode;

      
    initgraph(&gr_drive, &gr_mode"");

      
    run_pinball();
      
    getch();
      
    closegraph();


  7. #7
    Ngày gia nhập
    06 2007
    Bài viết
    2

    Phần code này mình đã xem qua rồi,không có phần tính điểm.Không biết có bác nào tạo được lớp tính điểm không?Rắc rối là ở phần ấy.hix
    ____Anh_______Va____
    __Se ___(¯`v´¯)___Se__
    _Mai ____ ' .¸. '_____Chi_
    __ Mai___________Yeu__
    ___Yeu __LOVE__Mot___
    ______Minh__Minh______
    __________E_________
    www.saigonovernightclub.com

Các đề tài tương tự

  1. bongdanews.vn Tip Vip , tip free , nhận định bóng đá chuyên trang tip bóng đá
    Gửi bởi chinamnhi_013 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 08-07-2012, 10:50 AM
  2. SoiKeo.com - Nhận Định Bóng Đá EuRo 2012 - tip bóng đá
    Gửi bởi phuthanh7777 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 23
    Bài viết cuối: 11-05-2012, 05:02 PM
  3. Euro 2012>> Lịch thi đấu - Kết quả bóng đá - Nhận định bóng đá
    Gửi bởi phuthanh7777 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 14
    Bài viết cuối: 08-05-2012, 10:30 AM
  4. Tư vấn du học Mỹ - Khuôn viên giành cho thể thao rộng lớn: bơi lôi, bóng đá, bóng rổ, bóng chuyền,….
    Gửi bởi ctvlinh92 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 23-05-2011, 04:19 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn