電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
圈圈叉叉

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> Neilshih的專區
上一篇主題 :: 下一篇主題  
發表人 內容
neilshih
Neilshih專區 板主


註冊時間: 2007-06-03
文章: 33
來自: 地球
20.01 果凍幣

發表發表於: 2007-11-27, PM 11:25 星期二    文章主題: 圈圈叉叉 引言回覆

代碼:

#include <stdio.h>
int main(void){
    int i = 0;
    int line = 0;
    int player = 0;
    int winner = 0;
    int choice = 0;
    int row = 0;
    int column = 0;
    char board[3][3] = {
        {'1','2','3'},
        {'4','5','6'},
        {'7','8','9'},
    };
    for( i = 0; i<9 && winner==0; i++){
        system("cls");
        printf("\n\n");
        printf(" %c | %c | %c\n", board[2][0], board[2][1], board[2][2]);
        printf("---+---+---\n");
        printf(" %c | %c | %c\n", board[1][0], board[1][1], board[1][2]);
        printf("---+---+---\n");
        printf(" %c | %c | %c\n", board[0][0], board[0][1], board[0][2]);
       
        player = i%2 + 1;
       
        do{
            printf("\nPlayer %d, please place your %c : ", player, (player==1)?'X':'O');
            scanf("%d", &choice);
           
            row = -- choice/3;
            column = choice%3;
            }while(choice<0 || choice>9 || board[row][column]>'9');
            board[row][column] = (player == 1) ? 'X' : 'O';
            if((board[0][0]==board[1][1] && board[1][1]==board[2][2])||
               (board[0][2]==board[1][1] && board[1][1]==board[2][0]))
                winner = player;
            else
                for(line = 0; line <= 2; line++)
                    if((board[line][0]==board[line][1] && board[line][0]==board[line][2])||
                       (board[0][line]==board[1][line] && board[0][line]==board[2][line]))
                       winner = player;
    }
    system("cls");
    printf("\n\n");
    printf(" %c | %c | %c\n", board[2][0], board[2][1], board[2][2]);
    printf("---+---+---\n");
    printf(" %c | %c | %c\n", board[1][0], board[1][1], board[1][2]);
    printf("---+---+---\n");
    printf(" %c | %c | %c\n", board[0][0], board[0][1], board[0][2]);
    if(winner == 0)
        printf("\nDRAW\n");
    else
        printf("\nPlayer %d WIN!!\n",winner);
    system("PAUSE");
}
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 雅虎訊息通 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> Neilshih的專區 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作