Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Checking Tic-Tac-Toe Win conditions?

by Chady (Priest)
on Sep 25, 2004 at 11:06 UTC ( #393772=note: print w/replies, xml ) Need Help??


in reply to Checking Tic-Tac-Toe Win conditions?

Okay, here's my take.

  • my board is some kind of a 2D array.
  • 'x' are 1.
  • 'o' are -1.
  • empty is 0.

we look for an absolute 3. But I'm sure there is a more mathematical way for this:

my @board; while (<DATA>) { chomp; push @board, [split / /]; } for my $i (0 .. 2) { my ($t1, $t2, $t3, $t4) = (0,0,0,0); for my $j ( 0 .. 2 ) { $t1 += $board[$i][$j]; $t2 += $board[$j][$i]; $t3 += $board[$j][$j]; $t4 += $board[2 - $j][$j]; } if (abs($t1) == 3 || abs($t2) == 3 || abs($t3) == 3 || abs($t4) == 3) { print "Win.\n"; last; } } __DATA__ 1 0 1 -1 1 -1 1 0 1

He who asks will be a fool for five minutes, but he who doesn't ask will remain a fool for life.
Chady | http://chady.net/
Are you a Linux user in Lebanon? join the Lebanese Linux User Group.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://393772]
help
Chatterbox?
[erix]: Alvin Lee (Ten Years After) played a jazzguitar ("Big Red"), a good warm sound
[stonecolddevin]: I think Stevie Ray is one of maybe 2 or 3 people that could take a Hendrix song and make you go "...huh. this is close." https://open. spotify.com/track/ 0UVM9trirBK5s1xBwL oVhZ
[stonecolddevin]: https://open. spotify.com/track/ 0UVM9trirBK5s1xBwL oVhZ rather
[Corion]: Sadly I must go to bed now :-| See y'all!
[erix]: I really loved/love this "Recorded Live" record, 1973 (yes, I'm that old)
[stonecolddevin]: goodnight Corion
[erix]: cya Corion :)
[stevieb]: Joan Jett, Hendrix, Neil Young, Dave Keuning (The Killers)... I have my mind elsewhere so I'm limited in my capacity to think about this righ tnow ;)
[erix]: another blues with Big Red :)
[stonecolddevin]: I will say John Mayer is an excellent guitarist, I don't like his music but he's pretty damn good

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2017-06-22 21:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How many monitors do you use while coding?















    Results (531 votes). Check out past polls.