Câu lạc bộ Hỗ Trợ Học Tập
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.



 
Trang ChínhTrang Chính  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
  • Top posters
 Mr.Pakapun (256)
 ddtan90 (178)
 tvduong (147)
 dthnam90 (137)
 minhquankq (101)
 arianbo (70)
 DoanhNhan (54)
 chicken (53)
 stormit (52)
 gentle_storm (47)

 

 Game Puzzle 15 ô

Go down 
Tác giảThông điệp
ddtan90
Admin
Admin
ddtan90


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

Game Puzzle 15 ô Empty
Bài gửiTiêu đề: Game Puzzle 15 ô   Game Puzzle 15 ô EmptySat 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
   
   
    }
Về Đầu Trang Go down
 
Game Puzzle 15 ô
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Game Booster Premium 2.3.0.113 - Giải pháp chơi game nặng cho máy cấu hình thấp
» My Puzzle v1.0_Game xếp hình trên C#
» Game đua rùa
» Game bắn gà hay đây
» Game O So ----------------

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