#!/usr/bin/perl #game by husoft, color by zentara print "+---------------------------------------+\n"; print "| Names : |\n"; print "+---------------------------------------+\n"; print "| Player #1 : ";chomp($pl1 = <STDIN>); print "| Player #2 : ";chomp($pl2 = <STDIN>); print "\n\n"; @. = ("0","1","2","3","4","5","6","7","8","9"); #$,=0;$_=$pl1;@s=("O","X");$S="O";$count= 0; $,=0;$_=$pl1;@s=("\e[1;31mO\e[0m","\e[1;34mX\e[0m");$S="\e[1;31mO\e[0m +";$count= 0; GAME: until ($, == 1) { verify(); &display(); $count++; print "$_($S) It's your turn! : ";chomp($q=<STDIN>); if ($q eq "bye") { print "See you!\n"; last GAME; } elsif ($q >= 10) { $count--; print "$_ You lose your turn cause $q i +s too high!\n"; } elsif ($q <= 0) { $count--; print "$_ You lose your turn cause $q is + too low!\n"; } else { if ($.[$q] eq $s[0]) { print "There is already an $s[0] in that pl +ace!\n"; } elsif ($.[$q] eq $s[1]) { print "There is already a $s[1] in that +place!\n"; } else { $.[$q] = $S; print "$_ you made it putting a $S in the plac +e $q\n"; } } verify(); if ($_ eq $pl1) { $_ = $pl2; $S = $s[1];} elsif ($_ eq $pl2) { $_ = $pl1; $S = $s[0];} else { print "Something Went Wrong"; last GAME; } } sub verify { if ($.[1] eq $S && $.[2] eq $S && $.[3] eq $S){print "$_ You won!\nmov +e[1,2,3]\n";&display();last GAME;} elsif ($.[1] eq $S && $.[4] eq $S && $.[7] eq $S){print "$_ You won!\n +move[1,4,7]\n";&display();last GAME;} elsif ($.[3] eq $S && $.[6] eq $S && $.[9] eq $S){print "$_ You won!\n +move[3,6,9]\n";&display();last GAME;} elsif ($.[1] eq $S && $.[5] eq $S && $.[9] eq $S){print "$_ You won!\n +move[1,5,9]\n";&display();last GAME;} elsif ($.[2] eq $S && $.[5] eq $S && $.[8] eq $S){print "$_ You won!\n +move[2,5,8]\n";&display();last GAME;} elsif ($.[3] eq $S && $.[5] eq $S && $.[7] eq $S){print "$_ You won!\n +move[3,5,7]\n";&display();last GAME;} elsif ($.[4] eq $S && $.[5] eq $S && $.[6] eq $S){print "$_ You won!\n +move[4,5,6]\n";&display();last GAME;} elsif ($.[7] eq $S && $.[8] eq $S && $.[9] eq $S){print "$_ You won!\n +move[7,8,9]\n";&display();last GAME;} if ($count == 9){print "Good game, but, neither of you won!\n";&displa +y();last GAME;} } sub display{ print<<EOT; +---+---+---+ | $.[1] | $.[2] | $.[3] | +---+---+---+ | $.[4] | $.[5] | $.[6] | +---+---+---+ | $.[7] | $.[8] | $.[9] | +---+---+---+ EOT }
In reply to tic-tac-toe-color by zentara
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |