Hiện kết quả từ 1 tới 4 của 4
Like Tree1Likes
  • 1 Post By kimho1205

Chủ đề: LẬP TRÌNH ANDROID - KHÓA HỌC ANDROID - Hướng dẫn lập trình game touch Pikachu


  1. #1
    Thành Viên Mới Avatar của kimho1205
    Tham gia
    Nov 2012
    Bài gửi
    7

    LẬP TRÌNH ANDROID - KHÓA HỌC ANDROID - Hướng dẫn lập trình game touch Pikachu

    Hướng dẫn lập trình game touch Pikachu


    SOURCE CODE (android 2.2)

    Yêu cầu:

    Bài lab này mình tổng hợp kiến thức của các bài lab trước như ImageView, Touch Screen, Mảng, Random, Bộ đếm giờ. Do đó, các bạn nên xem qua các bài lab sau:



    Mục tiêu thực hiện:

    Chương trình hiển thị một lưới chứa nhiều con thú pokemon, sau mỗi 1 giây pikachu sẽ nhảy vào ô của 1 con thú bất kỳ, nhiệm vụ của người chơi là nhanh chóng touch vào Pikachu trước khi hết giờ.
    Bộ đếm giờ cho người chơi có 15 giây.

    Mách nhỏ:: Các bạn có thể tăng độ khó trò chơi bằng việc chỉnh sửa các thông số ví dụ tăng thêm nhiều thú hơn, chỉnh thời gian nhảy nhanh hơn (nửa giây) hoặc giảm thời gian chơi 15 giây xuống còn 10 giây.




    Chuẩn bị:

    Một bộ ảnh các con thú pokemon có kích thước bằng nhau. (down ảnh)
    Copy hình ảnh vào thư mục res/drawable-hdpi.

    Lập trình:

    Bước 1:

    Kéo các ImageView vào giao diện thiết bị.
    2 TextView, TextView 1 hiện lời giới thiệu, TextView2 hiển thị thời gian chạy.

    Bước 2:

    Tạo mảng chứa đối tượng ImageView

    PHP Code:
    final ImageView mang[]={img1,img2,img3,img4,
    img5,img6,img7,img8,
    img9,img10,img11,img12,
    img13,img14,img15,img16,
    img17,img18,img19,img20,
    img21,img22,img23,img24};



    Tạo mảng chứa hình của đối tượng ImageView

    PHP Code:
    final int mang_hinh[]={R.drawable.icon_03,R.drawable.icon_17,R.drawable.icon_06,R.drawable.icon_12,
    R.drawable.icon_26,R.drawable.icon_42,R.drawable.icon_09,R.drawable.icon_24,
    R.drawable.icon_38,R.drawable.icon_40,R.drawable.icon_115,R.drawable.icon_118,
    R.drawable.icon_114,R.drawable.icon_116,R.drawable.icon_119,R.drawable.icon_121,
    R.drawable.icon_123,R.drawable.icon_122,R.drawable.icon_120,R.drawable.icon_124,
    R.drawable.icon_127,R.drawable.icon_129,R.drawable.icon_125,R.drawable.icon_126};



    Bước 3:

    Tạo một bộ đếm thời gian CountDownTimer, truyền tham số là 15 giây kết thúc đếm, sau mỗi 1 giây thực hiện hành động.

    PHP Code:
    new CountDownTimer(15000, 1000) {

    @
    Override
    public void onTick(long millisUntilFinished) {
    // TODO Auto-generated method stub

    }

    @
    Override
    public void onFinish() {
    // TODO Auto-generated method stub

    }
    }.
    start();


    Tạo hàm xuất ra định dạng lại thời gian để người dùng dễ theo dõi. Tham số truyền vào là một dãy số mili giây. Xuất ra định dạng phút : giây.

    PHP Code:
    public String formatTime(long millis) {
    String output = "00:00";
    long seconds = millis / 1000;
    long minutes = seconds / 60;

    seconds = seconds % 60;
    minutes = minutes % 60;

    String sec = String.valueOf(seconds);
    String min = String.valueOf(minutes);

    if (
    seconds < 10)
    sec = "0" + seconds;
    if (
    minutes < 10)
    min= "0" + minutes;

    output = min + " : " + sec;
    return
    output;
    }
    //formatTime


    Gọi formatTime trong hàm onTick để sau mỗi giây đồng hồ đếm giờ nhảy số 1 lần

    PHP Code:
    tv.setText("" + formatTime(millisUntilFinished));


    Bước 4: Tạo biến random để sau mỗi giây ảnh Pikachu hiển thị ngẫu nhiên

    Trong hàm onTick tạo ra một biến Random:

    PHP Code:
    Random ran=new Random();
    x = ran.nextInt(24);


    Nghĩa là sau 1 giây sẽ c

    Lấy ra phần tử x trong mảng và thay hình phần tử đó bằng hình Pikachu

    PHP Code:
    mang[x].setImageResource(R.drawable.icon_25);


    Bước 5: Nhả về hình cũ sau khi Pikachu sang vị trí khác

    PHP Code:
    xtam_old=x;
    mang[xtam_old].setImageResource(mang_hinh[xtam_old]);

    mang[xtam_old].setOnClickListener(new View.OnClickListener() {

    @
    Override
    public void onClick(View arg0) {
    // TODO Auto-generated method stub

    }
    });


    Bước 6: Touch vào Pikachu sẽ hiện text thông báo

    PHP Code:
    mang[x].setOnClickListener(new View.OnClickListener() {

    @
    Override
    public void onClick(View arg0) {
    // TODO Auto-generated method stub
    tv.setText("Chiến thắng!!!");
    }
    });


    Kết thúc. Run and play now


    Chủ đề tương tự:

    Lần sửa cuối bởi kimho1205; 13-12-12 lúc 02:10 AM
    longhoanggiang likes this.

  2. #2
    Thành Viên Mới Avatar của 8x3vviet
    Tham gia
    Dec 2012
    Bài gửi
    9
    Cái này của bên nhật nghệ mà



  3. #3
    Thành Viên Mới Avatar của longlv
    Tham gia
    Dec 2012
    Bài gửi
    7
    Cảm ơn bạn bài viết rất hay!



  4. #4
    Thành Viên Mới Avatar của pMoney Line
    Tham gia
    Jan 2013
    Bài gửi
    6
    Hay nhỉ, mình đang nghiên cứu về lập trình game. Phải xem thử mới dc. Thanks



Đánh dấu

Quyền viết bài

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