Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 19 kết quả

Đề tài: bài C oẳn tù tỳ

  1. #1
    Ngày gia nhập
    10 2009
    Nơi ở
    Hà Tây
    Bài viết
    85

    Smile bài C oẳn tù tỳ

    trò chơi oẳn tù tì" trò chơi có 2 người chơi mỗi người dùng tay để hiện thị 1 trong 3 công cụ sau: kéo bao và búa quy tắc như sau:
    kéo thắng bao
    bao thắng búa
    búa thắng kéo
    viết trương trình mô phỏng cho 2 người chơi và người chơi với máy
    nhờ các bác chỉ giùm em giải thuật bài toán này ạ ( bắt buộc dùng switch)

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    dạo này mọi người lười quá. toàn xin code. Bạn hỏi xin giải thuật. thật là tốt. đúng với mục đích học tập và trao đổi của diễn đàn. Xèng xin giúp bạn tận tình
    Mình sẽ giúp bạn phần người chơi với máy :

    B1. đầu tiên người chơi chọn 1 trong 3 hình thức lưu vào n: kéo , bao, búa tương ứng với các giá trị 1 ,2 ,3
    B2. Máy chọn : bạn cho m=random(3)+1. với m lưu sự lựa chọn của máy. vậy máy sẽ ra ngẫu nhiên 1, 2, 3.
    B3. bây giờ bạn chia th ra thôi.
    (theo mình hiểu thì đây là bài tập cơ bản để ôn luyện về switch)
    dạng như này
    PHP Code:
    switch(n)
        {
            case 
    1:
                switch(
    m):
                    case 
    1:printf("Hòa rồi");break;
                    case 
    2:printf("Thắng rồi");break;
                    case 
    3:printf("Thua rồi");break;
            break;
            case 
    2:
            
    // tương tự
            
    break;
            case 
    3:
            
    //tương tự
            
    break;
        } 


    P/S: update nếu ko phải bài tập ôn luyện về switch thì bạn đừng làm như trên vì nó dài dòng.
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  3. #3
    Ngày gia nhập
    10 2009
    Nơi ở
    Hà Tây
    Bài viết
    85

    PHP Code:
    //tro choi oan tu ty
    #include<conio.h>
    #include<stdio.h>

    void main()
    {
        
    int n,m;
        
    printf("1.keo\n");
        
    printf("2.bao\n");
        
    printf("3.bua\n");
        
    printf("nguoi thu 1 chon 1-3:\n");
        
    scanf("%d",&n);
                 
    printf("1.keo\n");
        
    printf("2.bao\n");
        
    printf("3.bua\n");
        
    printf("nguoi thu 2 chon 1-3:\n");
        
    scanf("%d",&m);

        switch(
    n)
        {
            case 
    1:
              switch(
    m)
                {
                 case 
    1printf("hoa roi\n");
                    break;
                 case 
    2printf("thang roi\n");
                    break;
                 case 
    3printf("thua roi\n");
                    break;
                }
                 break;

            case 
    2:
              switch(
    m)
                {
                 case 
    1printf("hoa roi\n");
                    break;
                 case 
    2printf("thang roi\n");
                    break;
                 case 
    3printf("thua roi\n");
                    break;
                }
                 break;

            case 
    3:
              switch(
    m)
                {
                 case 
    1printf("hoa roi\n");
                    break;
                 case 
    2printf("thang roi\n");
                    break;
                 case 
    3printf("thua roi\n");
                    break;
                }
                 break;

            default: 
    printf("ban da nhap sai\n");
         }
            
    getch();


    giúp em với ...còn cái điều kiện nữa mà em không nghĩ ra đc để cho nó theo tuần tự :
    kéo thắng bao
    bao thắng búa
    búa thắng kéo
    Đã được chỉnh sửa lần cuối bởi nobita8x : 12-12-2009 lúc 01:21 AM.

  4. #4
    Ngày gia nhập
    10 2009
    Bài viết
    17

    Chuối nhỉ,hình như trước mình làm sai thì phải lên ko giám post code lên

    Mà điều kiện gì,mình nhìn qua thấy bạn cũng làm giống giống mình rùi mà,còn 1 phần nữa là để máy random thì mình cũng đang nghĩ làm đc send mình nhé

    #include<stdio.h>
    #include<conio.h>
    #include<dos.h>
    #include<stdlib.h>
    #include<time.h>
    void main()
    {
    clrscr();
    int i,j,dam,la,keo;
    int time;
    printf("1.Dam\n");
    printf("2.La\n");
    printf("3.Keo\n");
    printf("chon muc thich ung:");
    scanf("%d",&i);
    randomize();
    j=random(3)+1;
    /*printf("1.Dam\n");
    printf("2.La\n");
    printf("3.Keo\n");
    printf("chon muc thich ung:");
    scanf("%d",&j);*/
    switch(i)
    {
    case 1:
    printf ("Me:");
    printf ("Tao chon dam day,lam sao\n");
    switch(j)
    {
    case 1:printf ("Computer:"); printf ("uh thi anh choi dam\t");
    printf ("...Hoa moi dau\n"); break;
    case 2:printf ("Computer:"); printf ("uh thi anh choi la\t");
    printf ("...May chet chua\n"); break;
    case 3:printf ("Computer:"); printf ("uh thi anh choi keo\t");
    printf ("...A' a',Tao thua\n"); break;
    }
    break;
    case 2:
    printf ("Me:");
    printf ("Anh chon la day,sao ko\n");
    switch(j)
    {
    case 1:printf ("Computer:"); printf ("uh thi anh choi dam\t");
    printf ("...Huhu anh xin\n"); break;
    case 2:printf ("Computer:"); printf ("uh thi anh choi la\t");
    printf ("...O* hoa ak\n"); break;
    case 3:printf ("Computer:"); printf ("uh thi anh choi keo\t");
    printf ("...Thang ak,chan nhi\n"); break;
    }
    break;
    case 3:
    printf ("Me:");
    printf ("Choi me keo di,sao phai xoan \n");
    switch(j)
    {
    case 1:printf ("Computer:"); printf ("uh thi anh choi dam\t");
    printf ("...Da win\n"); break;
    case 2:printf ("Computer:"); printf ("uh thi anh choi la\t");
    printf ("...Het tien roi,thua\n"); break;
    case 3:printf ("Computer:"); printf ("uh thi anh choi keo\t");
    printf ("...Lai hoa,chan\n"); break;
    }
    break;
    default :printf ("2 thang chung may chi chon 1 trong 3 thoi ma");
    }
    getch();
    }
    xem đúng ý bạn ko,mỗi tội random có 3 cái lên nó hay lặp lắm,nhưng mà nó cũng random đấy

  5. #5
    Ngày gia nhập
    10 2009
    Nơi ở
    Hà Tây
    Bài viết
    85

    Trích dẫn Nguyên bản được gửi bởi ngocanh711 Xem bài viết
    Mà điều kiện gì,mình nhìn qua thấy bạn cũng làm giống giống mình rùi mà,còn 1 phần nữa là để máy random thì mình cũng đang nghĩ làm đc send mình nhé
    phần random mình chưa làm (chỉ làm theo langman thui )cái code trên khi chạy thử vd:
    người thứ 1: chọn 2 và
    người thứ 2 :chọn 1
    --->ra kéo thắng là đúng nhưng đây nó lại ra hòa hjx là sao vậy ,mình nghĩ là nó phải có đk gì đó liên kết :
    kéo thắng bao
    bao thắng búa
    búa thắng kéo

  6. #6
    Ngày gia nhập
    10 2009
    Bài viết
    17

    Mặc định bài C oẳn tù tỳ

    Trích dẫn Nguyên bản được gửi bởi nobita8x Xem bài viết
    phần random mình chưa làm (chỉ làm theo langman thui )cái code trên khi chạy thử vd:
    người thứ 1: chọn 2 và
    người thứ 2 :chọn 1
    --->ra kéo thắng là đúng nhưng đây nó lại ra hòa hjx là sao vậy ,mình nghĩ là nó phải có đk gì đó liên kết :
    kéo thắng bao
    bao thắng búa
    búa thắng kéo
    code của tớ hả,sao tớ ko thấy sai ở đâu nhỉ :(

  7. #7
    Ngày gia nhập
    10 2009
    Nơi ở
    Hà Tây
    Bài viết
    85

    phần của mình á...còn phần random mình đã test đâu :(

  8. #8
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    đóng góp 1 chút:

    1. Sử dụng constant đi:
    C Code:
    1. #define BUA   0x01
    2. #define KEO   0x02
    3. #define LA    0x03

    2. Hai người chơi với nhau khi nhập vào thì sử dụng getch() chứ để lộ thì thằng thứ 2 bao giờ cũng thắng.

    3. Đây là giải thuật của mình cho các bạn tham khảo:

    C Code:
    1. int player01, player02;
    2.  
    3. player01 = getch();
    4. player02 = getch();
    5.  
    6. switch( player01 ^ player02 )
    7. {
    8.     case 0: // draw
    9.     printf("Hoa roi!");
    10.     break;
    11.  
    12.     case 1: // KEO vs LA
    13.     if( player01 == KEO )
    14.         printf("Player 01 thang - Player 02 thua");
    15.     else
    16.         printf("Player 01 thua - Player 02 thang");
    17.     break;
    18.  
    19.     case 2: // BUA vs LA
    20.     if( player01 == BUA )
    21.         printf("Player 01 thua - Player 02 thang");
    22.     else
    23.         printf("Player 01 thang - Player 02 thua");
    24.     break;
    25.  
    26.     case 3: // BUA vs KEO
    27.     if( player01 == BUA )
    28.         printf("Player 01 thang - Player 02 thua");
    29.     else
    30.         printf("Player 01 thua - Player 02 thang");
    31.     break;
    32. }
    None!

  9. #9
    Ngày gia nhập
    10 2009
    Nơi ở
    Hà Tây
    Bài viết
    85

    PHP Code:
    // tro choi oan tu ty
    #include<conio.h>
    #include<stdio.h>

    void main()
    {
        
    int n,m;
        
    printf("1.keo\n");
        
    printf("2.bao\n");
        
    printf("3.bua\n");
        
    printf("nguoi thu 1 chon 1-3:\n");
        
    scanf("%d",&n);
        switch(
    n)
        {
            case 
    1:
                
    printf("1.keo\n");
                
    printf("2.bao\n");
                
    printf("3.bua\n");
                
    printf("nguoi thu 2 chon 1-3:\n");
                
    scanf("%d",&m);

                switch(
    m)
                {
                  case 
    1printf("hoa roi\n");   break;
                  case 
    2printf("keo thang\n"); break;
                  case 
    3printf("keo thua \n"); break;
                }break;

            case 
    :
                
    printf("1.keo\n");
                
    printf("2.bao\n");
                
    printf("3.bua\n");
                
    printf("nguoi thu 2 chon 1-3:\n");
                
    scanf("%d",&m);

                switch(
    m)
                {
                  case 
    1printf("bao thua\n");  break;
                  case 
    2printf("hoa roi\n"); break;
                  case 
    3printf("bao win \n"); break;
                }break;
            case 
    :
                
    printf("1.keo\n");
                
    printf("2.bao\n");
                
    printf("3.bua\n");
                
    printf("nguoi thu 2 chon 1-3:\n");
                
    scanf("%d",&m);

                switch(
    m)
                {
                  case 
    1printf("bua win\n"); break;
                  case 
    2printf("bua thua\n");break;
                  case 
    3printf("hoa roi \n"); break;
                }break;
            default : 
    printf("ban da nhap sai yeu cau nhap lai\n");
            }
            
    getch();

    cuối cùng cũng tìm ra ,các anh xem còn xót phần gì nữa không ạh, còn phần random không hiểu sai ở đâu ạh
    PHP Code:
    //tro choi oan tu ty random
    #include<stdio.h>
    #include<conio.h>

    void main()
    {
        
    int n,m,random;
        
    clrscr();
        
    printf("1.keo\n");
        
    printf("2.la\n");
        
    printf("3.bua\n");
        
    printf("moi ban chon 1-3:\n");
        
    scanf("%d",&n);
          
    m=random(3)+1;//--->nó báo call of nonfunction 
        
    switch(n)
        {
            case 
    1:printf("tui chon keo\n");
            switch(
    m)
            {
                case 
    1printf("computer:hoa roi nhe\n");
                break;
                case 
    2printf("computer:keo win\n");
                break;
                case 
    3printf("computer:keo thua\n");
                break;
            }
                break;
            case 
    2:printf("tui chon la\n");
            switch(
    m)
            {
                case 
    1printf("computer:la thua\n");
                break;
                case 
    2printf("computer:hoa nhe\n");
                break;
                case 
    3printf("computer:la win\n");
                break;
            }
                break;
            case 
    3:printf("tui chon bua\n");
            switch(
    m)
            {
                case 
    1printf("computer:bua win\n");
                break;
                case 
    2printf("computer:bua thua\n");
                break;
                case 
    3printf("computer:hoa nhe\n");
                break;
            }
                break;
         default: 
    printf("nhap cho dung so vao cha noi:\n");
         }
         
    getch();

    Đã được chỉnh sửa lần cuối bởi nobita8x : 12-12-2009 lúc 07:20 PM. Lý do: add

  10. #10
    Ngày gia nhập
    10 2009
    Bài viết
    17

    Trích dẫn Nguyên bản được gửi bởi nobita8x Xem bài viết
    có ai không giúp em nốt phần code ở trên với....
    tự dưng m=random(3)+1; là gì ?
    bạn thử thêm cái này xem thế nào
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<time.h>
    void main()
    {
    clrscr();
    int i,j,dam,la,keo;
    int time;
    printf("1.Dam\n");
    printf("2.La\n");
    printf("3.Keo\n");
    printf("chon muc thich ung:");
    scanf("%d",&i);
    randomize();
    m=random(3)+1;
    Nhớ khai báo stdlib nhé :( Chả biết đúng ko

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

  1. Bài tập C Chương trình oẳn tù tì nhưng chỉ nhập được người chơi thứ nhất, bỏ qua người thứ 2
    Gửi bởi 5fox trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 04-01-2012, 05:44 PM
  2. Bài tập C++ Trò chơi oẳn tù tì. bị sai tính logic
    Gửi bởi 3gau trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 03-12-2011, 12:59 AM
  3. Bài tập C++ Xây dựng trò chơi oẳn tù tì?
    Gửi bởi hoangtudangyeu trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 12-12-2010, 08:25 PM
  4. Viết chương trình trò chơi Oẳn tù tì
    Gửi bởi cr9 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 15-12-2009, 10:47 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