service { const html Logon =

Welcome to The Tic-Tac-Toe Game

Please enter your on-line names:
Player 1: Your mark is X
Player 2: Your Mark is 0 ; const html OddGame =

Odd Game!

; const html PlayTurn =

<[ERREUR]>


<[name_player_turn]>, you play !


There is the grid:

<[r1c1]><[r1c2]><[r1c3]>
<[r2c1]><[r2c2]><[r2c3]>
<[r3c1]><[r3c2]><[r3c3]>
Choose the box where you want to put your mark:
Row :
Column :
Quit ?
; const html ByeBye =

Congratulations <[winner]>, You Won !

; string r1c1; string r1c2; string r1c3; string r2c1; string r2c2; string r2c3; string r3c1; string r3c2; string r3c3; void insert( string r, string c, string mark) { if (r=="1") { if (c=="1") r1c1=mark; if (c=="2") r1c2=mark; if (c=="3") r1c3=mark; } if (r=="2") { if (c=="1") r2c1=mark; if (c=="2") r2c2=mark; if (c=="3") r2c3=mark; } if (r=="3") { if (c=="1") r3c1=mark; if (c=="2") r3c2=mark; if (c=="3") r3c3=mark; } } string getmark( string r, string c) { if (r=="1") { if (c=="1") return r1c1; if (c=="2") return r1c2; if (c=="3") return r1c3; } if (r=="2") { if (c=="1") return r2c1; if (c=="2") return r2c2; if (c=="3") return r2c3; } if (r=="3") { if (c=="1") return r3c1; if (c=="2") return r3c2; if (c=="3") return r3c3; } return ""; } int winn() { if ( ((r1c1==r1c2) && (r1c2==r1c3)) && ((r1c1=="X") || (r1c1=="0")) ) return 1; if ( ((r2c1==r2c2) && (r2c2==r2c3)) && ((r2c1=="X") || (r2c1=="0")) ) return 1; if ( ((r3c1==r3c2) && (r3c2==r3c3)) && ((r3c1=="X") || (r3c1=="0")) ) return 1; if ( ((r1c1==r2c1) && (r2c1==r3c1)) && ((r1c1=="X") || (r1c1=="0")) ) return 1; if ( ((r1c2==r2c2) && (r2c2==r3c2)) && ((r1c2=="X") || (r1c2=="0")) ) return 1; if ( ((r1c3==r2c3) && (r2c3==r3c3)) && ((r1c3=="X") || (r1c3=="0")) ) return 1; if ( ((r1c1==r2c2) && (r2c2==r3c3)) && ((r1c1=="X") || (r1c1=="0")) ) return 1; if ( ((r3c1==r2c2) && (r2c2==r1c3)) && ((r3c1=="X") || (r3c1=="0")) ) return 1; return 0; } session Tictactoe() { string name_player_1,name_player_2,name_player_turn,quit,row,column,mark_player,ERREUR; int win; int insertions; win=0; insertions=0; r1c1=r1c2=r1c3=r2c1=r2c2=r2c3=r3c1=r3c2=r3c3="."; show Logon receive [name_player_1 = name_player_1 , name_player_2 = name_player_2]; name_player_turn=name_player_1; while ((quit!="yes") && (win==0)) { show plug PlayTurn[name_player_turn = name_player_turn, ERREUR = ERREUR, r1c1 = r1c1, r1c2 = r1c2, r1c3 = r1c3, r2c1 = r2c1, r2c2 = r2c2, r2c3 = r2c3, r3c1 = r3c1, r3c2 = r3c2, r3c3 = r3c3] receive[quit = quit, row = row, column = column]; if ( (row>"3") || (row<"1") || (column>"3") || (column<"1") ) ERREUR="Sorry but you made a mistake when choosing the line or column number"; else if ((getmark(row,column)=="X") || (getmark(row,column)=="0")) ERREUR="Sorry the box has already been checked !"; else { ERREUR=""; if (name_player_turn==name_player_1) mark_player="X"; else mark_player="0"; insert(row, column, mark_player); insertions=insertions+1; if ((win=winn())==1) exit plug ByeBye[winner = name_player_turn]; else { if ( insertions==9 ) exit OddGame; if(name_player_turn==name_player_1) name_player_turn=name_player_2; else name_player_turn=name_player_1; } } } } }