<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wikidot="http://www.wikidot.com/rss-namespace">

	<channel>
		<title>Win condition optimization</title>
		<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization</link>
		<description>Posts in the discussion thread &quot;Win condition optimization&quot; - ...I need it faster...</description>
				<copyright></copyright>
		<lastBuildDate>Sat, 08 Aug 2026 12:48:08 +0000</lastBuildDate>
		
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1615497</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1615497</link>
				<description></description>
				<pubDate>Wed, 14 Nov 2012 18:14:06 +0000</pubDate>
				<wikidot:authorName>Xeda Elnara</wikidot:authorName>				<wikidot:authorUserId>595803</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>In the case I gave, O is just a 1 or a 2 (depending on the turn it is). I used O since that was what I used in a previous example.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1615478</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1615478</link>
				<description></description>
				<pubDate>Wed, 14 Nov 2012 18:01:31 +0000</pubDate>
				<wikidot:authorName>Silver Phantom</wikidot:authorName>				<wikidot:authorUserId>1430989</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I couldn't tell if it was =0 or =O cause later on it uses O</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1615451</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1615451</link>
				<description></description>
				<pubDate>Wed, 14 Nov 2012 17:49:44 +0000</pubDate>
				<wikidot:authorName>Xeda Elnara</wikidot:authorName>				<wikidot:authorUserId>595803</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>As Boba Foxx said, Ans should be a list like {1,0,2,1,1,1,1}</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1615428</guid>
				<title>(no title)</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1615428</link>
				<description></description>
				<pubDate>Wed, 14 Nov 2012 17:34:51 +0000</pubDate>
				<wikidot:authorName>Boba Foxx</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Since the ans should be a list, I dunno what was left out. It might have been something like Ans(1)=0 or something.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1615401</guid>
				<title>(no title)</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1615401</link>
				<description></description>
				<pubDate>Wed, 14 Nov 2012 16:59:30 +0000</pubDate>
				<wikidot:authorName>Silver Phantom</wikidot:authorName>				<wikidot:authorUserId>1430989</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Data type</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1615390</guid>
				<title>(no title)</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1615390</link>
				<description></description>
				<pubDate>Wed, 14 Nov 2012 16:47:14 +0000</pubDate>
				<wikidot:authorName>Boba Foxx</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Which error (syntax, argument, answer type, etc.)?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1615359</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1615359</link>
				<description></description>
				<pubDate>Wed, 14 Nov 2012 16:00:13 +0000</pubDate>
				<wikidot:authorName>Silver Phantom</wikidot:authorName>				<wikidot:authorUserId>1430989</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I have a error with cumsum(Ans=O</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1614264</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1614264</link>
				<description></description>
				<pubDate>Tue, 13 Nov 2012 13:38:33 +0000</pubDate>
				<wikidot:authorName>Xeda Elnara</wikidot:authorName>				<wikidot:authorUserId>595803</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Grr, I pressed backspace and my mouse clicked outside of the box, so I lost my whole post :[<br /> Assume you placed your piece at (Y,X).<br /> There are two ways you can read a column or row efficiently in this case, that I will show you. The first is minimalist (you will only read what you need):</p> <div class="code"> <pre><code>seq([A](A,X),A,max(1,Y-3),min(6,Y+3 ;read the vertical pieces seq([A](Y,A),A,max(1,X-3),min(7,X+3 ;read the horizontal pieces</code></pre></div> <br /> Or you can do it the quick/small method that will read more than you need: <p>Matr&gt;List([A],X,L1 ;Stores the whole column to L1<br /> Matr&gt;List([A]<sup>T</sup>,Y,L1 ;Stores the whole row to L1. <sup>T</sup> is for transpose</p> <p>Whichever way you choose, that will work for horizontal and vertical. The diagonals will be a bit more of a pain:</p> <div class="code"> <pre><code>;Read the main diagonal (left to right, going down) min(X,Y seq([A](Y+A,X+A),A,max(1,Ans-3)-Ans,min(7,max(X,Y+1)+3)-max(X,Y+1</code></pre></div> <br /> And the other diagonal: <div class="code"> <pre><code>min(X,7-Y seq([A](Y-A,X+A),A,max(1,Ans-3)-Ans,min(7,max(X,8-Y)+3)-max(X,8-Y</code></pre></div> <p>If you want to try it out by hand, here is a board: :D</p> <p>2=Y<br /> 4=X</p> <div class="code"> <pre><code> o o o o o o o o o o X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o</code></pre></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1613956</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1613956</link>
				<description></description>
				<pubDate>Tue, 13 Nov 2012 02:53:26 +0000</pubDate>
				<wikidot:authorName>Silver Phantom</wikidot:authorName>				<wikidot:authorUserId>1430989</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>that's like going to extremes&#8230;well, an optimization is an optimization!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1613898</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1613898</link>
				<description></description>
				<pubDate>Tue, 13 Nov 2012 02:00:46 +0000</pubDate>
				<wikidot:authorName>Silver Phantom</wikidot:authorName>				<wikidot:authorUserId>1430989</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>i like that concept, but im having trouble trying to avoid the list from going outside. instead i think i'll just take the whole 7 places and have 0 at the ones out of bounds, but i need help trying to detect it going out of bounds. i think the best way would be with if then statements</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1613834</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1613834</link>
				<description></description>
				<pubDate>Tue, 13 Nov 2012 00:15:29 +0000</pubDate>
				<wikidot:authorName>Roguebantha</wikidot:authorName>				<wikidot:authorUserId>1260890</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>You'll actually cut more bytes/tokens off your program this way anyway, than even the For( loop, and it's also probably faster as well. :)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1613810</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1613810</link>
				<description></description>
				<pubDate>Mon, 12 Nov 2012 23:41:09 +0000</pubDate>
				<wikidot:authorName>Xeda Elnara</wikidot:authorName>				<wikidot:authorUserId>595803</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Nice call, good point!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1613649</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1613649</link>
				<description></description>
				<pubDate>Mon, 12 Nov 2012 20:47:41 +0000</pubDate>
				<wikidot:authorName>Roguebantha</wikidot:authorName>				<wikidot:authorUserId>1260890</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Oh yeah, that's true :) So do this then:</p> <div class="code"> <pre><code>ΔList(cumSum(ΔList(cumSum(ΔList(cumSum(ΔList(cumSum(Ans</code></pre></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1613455</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1613455</link>
				<description></description>
				<pubDate>Mon, 12 Nov 2012 17:06:37 +0000</pubDate>
				<wikidot:authorName>Xeda Elnara</wikidot:authorName>				<wikidot:authorUserId>595803</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Yeah, I wasn't sure if there were variables left to sacrifice :D</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1613368</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1613368</link>
				<description></description>
				<pubDate>Mon, 12 Nov 2012 15:09:50 +0000</pubDate>
				<wikidot:authorName>Roguebantha</wikidot:authorName>				<wikidot:authorUserId>1260890</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>This works fine, but i'd get rid of some code and do:</p> <div class="code"> <pre><code>For(A,1,4) ΔList(cumSum(Ans End</code></pre></div> <p>It's just prettier that way :)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1613268</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1613268</link>
				<description></description>
				<pubDate>Mon, 12 Nov 2012 13:18:41 +0000</pubDate>
				<wikidot:authorName>Xeda Elnara</wikidot:authorName>				<wikidot:authorUserId>595803</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Do you mind if I point out that you don't need to check every position after every move? All you need to do is check any places affected by the last choice. For example, if O is the piece last dropped:</p> <div class="code"> <pre><code>x x x x x x x x x x x x O x x x x x x x x x x</code></pre></div> <br /> The 'x' positions are all you need to check. Just compare them to the value at O and if you have 4 in a row, then O won. That should help speed things up quite a bit. I will try to figure out some useful code at another time (I have a bunch of projects due this week XD ) <p><strong>EDIT:</strong><br /> Say you read the 7 elements going across (note that you will rarely read all 7) and you get something like this:<br /> {1,0,2,1,1,1,1}</p> <p>Then use this:</p> <div class="code"> <pre><code>cumSum(Ans=O→L1 ΔList(cumSum(Ans ΔList(cumSum(Ans ΔList(cumSum(Ans ΔList(cumSum(Ans augment(Ans,{0,0,0,0 If sum(3&lt;Ans-L1 Disp &quot;PLAYER &quot;+sub(&quot;12&quot;,O,1)+&quot; WINS!&quot;</code></pre></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1613234</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1613234</link>
				<description></description>
				<pubDate>Mon, 12 Nov 2012 12:26:26 +0000</pubDate>
				<wikidot:authorName>Silver Phantom</wikidot:authorName>				<wikidot:authorUserId>1430989</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>4 pieces in a line diagonal, horizontal or vertical or if the board is filled with no win, it's a tie</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1613023</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1613023</link>
				<description></description>
				<pubDate>Mon, 12 Nov 2012 03:56:53 +0000</pubDate>
				<wikidot:authorName>Roguebantha</wikidot:authorName>				<wikidot:authorUserId>1260890</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>What conditions are needed for a player to win?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1613013</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1613013</link>
				<description></description>
				<pubDate>Mon, 12 Nov 2012 03:47:40 +0000</pubDate>
				<wikidot:authorName>Silver Phantom</wikidot:authorName>				<wikidot:authorUserId>1430989</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Oh you could also replace the last few things with 4th root x to get a 1 or 2 easy</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1613012</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1613012</link>
				<description></description>
				<pubDate>Mon, 12 Nov 2012 03:44:32 +0000</pubDate>
				<wikidot:authorName>Silver Phantom</wikidot:authorName>				<wikidot:authorUserId>1430989</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Thanks! It's faster now by tenfold but still not the speed I want, oh well.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1612513</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1612513</link>
				<description></description>
				<pubDate>Sun, 11 Nov 2012 15:37:41 +0000</pubDate>
				<wikidot:authorName>Roguebantha</wikidot:authorName>				<wikidot:authorUserId>1260890</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Actually for a program like this, I would recommend using Output instead if Disp.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1612512</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1612512</link>
				<description></description>
				<pubDate>Sun, 11 Nov 2012 15:36:03 +0000</pubDate>
				<wikidot:authorName>Roguebantha</wikidot:authorName>				<wikidot:authorUserId>1260890</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>It would work :) thats what the +1 on the end ensures.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1612506</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1612506</link>
				<description></description>
				<pubDate>Sun, 11 Nov 2012 15:27:10 +0000</pubDate>
				<wikidot:authorName>Xeda Elnara</wikidot:authorName>				<wikidot:authorUserId>595803</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I do not believe the parentheses would make it faster, but it might since that would make it part of a calculation and so it doesn't need to store to Ans.</p> <div class="code"> <pre><code>Disp &quot;PLAYER&quot;,L1(1)L1(3)L1(5)L1(7)+1,&quot;WINS&quot;</code></pre></div> <br /> This would work, but it would do something like this on the homescreen: <div class="code"> <pre><code>|prgmCONNECT4 | |PLAYER | | 1| |WINS | | | | | | | | |</code></pre></div> <br /> Also, I optimised further and this should definitely speed things up for certain case (or all cases). I will try to see if I can come up with a new approach to the problem using graph theory, though. Unfortunately, the way I am thinking of would require a 42x42 matrix. If I did it in assembly, I could cut that matrix down to 441 bytes, easily, and then I would just need to square it, square it again, et voila, you will have all the wins :D <div class="code"> <pre><code>DelVar X For(D,1,6 :to go through all 6 rows For(C,1,4 :to go through all 7 collumn without going out prod(seq([A](D,C+E),E,0,3 :horizontal check If Ans=1 or Ans=16 Ans→X End End If not(X Then For(D,1,3 For(C,1,7 prod(seq([A](D+E,C),E,0,3 If Ans=1 or Ans=16 Ans→X End If not(X Then For(C,1,4 prod(seq([A](D+E,C+E),E,0,3 If Ans=1 or Ans=16 Ans→X prod(seq([A](D+E,C+3-E),E,0,3 If Ans=1 or Ans=16 Ans→X End End End End &quot;0 If X=1 &quot;1 If X=16 &quot;2 If Ans≠&quot;0 Disp &quot;PLAYER &quot;+Ans+&quot;WIN Return</code></pre></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1612499</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1612499</link>
				<description></description>
				<pubDate>Sun, 11 Nov 2012 15:16:04 +0000</pubDate>
				<wikidot:authorName>Silver Phantom</wikidot:authorName>				<wikidot:authorUserId>1430989</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>getting rid of the if then statements would mean that every time that it checks for a win, it would make player 1 win</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1612479</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1612479</link>
				<description></description>
				<pubDate>Sun, 11 Nov 2012 14:26:32 +0000</pubDate>
				<wikidot:authorName>Roguebantha</wikidot:authorName>				<wikidot:authorUserId>1260890</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>For the times you do X=1 or 16 you should be able to put this in for Ans. Or did you do that so you could avoid parentheses? I think that it would probably be faster with them. Also, I love to get rid of if-statements and replace with calculation and in this case, I think I can get away with it. Instead of your last two if statements, assuming that someone will always win, you can type:<br /> Disp &quot;Player&quot;, L<sub>1</sub>(1)L<sub>1</sub>(3)L<sub>1</sub>(5)L<sub>1</sub>(7)+1, &quot;wins.&quot;</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1612017</guid>
				<title>Re: Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1612017</link>
				<description></description>
				<pubDate>Sat, 10 Nov 2012 21:57:24 +0000</pubDate>
				<wikidot:authorName>Xeda Elnara</wikidot:authorName>				<wikidot:authorUserId>595803</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I'm not sure if this is faster (and I am sure it can be much more optimised), but:</p> <div class="code"> <pre><code>DelVar L1 8→dim(L1 For(D,1,6 :to go through all 6 rows For(C,1,4 :to go through all 7 collumn without going out prod(seq([A](D,C+E),E,0,3→X :horizontal check X=1 :player one win check Ans+L1(1→L1(1 X=16 :player 2 win check Ans+L1(2→L1(2 End End For(D,1,3) For(C,1,7) prod(seq([A](D+E,C),E,0,3→X X=1 Ans+L1(3→L1(3 X=16 Ans+L1(4→L1(4 End For(C,1,4) prod(seq([A](D+E,C+E),E,0,3→X X=1 Ans+L1(5→L1(5 X=16 Ans+L1(6→L1(6 prod(seq([A](D+E,C+3-E),E,0,3→X X=1 Ans+L1(7→L1(7 X=16 Ans+L1(8→L1(8 End End If not(L1(1)L1(3)L1(5)L1(7 :wining statements &quot;1 Return If not(L1(2)L1(4)L1(6)L1(8 &quot;2 Disp &quot;PLAYER &quot;+Ans+&quot;WIN Return</code></pre></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://tibasicdev.wikidot.com/forum/t-585256#post-1611820</guid>
				<title>Win condition optimization</title>
				<link>http://tibasicdev.wikidot.com/forum/t-585256/win-condition-optimization#post-1611820</link>
				<description></description>
				<pubDate>Sat, 10 Nov 2012 16:53:06 +0000</pubDate>
				<wikidot:authorName>Silver Phantom</wikidot:authorName>				<wikidot:authorUserId>1430989</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>So i need help optimizing this<br /> [A] is a 6x7 and contains 0-2, all of which will be near the bottom</p> <div class="code"> <pre><code>DelVar L {0,0,0,0,0,0,0,0→L1 For(D,1,6) :to go through all 6 rows For(C,1,4) :to go through all 7 collumn without going out expr(&quot;1000[A](D,C)+100[A](D,C+1)+10[A](D,C+2)+[A](D,C+3)&quot;)→X :horizontal check X=1111 :player one win check Ans+L1(1→L1(1 X=2222 :player 2 win check Ans+L1(2→L1(2 End End For(D,1,3) For(C,1,7) expr(&quot;1000[A](D,C)+100[A](D+1,C)+100[A](D+2,C)+10[A](D+3,C)&quot;)→X :vertical check X=1111 Ans+L1(3→L1(3 X=2222 Ans+L1(4→L1(4 End For(C,1,4) expr(&quot;1000[A](D,C)+100[A](D+1,C+1)+10[A](D+2,C+2)+[A](D+3,C+3)&quot;)→X :diagonal check X=1111 Ans+L1(5→L1(5 X=2222 Ans+L1(6→L1(6 expr(&quot;1000[A](D,C+3)+100[A](D+1,C+2)+10[A](D+2,C+1)+[A](D+3,C)&quot;)→X :other diagonal check X=1111 Ans+L1(7→L1(7 X=2222 Ans+L1(8→L1(8 End End If L1(1)=0 or L1(3)=0 or L1(5)=0 or L1(7)=0:Then :wining statements Disp &quot;PLAYER 1 WIN&quot; Stop End If L1(2)=0 or L1(4)=0 or L1(6)=0 or L1(8)=0:Then Disp &quot;PLAYER 2 WIN&quot; Stop End</code></pre></div> <p>i just need it faster, i don't care if it gains or loses a few bytes<br /> thanks</p> 
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>