Trang ChínhTrang Chính  CalendarCalendar  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
News & Announcements
  • Top posters
 Mr.Pakapun (256)
 ddtan90 (178)
 tvduong (147)
 dthnam90 (137)
 minhquankq (101)
 arianbo (70)
 DoanhNhan (54)
 chicken (53)
 stormit (52)
 gentle_storm (47)

Share | 
 

 Game Puzzle 15 ô

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
ddtan90
Admin
Admin
avatar

Tổng số bài gửi : 178
Join date : 30/12/2010
Age : 26
Đến từ : SE 3 - K34

Bài gửiTiêu đề: Game Puzzle 15 ô   Sat Jan 08, 2011 12:11 am

mình có làm thử một cái chương trình giống như của bạn nhưng mà 4x4 chứ khong phải 3x3. Nhưng mà cũng tương tự vậy hà. Mình chưa biết nhiều về chế độ đồ họa trong c nên mình chỉ làm trong chế độ text thôi. Vì kinh nghiệm còn yếu nên hơi dài.....
Cách chơi, các bạn dùng các phím a,s,w, d để điều khiển. Chổ 4 phím mũi tên để chơi bạn sửa lại (a->75, d->77, w->72, s->80) để thay bằng 4 phim smuix tên trên bàn phím.
Dưới đây là code, các bạn biên dịch bằng Turbo C

Code:

//Game Pluzzle 16 o so
//ddtan90
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
struct time t;
typedef struct data {
    int so[4][4];   
    int xr,yr;
        };
void khoitao (data &mang) {
    int i,j,n=1;
    for (i=0;i<4;i++)
        for (j=0;j<4;j++){
            mang.so[i][j]=n;
            n++;}
    mang.so[3][3]=0;
    mang.xr=mang.yr=3;
}
void veso (data mang){
    int x,y;
    for (y=0;y<=3;y++)
        for (x=0;x<=3;x++){
            gotoxy(35+5*x,10+2*y);
            if (mang.so [y][x]!=0)
                printf("%2d",mang.so[y][x]);//fai la [y][x] vi mang dc doc tu tren xuong duoi, trai sang fai
            else printf("  ");
        }
    gotoxy(80,25);
    }
int hoanthanh (data mang) {
      int i,j,n=1,ok=1;
      for (i=0;i<4;i++)
        for (j=0;j<4;j++){
            if (i!=3 && j!= 3)
                if (mang.so[i][j]!=n) {ok=0;return ok;}
            n++;}
      return (ok && mang.so[3][3]==0);
}

void vekhung (){//ve khung 4x4
    printf("\n\t\t\t  *******************************");
    printf("\n\t\t\t *          .:      :.          *");
    printf("\n\t\t\t%c        .:: PLUZZLE ::.        %c",17,16);
    printf("\n\t\t\t *            -o0o-            *");
    printf("\n\t\t\t  *******************************\n");
  printf("\t\t\t  Copyright %c 2009 %c%co Duy T%cn\n\n",184,209,133,131);
    printf("\t\t\t\tÉÍÍÍÍËÍÍÍÍËÍÍÍÍËÍÍÍÍ»");
    printf("\n\t\t\t\tº    º    º    º    º");
    printf ("\n\t\t\t\tÌÍÍÍÍÎÍÍÍÍÎÍÍÍÍÎÍÍÍ͹");
    printf("\n\t\t\t\tº    º    º    º    º");
    printf ("\n\t\t\t\tÌÍÍÍÍÎÍÍÍÍÎÍÍÍÍÎÍÍÍ͹");
    printf("\n\t\t\t\tº    º    º    º    º");
    printf ("\n\t\t\t\tÌÍÍÍÍÎÍÍÍÍÎÍÍÍÍÎÍÍÍ͹");
    printf("\n\t\t\t\tº    º    º    º    º");
    printf("\n\t\t\t\tÈÍÍÍÍÊÍÍÍÍÊÍÍÍÍÊÍÍÍͼ");
    printf("\n\n\t\t\tDung cac phim A, S, D, W de choi, T de thoat!");
}//vekhung

void trai (data &mang){
      if (mang.xr!=3) {
                  mang.so[mang.yr][mang.xr]=mang.so[mang.yr][mang.xr+1];
                  mang.so[mang.yr][mang.xr+1]=0;
                  mang.xr++;
                  }
}
void phai (data &mang){//
      if (mang.xr!=0){
                  mang.so[mang.yr][mang.xr]=mang.so[mang.yr][mang.xr-1];
                  mang.so[mang.yr][mang.xr-1]=0;
                  mang.xr--;     
                      }
}
void xuong (data &mang){
      if (mang.yr!=0) {
                  mang.so[mang.yr][mang.xr]=mang.so[mang.yr-1][mang.xr];
                  mang.so[mang.yr-1][mang.xr]=0;
                  mang.yr--;
                      }
}
void len (data &mang){
      if (mang.yr!=3) {
                  mang.so[mang.yr][mang.xr]=mang.so[mang.yr+1][mang.xr];
                  mang.so[mang.yr+1][mang.xr]=0;
                  mang.yr++;
                      }
}
void xaotron (data &mang,int n) {
    int i,r,c;
    for (i=1;i<=n*20;i++) {
        r=random(4);
        switch (r) {
              case 0: len(mang); break;
              case 2: xuong(mang); break;
              case 1: trai(mang); break;
              case 3: phai(mang);break;
                }//switch
                clrscr();
    textcolor(8+random(8));
        }
}
     
//printf("%c%co Duy T%cn\n",209,133,131);
main (){ 
    data mang; 
    int i,j,buoc=0;char c,s;
    begin://diem moc de bat dau
    gettime(&t);
    clrscr();
    khoitao(mang);
    xaotron(mang,t.ti_sec);   
    vekhung();
    //phai(mang);phai(mang);phai(mang);
    veso(mang);
    while (1){
          c=getch();
          switch (c) {
                case 'a':  trai(mang);break;
                case 's':  xuong(mang);break;
                case 'd':  phai(mang);break;
                case 'w':  len(mang);break;
                case 't':  exit(1);
                }//switch
        if (c=='a' ||c=='s' ||c=='w' ||c=='d') buoc++;
          veso(mang);
          gotoxy(5,21);printf("\nSo buoc da di chuyen la: %3d",buoc);
          if (hoanthanh(mang)) {  gotoxy(5,21); 
                                  printf("\a\t\t****Chuc mung ban da chien thang!****\nTong so lan di chuyen la: %3d",buoc);
                                  replay://diem bat dau kiem tra nhap choi lai hay thoat
                                  printf("\n\nNhan phim 'R' de choi lai hoac nhan phim 'T' de thoat!");
                                  s=getch();
                                  switch (s) {
                                        case 'R': case 'r': goto begin; break;
                                        case 'T': case 't': exit(1); break;
                                        default: goto replay;
                                        }  //switch
                              }
          gotoxy(80,25);
    }//while
   
   
    }

_____________________
Nothing is impossible!
Về Đầu Trang Go down
Xem lý lịch thành viên
 
Game Puzzle 15 ô
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» [Game] Đuổi hình bắt chữ
» [Game RR] Tuyển GM
» [Game RR] Offline GAF - Đăng kí nhân vật
» [News] RPG Creator - lập trình game RPG trên iPhone
» [Khái niệm] Otome Game

Permissions in this forum:Bạn không có quyền trả lời bài viết
Câu lạc bộ Hỗ Trợ Học Tập :: LẬP TRÌNH :: .::LẬP TRÌNH C/C++-
Chuyển đến