View: 2567|Reply: 6
|
Camner nak wat game tic tac toe pki C??
[Copy link]
|
|
aku nak mintak tlg kat sesaper yg tau camnetr nak wat game tic tac toe pki C...
dis is 4 my project...bg tau camner nak wat pun leh gak...laie bes kalo korang bg jer coding dia...huhuhu
apa2 pun tq in advance yaa... |
|
|
|
|
|
|
|
hmmm... assignment yer :bgrin:
dah cuba buat sendiri ke belum? |
|
|
|
|
|
|
|
Dah Google ke belum?
bersepah-sepah coding untuk tic-tac-toe ada kat internet.
saya buat simple google search je dah dapat source code.
:hmm: |
|
|
|
|
|
|
|
wat nak panduan jer...yg tgk dr byk sumber..ader jumpa kat buku tp meleret sgt coding dia... |
|
|
|
|
|
|
|
no difference if you ask here or search thru the net.
hmmmmm... takpe yang ni saya bagi free. next time try usaha sendiri. :jeling:
try and copy/paste this code.
- #include<stdio.h>
- #include<conio.h>
- #include<stdlib.h>
- int board[10] = {2,2,2,2,2,2,2,2,2,2};
- int turn = 1,flag = 0;
- int player,comp;
- void menu();
- void go(int n);
- void start_game();
- void check_draw();
- void draw_board();
- void player_first();
- void put_X_O(char ch,int pos);
- main()
- {
- clrscr();
- _setcursortype(_NOCURSOR);
- menu();
- getch();
- return(0);
- }
- void menu()
- {
- int choice;
- printf("\n--------MENU--------");
- printf("\n1 : Play with X");
- printf("\n2 : Play with O");
- printf("\n3 : Exit");
- printf("\nEnter your choice:>");
- scanf("%d",&choice);
- turn = 1;
- switch (choice)
- {
- case 1:
- player = 1;
- comp = 0;
- player_first();
- break;
- case 2:
- player = 0;
- comp = 1;
- start_game();
- break;
- case 3:
- exit(0);
- default:
- menu();
- }
- }
- int make2()
- {
- if(board[5] == 2)
- return 5;
- if(board[2] == 2)
- return 2;
- if(board[4] == 2)
- return 4;
- if(board[6] == 2)
- return 6;
- if(board[8] == 2)
- return 8;
- return 0;
- }
- int make4()
- {
- if(board[1] == 2)
- return 1;
- if(board[3] == 2)
- return 3;
- if(board[7] == 2)
- return 7;
- if(board[9] == 2)
- return 9;
- return 0;
- }
- int posswin(int p)
- {
- // p==1 then X p==0 then O
- int i;
- int check_val,pos;
- if(p == 1)
- check_val = 18;
- else
- check_val = 50;
- i = 1;
- while(i<=9)//row check
- {
- if(board[i] * board[i+1] * board[i+2] == check_val)
- {
- if(board[i] == 2)
- return i;
- if(board[i+1] == 2)
- return i+1;
- if(board[i+2] == 2)
- return i+2;
- }
- i+=3;
- }
- i = 1;
- while(i<=3)//column check
- {
- if(board[i] * board[i+3] * board[i+6] == check_val)
- {
- if(board[i] == 2)
- return i;
- if(board[i+3] == 2)
- return i+3;
- if(board[i+6] == 2)
- return i+6;
- }
- i++;
- }
- if(board[1] * board[5] * board[9] == check_val)
- {
- if(board[1] == 2)
- return 1;
- if(board[5] == 2)
- return 5;
- if(board[9] == 2)
- return 9;
- }
- if(board[3] * board[5] * board[7] == check_val)
- {
- if(board[3] == 2)
- return 3;
- if(board[5] == 2)
- return 5;
- if(board[7] == 2)
- return 7;
- }
- return 0;
- }
- void go(int n)
- {
- if(turn % 2)
- board[n] = 3;
- else
- board[n] = 5;
- turn++;
- }
- void player_first()
- {
- int pos;
- check_draw();
- draw_board();
- gotoxy(30,18);
- printf("Your Turn :> ");
- scanf("%d",&pos);
- if(board[pos] != 2)
- player_first();
- if(pos == posswin(player))
- {
- go(pos);
- draw_board();
- gotoxy(30,20);
- textcolor(128+RED);
- cprintf("Player Wins");
- getch();
- exit(0);
- }
- go(pos);
- draw_board();
- start_game();
- }
- void start_game()
- {
- // p==1 then X p==0 then O
- if(posswin(comp))
- {
- go(posswin(comp));
- flag = 1;
- }
- else
- if(posswin(player))
- go(posswin(player));
- else
- if(make2())
- go(make2());
- else
- go(make4());
- draw_board();
- if(flag)
- {
- gotoxy(30,20);
- textcolor(128+RED);
- cprintf("Computer wins");
- getch();
- }
- else
- player_first();
- }
- void check_draw()
- {
- if(turn > 9)
- {
- gotoxy(30,20);
- textcolor(128+RED);
- cprintf("Game Draw");
- getch();
- exit(0);
- }
- }
- void draw_board()
- {
- int j;
- for(j=9;j<17;j++)
- {
- gotoxy(35,j);
- printf("| |");
- }
- gotoxy(28,11);
- printf("-----------------------");
- gotoxy(28,14);
- printf("-----------------------");
- for(j=1;j<10;j++)
- {
- if(board[j] == 3)
- put_X_O('X',j);
- else
- if(board[j] == 5)
- put_X_O('O',j);
- }
- }
- void put_X_O(char ch,int pos)
- {
- int m;
- int x = 31, y = 10;
- m = pos;
- if(m > 3)
- {
- while(m > 3)
- {
- y += 3;
- m -= 3;
- }
- }
- if(pos % 3 == 0)
- x += 16;
- else
- {
- pos %= 3;
- pos--;
- while(pos)
- {
- x+=8;
- pos--;
- }
- }
- gotoxy(x,y);
- printf("%c",ch);
- }
Copy the Code |
|
|
|
|
|
|
|
Kebanyakan coding sememangnya meleret... leretannya kadang2 menyebabkan otak kita meleret-leret...hehehe. |
|
|
|
|
|
|
|
Originally posted by shahnazz at 29-9-2006 03:59 PM
no difference if you ask here or search thru the net.
hmmmmm... takpe yang ni saya bagi free. next time try usaha sendiri. :jeling:
try and copy/paste this code.
#include<stdio.h>
...
tq 4 da code...nak crk reference byk2 so leh la compare utk create sumthing new.....bukan la nak mintak pasal nak copy paste bulat2 n then trus antar but nak tgk camner dia wat jer...dh la lemah programming2 nie....
minat2 mmg minat tp susah laa nak xplain... |
|
|
|
|
|
|
| |
|