service{ const html Welcome_screen =

WIG Milestone !!!



Group # 11
Lets play Tic-Tac-Toe

; const html printStr = <[str2print]> ; const html result = The person who WON = <[id]>

Number of times the user won = <[user]>
Number of times the computer won = <[computer]>
Number of times draw = <[drawn]>



<[cell1]> <[cell2]> <[cell3]>
<[cell4]> <[cell5]> <[cell6]>
<[cell7]> <[cell8]> <[cell9]>

Start a new Game. ; const html draw = None WON !!!
!!! DRAW !!!

Start a new Game.

Number of times the user won = <[user]>
Number of times the computer won = <[computer]>
Number of times draw = <[drawn]>

; const html values = This HTML is added, to check for bugs in every Iteration of the WHILE LOOP !!!

The constants are:-

cell 1 = <[ce1]>
cell 2 = <[ce2]>
cell 3 = <[ce3]>
cell 4 = <[ce4]>
cell 5 = <[ce5]>
cell 6 = <[ce6]>
cell 7 = <[ce7]>
cell 8 = <[ce8]>
cell 9 = <[ce9]>
winner = <[win]>
; int seed; int no_of_times_user_won; int no_of_times_computer_won; int no_of_times_draw; int checkWin(int c1, int c2, int c3, int c4, int c5, int c6, int c7, int c8, int c9){ if( ((c1==c2) && (c2==c3)) || ((c1==c4) && (c4==c7)) ){ return c1; } if( ((c1==c5) && (c5==c9)) || ((c2==c5) && (c5==c8)) || ((c3==c5) && (c5==c7)) || ((c4==c5) && (c5==c6)) ){ return c5; } if( ((c3==c6) && (c6==c9)) ){ return c3; } if( ((c7==c5) && (c5==c3)) || ((c7==c8) && (c8==c9)) ){ return c7; } return -1; } string createHTML(int cell_1, int cell_2, int cell_3, int cell_4, int cell_5, int cell_6, int cell_7, int cell_8, int cell_9){ string tobereturned; tobereturned = ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + ""; tobereturned = tobereturned + "
"; if(cell_1 < 0){ tobereturned = tobereturned + ""; } else if(cell_1 == 0){ tobereturned = tobereturned + " O"; } else if(cell_1 == 1){ tobereturned = tobereturned + " X"; } tobereturned = tobereturned + ""; if(cell_2 < 0){ tobereturned = tobereturned + ""; } else if(cell_2 == 0){ tobereturned = tobereturned + " O"; } else if(cell_2 == 1){ tobereturned = tobereturned + " X"; } tobereturned = tobereturned + ""; if(cell_3 < 0){ tobereturned = tobereturned + ""; } else if(cell_3 == 0){ tobereturned = tobereturned + " O"; } else if(cell_3 == 1){ tobereturned = tobereturned + " X"; } tobereturned = tobereturned + "
"; if(cell_4 < 0){ tobereturned = tobereturned + ""; } else if(cell_4 == 0){ tobereturned = tobereturned + " O"; } else if(cell_4 == 1){ tobereturned = tobereturned + " X"; } tobereturned = tobereturned + ""; if(cell_5 < 0){ tobereturned = tobereturned + ""; } else if(cell_5 == 0){ tobereturned = tobereturned + " O"; } else if(cell_5 == 1){ tobereturned = tobereturned + " X"; } tobereturned = tobereturned + ""; if(cell_6 < 0){ tobereturned = tobereturned + ""; } else if(cell_6 == 0){ tobereturned = tobereturned + " O"; } else if(cell_6 == 1){ tobereturned = tobereturned + " X"; } tobereturned = tobereturned + "
"; if(cell_7 < 0){ tobereturned = tobereturned + ""; } else if(cell_7 == 0){ tobereturned = tobereturned + " O"; } else if(cell_7 == 1){ tobereturned = tobereturned + " X"; } tobereturned = tobereturned + ""; if(cell_8 < 0){ tobereturned = tobereturned + ""; } else if(cell_8 == 0){ tobereturned = tobereturned + " O"; } else if(cell_8 == 1){ tobereturned = tobereturned + " X"; } tobereturned = tobereturned + ""; if(cell_9 < 0){ tobereturned = tobereturned + ""; } else if(cell_9 == 0){ tobereturned = tobereturned + " O"; } else if(cell_9 == 1){ tobereturned = tobereturned + " X"; } tobereturned = tobereturned + "
"; tobereturned = tobereturned + ""; return tobereturned; } int computerMove(int c1, int c2, int c3, int c4, int c5, int c6, int c7, int c8, int c9){ bool found; found = true; while(found){ seed = (1 * seed + 0) % 9; if(seed < 0) seed = 0 - seed; seed = seed + 1; if( (c1>=0) && (c2>=0) && (c3>=0) && (c4>=0) && (c5>=0) && (c6>=0) && (c7>=0) && (c8>=0) && (c9>=0) ){ found = false; return 77; } if( ((seed==1) && (c1<0)) || ((seed==2) && (c2<0)) || ((seed==3) && (c3<0)) || ((seed==4) && (c4<0)) || ((seed==5) && (c5<0)) || ((seed==6) && (c6<0)) || ((seed==7) && (c7<0)) || ((seed==8) && (c8<0)) || ((seed==9) && (c9<0)) ){ found = false; return (seed); } } return (-1); } session startGame(){ int current_selection; int game_completed; int winResult, winResult2, current_computer_move; int c1, c2, c3, c4, c5, c6, c7, c8, c9; string str; current_computer_move = -1; c1 = -1; c2 = -1; c3 = -1; c4 = -1; c5 = -1; c6 = -1; c7 = -1; c8 = -1; c9 = -1; str = ""; current_selection = 0; game_completed = 20; show Welcome_screen; show plug printStr[str2print=createHTML(c1,c2,c3,c4,c5,c6,c7,c8,c9)] receive[current_selection=cell]; while(game_completed == 20){ if(current_selection == 1) c1 = 1; if(current_selection == 2) c2 = 1; if(current_selection == 3) c3 = 1; if(current_selection == 4) c4 = 1; if(current_selection == 5) c5 = 1; if(current_selection == 6) c6 = 1; if(current_selection == 7) c7 = 1; if(current_selection == 8) c8 = 1; if(current_selection == 9) c9 = 1; if( (current_selection >=1) && (current_selection <= 9) ){ winResult = checkWin(c1,c2,c3,c4,c5,c6,c7,c8,c9); if(winResult < 0){ current_computer_move = computerMove(c1,c2,c3,c4,c5,c6,c7,c8,c9); if(current_computer_move == 1) c1 = 0; if(current_computer_move == 2) c2 = 0; if(current_computer_move == 3) c3 = 0; if(current_computer_move == 4) c4 = 0; if(current_computer_move == 5) c5 = 0; if(current_computer_move == 6) c6 = 0; if(current_computer_move == 7) c7 = 0; if(current_computer_move == 8) c8 = 0; if(current_computer_move == 9) c9 = 0; if(current_computer_move == 77){ no_of_times_draw = no_of_times_draw + 1; exit plug draw[user=no_of_times_user_won,computer=no_of_times_computer_won,drawn=no_of_times_draw]; } winResult2 = checkWin(c1,c2,c3,c4,c5,c6,c7,c8,c9); if(winResult2 < 0){ show plug printStr[str2print=createHTML(c1,c2,c3,c4,c5,c6,c7,c8,c9)] receive[current_selection=cell]; } else{ game_completed = 19; if(winResult2 == 0){ no_of_times_computer_won = no_of_times_computer_won + 1; } if(winResult2 == 1){ no_of_times_user_won = no_of_times_user_won + 1; } exit plug result[id=winResult2,user=no_of_times_user_won,computer=no_of_times_computer_won,drawn=no_of_times_draw,cell1=c1,cell2=c2,cell3=c3,cell4=c4,cell5=c5,cell6=c6,cell7=c7,cell8=c8,cell9=c9]; } } else{ game_completed = 19; if(winResult == 0){ no_of_times_computer_won = no_of_times_computer_won + 1; } if(winResult == 1){ no_of_times_user_won = no_of_times_user_won + 1; } exit plug result[id=winResult,user=no_of_times_user_won,computer=no_of_times_computer_won,drawn=no_of_times_draw,cell1=c1,cell2=c2,cell3=c3,cell4=c4,cell5=c5,cell6=c6,cell7=c7,cell8=c8,cell9=c9]; } } else{ show plug printStr[str2print=createHTML(c1,c2,c3,c4,c5,c6,c7,c8,c9)] receive[current_selection=cell]; } } } }