[C Language] Run C แล้วเวลาพิมตัวอักษร จะขึ้นลูปเรื่อยๆ อยากให้แก้ เป็นขึ้นข้อความแจ้งเตือน
Code (C#)
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void gameboard();
int main(char argc,char *argv[])
{
gameboard();
return 0;
}
void gameboard()
{
int i,player,go,row,col,line,winner; char board[3][3]; int s; int t;
i = 0,player = 0,go = 0,row = 0, col = 0, line = 0,winner = 0;/*Make board 3*3*/
board[0][0]='1';board[0][1]='2';board[0][2]='3';board[1][0]='4';board[1][1]='5';board[1][2]='6';board[2][0]='7';board[2][1]='8';board[2][2]='9';
for( i = 0; i<9 && winner==0; i++)
{/*Display the board*/
system("cls");
printf("\n\n");
for(t=0;t<3;t++)
{
printf(" %c | %c | %c \n",
board[t][0], board[t][1], board[t][2]);
printf(" ---+---+---\n");
}
printf("\n Unfinished\n");
player = i%2 + 1;/* swap players time playing*/
do
{
printf("\nPlayer No.%d [%c] 's Turn\nEnter Slot No. : ", player,(player==1)?'X':'O');
scanf("%d", &go);
row = (--go/3);//Get row index
col = go%3;//Get column index
}
while(go<0 || go>9 || board[row][col]>'9');board[row][col]= (player == 1) ? 'X' : 'O';//Insert player symbol
//Check for a winning line
if((board[0][0] == board[1][1] && board[0][0] == board[2][2]) || (board[0][2] == board[1][1] && board[0][2] == board[2][0]))
{
winner = player;
}
else
{/* Check rows and columns for a winning line */
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;
}
}
}
//display the final board
system("cls");
printf("\n\n");
for(t=0;t<3;t++)
{
printf(" %c | %c | %c\n", board[t][0], board[t][1], board[t][2]);
printf("---+---+---\n");
}
//Display result message
if(winner == 0)
{
printf("\nDraw\n");
}
else
{
printf("\n%s\n",(winner==1)?"Congrat, X Wins!!!":"Congrat, O Wins!");
}
printf("\nCan you play again press Y : ");
getchar();
s=getchar();
if(s==89 || s==121)
{system("cls");
gameboard(); /*recursive function*/
}
else
{system("cls");
printf("\n\n\nThanks for playing!! Goodbye.\n");
}
}
โปรแกรม เกม XO
Bug ที่พบ
1.เวลาเล่นเกม ถ้าเลือกตัวอักษร มันจะวนลูป เรื่อยๆ เลย ต้องออกจากโปรแกรมเท่านั้น แก้ไข อยากให้ขึ้นเป็นข้อความแจ้งเตือนหรือ Clear แล้วให้ใส่ใหม่เลย
2.ถ้าต้องการใส่สีให้ตาราง ต้องประกาศ #include<conio.h> แล้วใส่ textcolor(2); ไว้หน้า printf แต่ืทำแล้วขึ้น ErrorTag : - - - -
Date :
2010-09-08 21:40:46
By :
Ainesung
View :
1414
Reply :
3
scanf %d ในโปรแกรม ก็ตรวจสอบแล้วนี้ค่ะ
ส่วนสีใส่ไม่ได้อยู่ดี ขึ้น
Error C:\Documents and Settings\Admin\Desktop\53230064Assign1\gamexo.c||In function `void gameboard()':|
C:\Documents and Settings\Admin\Desktop\53230064Assign1\gamexo.c|24|error: `green' was not declared in this scope|
C:\Documents and Settings\Admin\Desktop\53230064Assign1\gamexo.c|24|error: `textcolor' was not declared in this scope|
C:\Documents and Settings\Admin\Desktop\53230064Assign1\gamexo.c|25|error: `cprintf' was not declared in this scope|
||=== Build finished: 3 errors, 0 warnings ===|
Date :
2010-09-09 04:52:00
By :
Ainesung
36/06
Date :
2011-08-23 12:52:55
By :
gorgodpg9d0rgg
Load balance : Server 04