<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=TicTacToe%2Fzennith</id>
	<title>TicTacToe/zennith - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=TicTacToe%2Fzennith"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=TicTacToe/zennith&amp;action=history"/>
	<updated>2026-05-14T19:56:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=TicTacToe/zennith&amp;diff=39732&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:28, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=TicTacToe/zennith&amp;diff=39732&amp;oldid=prev"/>
		<updated>2021-02-07T05:28:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;흐흐흐.&lt;br /&gt;
&lt;br /&gt;
 import java.awt.Graphics;&lt;br /&gt;
 import javax.swing.*;&lt;br /&gt;
 &lt;br /&gt;
 import java.awt.event.MouseAdapter; &lt;br /&gt;
 import java.awt.event.MouseEvent;&lt;br /&gt;
 &lt;br /&gt;
 public class Serious extends JFrame {&lt;br /&gt;
 	final int markX = 1, markO = 2;&lt;br /&gt;
 	&lt;br /&gt;
 	int x, y;&lt;br /&gt;
 	boolean turn = true;&lt;br /&gt;
 	boolean win = false;&lt;br /&gt;
 	&lt;br /&gt;
 	int block[][] = new int[][] {&lt;br /&gt;
 			{0, 0, 0}, {0, 0, 0}, {0, 0, 0}&lt;br /&gt;
 	};&lt;br /&gt;
 	&lt;br /&gt;
 	int blockDecider(int x, int y) {&lt;br /&gt;
 		int retTable[][] = new int[][] {&lt;br /&gt;
 				{0, 1, 2}, {3, 4, 5}, {6, 7, 8}&lt;br /&gt;
 		};&lt;br /&gt;
 		&lt;br /&gt;
 		int xline, yline;&lt;br /&gt;
 		&lt;br /&gt;
 		y -= 30;&lt;br /&gt;
 		&lt;br /&gt;
 		for (xline = 0; x &amp;amp;gt; 0; xline++)&lt;br /&gt;
 			x -= 100;&lt;br /&gt;
 		&lt;br /&gt;
 		for (yline = 0; y &amp;amp;gt; 0; yline++)&lt;br /&gt;
 			y -= 100;&lt;br /&gt;
 		&lt;br /&gt;
 		return retTable[--yline][--xline];		&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	int getX(int blockNum) {&lt;br /&gt;
 		int ret;&lt;br /&gt;
 		&lt;br /&gt;
 		if (blockNum &amp;amp;lt; 3)&lt;br /&gt;
 			ret = 0;&lt;br /&gt;
 		else if (blockNum &amp;amp;lt; 6)&lt;br /&gt;
 			ret = 1;&lt;br /&gt;
 		else&lt;br /&gt;
 			ret = 2;&lt;br /&gt;
 		&lt;br /&gt;
 		return ret;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	int getY(int blockNum) {&lt;br /&gt;
 		int ret;&lt;br /&gt;
 &lt;br /&gt;
 		if (blockNum == 0 || blockNum == 3 || blockNum == 6)&lt;br /&gt;
 			ret = 0;&lt;br /&gt;
 		else if (blockNum == 1 || blockNum == 4 || blockNum == 7)&lt;br /&gt;
 			ret = 1;&lt;br /&gt;
 		else&lt;br /&gt;
 			ret = 2;&lt;br /&gt;
 &lt;br /&gt;
 		return ret;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	void markX(int blockNum) {&lt;br /&gt;
 		int x, y;&lt;br /&gt;
 		&lt;br /&gt;
 		x = getX(blockNum);&lt;br /&gt;
 		y = getY(blockNum);&lt;br /&gt;
 		&lt;br /&gt;
 		block[x][y] = markX;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	void markO(int blockNum) {&lt;br /&gt;
 		int x, y;&lt;br /&gt;
 		&lt;br /&gt;
 		x = getX(blockNum);&lt;br /&gt;
 		y = getY(blockNum);&lt;br /&gt;
 &lt;br /&gt;
 		block[x][y] = markO;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	boolean checkBlockIsVoid(int blockNum) {&lt;br /&gt;
 		int x, y;&lt;br /&gt;
 		&lt;br /&gt;
 		x = getX(blockNum);&lt;br /&gt;
 		y = getY(blockNum);&lt;br /&gt;
 		&lt;br /&gt;
 		if (block[x][y] == 0)&lt;br /&gt;
 			return true;&lt;br /&gt;
 		&lt;br /&gt;
 		return false;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	boolean checkWinner() {&lt;br /&gt;
         for (int i = 0; i &amp;amp;lt; 3; i++) &lt;br /&gt;
             if ((block[i][0] == markO &amp;amp;amp;&amp;amp;amp; block[i][1] == markO &amp;amp;amp;&amp;amp;amp; block[i][2] == markO) &lt;br /&gt;
                     || (block[i][0] == markX &amp;amp;amp;&amp;amp;amp; block[i][1] == markX &amp;amp;amp;&amp;amp;amp; block[i][2] == markX) &lt;br /&gt;
                     || (block[0][i] == markO &amp;amp;amp;&amp;amp;amp; block[1][i] == markO &amp;amp;amp;&amp;amp;amp; block[2][i] == markO) &lt;br /&gt;
                     || (block[0][i] == markX &amp;amp;amp;&amp;amp;amp; block[1][i] == markX &amp;amp;amp;&amp;amp;amp; block[2][i] == markX)) &lt;br /&gt;
             	return true;&lt;br /&gt;
 &lt;br /&gt;
         if ((block[0][0] == markO &amp;amp;amp;&amp;amp;amp; block[1][1] == markO &amp;amp;amp;&amp;amp;amp; block[2][2] == markO) &lt;br /&gt;
 	            || (block[0][0] == markX &amp;amp;amp;&amp;amp;amp; block[1][1] == markX &amp;amp;amp;&amp;amp;amp; block[2][2] == markX) &lt;br /&gt;
 	            || (block[0][2] == markO &amp;amp;amp;&amp;amp;amp; block[1][1] == markO &amp;amp;amp;&amp;amp;amp; block[2][0] == markO) &lt;br /&gt;
 	            || (block[0][2] == markX &amp;amp;amp;&amp;amp;amp; block[1][1] == markX &amp;amp;amp;&amp;amp;amp; block[2][0] == markX)) &lt;br /&gt;
         	return true; &lt;br /&gt;
 &lt;br /&gt;
         return false; &lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public Serious()&lt;br /&gt;
 	{&lt;br /&gt;
 		addMouseListener(new MouseAdapter() {&lt;br /&gt;
 			public void mouseClicked(MouseEvent e) {&lt;br /&gt;
 				&lt;br /&gt;
 				if (win)&lt;br /&gt;
 					return;&lt;br /&gt;
 				&lt;br /&gt;
 				x = e.getX();&lt;br /&gt;
 				y = e.getY();&lt;br /&gt;
 				&lt;br /&gt;
 				int blockNum = blockDecider(x, y);&lt;br /&gt;
 &lt;br /&gt;
 				if ( checkBlockIsVoid(blockNum) != true )&lt;br /&gt;
 					return;&lt;br /&gt;
 				&lt;br /&gt;
 				if (turn == true) {&lt;br /&gt;
 					markX(blockNum);&lt;br /&gt;
 					turn = false;&lt;br /&gt;
 				} else {&lt;br /&gt;
 					markO(blockNum);&lt;br /&gt;
 					turn = true;&lt;br /&gt;
 				}&lt;br /&gt;
 				&lt;br /&gt;
 				if ( checkWinner() ) {&lt;br /&gt;
 					if (turn)&lt;br /&gt;
 						System.out.println(&amp;quot;winner = O&amp;quot;);&lt;br /&gt;
 					else&lt;br /&gt;
 						System.out.println(&amp;quot;winner = X&amp;quot;);&lt;br /&gt;
 					&lt;br /&gt;
 					win = true;&lt;br /&gt;
 				}&lt;br /&gt;
 &lt;br /&gt;
 				repaint();&lt;br /&gt;
 			}&lt;br /&gt;
 		});&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public static void main(String args[]) {&lt;br /&gt;
 		Serious window = new Serious();&lt;br /&gt;
 		&lt;br /&gt;
 		window.setBounds(100, 100, 300, 330);&lt;br /&gt;
 		window.show();&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	void drawX(int x, int y, Graphics g) {&lt;br /&gt;
 		g.drawLine(y * 100, (x * 100) + 30, (y * 100) + 100, (x * 100) + 130);&lt;br /&gt;
 		g.drawLine((y * 100) + 100, (x * 100) + 30, y * 100, (x * 100) + 130);&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	void drawO(int x, int y, Graphics g) {&lt;br /&gt;
 		g.drawOval(y * 100, (x * 100) + 30, 100, 100);&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public void paint(Graphics g) {&lt;br /&gt;
 		g.drawLine(100, 30, 100, 330);&lt;br /&gt;
 		g.drawLine(200, 30, 200, 330);&lt;br /&gt;
 		g.drawLine(0, 130, 300, 130);&lt;br /&gt;
 		g.drawLine(0, 230, 300, 230);&lt;br /&gt;
 		&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; 3; i++)&lt;br /&gt;
 			for (int j = 0; j &amp;amp;lt; 3; j++) {&lt;br /&gt;
 				if (block[i][j] == markX)&lt;br /&gt;
 					drawX(i, j, g);&lt;br /&gt;
 				&lt;br /&gt;
 				if (block[i][j] == markO)&lt;br /&gt;
 					drawO(i, j, g);			&lt;br /&gt;
 			}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>