public class TicTacToe implements ActionListener { private int[][] winCombinations = new int[][] { {0, 1, 2}, {3, 4, 5}, {6, 7, 8}, {0, 3, 6}, {1, 4, 7}, {2, 5, 8}, {0, 4, 8}, {2, 4, 6}}; private JFrame window = new JFrame("Tic-Tac-Toe"); private JButton buttons[] = new JButton[9]; private int count, xWins, oWins = 0; private String letter = ""; private boolean win = false; public TicTacToe(){ window.setSize(300,300); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setLayout(new GridLayout(3,3)); window.setLocationRelativeTo(null); for(int i=0; i<=8; i++){ buttons[i] = new JButton(); window.add(buttons[i]); buttons[i].addActionListener(this); } window.setVisible(true); } public void actionPerformed(ActionEvent a) { count++; if(count % 2 == 0){ letter = "O"; } else { letter = "X"; } JButton pressedButton = (JButton)a.getSource(); pressedButton.setText(letter); pressedButton.setEnabled(false); for(int i=0; i<=7; i++){ if( buttons[winCombinations[i][0]].getText().equals(buttons[winCombinations[i][1]].getText()) && buttons[winCombinations[i][1]].getText().equals(buttons[winCombinations[i][2]].getText()) && buttons[winCombinations[i][0]].getText() != ""){ win = true; } } if(win == true){ if (count % 2 == 0){ JOptionPane.showMessageDialog(null, "Player O WINS the game!"); saveName(); playAgainDialog(); }else JOptionPane.showMessageDialog(null, "Player X WINS the game!"); saveName(); playAgainDialog(); } else if(count == 9 && win == false){ JOptionPane.showMessageDialog(null, "The game was tie!"); playAgainDialog(); } } public void playAgainDialog() { if(letter.equals("X")) xWins++; else oWins++; int response = JOptionPane.showConfirmDialog(null, "Do you want to play again?","Confirm", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if(response == JOptionPane.YES_OPTION) reset(); else window.hide(); } public void reset() { for (int i=0; i<=8; i++){ buttons[i].setText(""); buttons[i].setEnabled(true); } win = false; count = 0; } public void saveName(){ int response = JOptionPane.showConfirmDialog(null, "Do you want to save your name?","Confirm", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if(response == JOptionPane.YES_OPTION){ String name= JOptionPane.showInputDialog(null,"Enter Name (Player X or Player O)"); try{ File file = new File("TicTacToe.txt"); FileWriter fstream = new FileWriter(file,true); BufferedWriter out = new BufferedWriter(fstream); out.write(name); out.newLine(); out.close(); } catch(Exception e){} } } public static void main(String[] args){ new TicTacToe(); } }
Thanks
Related Pages:
enable users to enter names - Java Beginners enableusers to enter names this is the code for tic tac toe game, i want users can save their name as player X and player O, but I do not know how...= JOptionPane.showInputDialog(null,"Enter Name (Player X or Player O)");
try{
File file = new File
Names
=JOptionPane.showInputDialog(null,"Enter any character");
switch(ch){
case 1... (String arg[]){
String st=JOptionPane.showInputDialog(null,"Enter any
Display set names
Display set names If i enter the First letter of a name it will display the list of names starting with that letter in command prompt using java...);
System.out.print("Enter letter: ");
String letter=input.next
how to enable and disable a input type in jsp - JSP-Servlet
how to enable and disable a input type in jsp how to disable the input type and enable based on some input in the input type Hi Friend...;
}
else{
document.form.name.disabled=false;
}
}
Enter Name
Display set of names from array
Display set of names from array
In this section, you will learn how to display the set of names from array.
In the given code, we have declared an array of string consisting of some
countries name. We have prompted the user to enter
count the users?
count the users? how to get the number of users logged in any application
JSP data after login where different users data are stored in database
JSP data after login where different users data are stored in database hey..i have a login page where different users first registered... where different users data are stored in database,plz...provide me answer its
Display set of names in array when we press the first letter
Display set of names in array when we press the first letter Please help to write a program which have to display set of names in the array when we... the available names)using java
Have a look at the following link
display a list of names(when we press first letter)
display a list of names(when we press first letter) If i gave... arg[])
{
String st=JOptionPane.showInputDialog(null,"Enter any...("Enter letter: ");
String letter=input.next().substring(0,1
enable text box enable text box Dear all
I would like to enable a textbox by clicking on a button.
pleas ehelp me out how can i do this
regards
JV
Enable Browser's back button Enable Browser's back button how to redirect to a home page when browser's back button is pressed in jsp instead of displaying the previous page
enable disable table enable disable table hi
I have table with 3 columns if i click one column the other 2 column should disable pls can anyboby help me
disable and enable the submit buttons
disable and enable the submit buttons i have two summit button in my form.
one is disabled and other is navigating to the other page.
after 3 submissions of the submit button the disabled one must be enabled and the enabled one
Inform user to enable JavaScript
Inform user to enable JavaScript Hi sir
How can we inform user to turn on JavaScript ? Because if we have implemented validation etc with JavaScript , then it will not work.
What option we have when this situation occurs
Java: Names
Java: NamesNames should be meaningful and follow conventions
Source code..., the names should be meaningful and they
should follow the Java conventions for capitalization and use
of the underscore.
Meaningful names
Variables, methods
Text Field in HTML
Text Field in HTML
The Text Field in HTML are one line areas, which enable the user to enter
input text.
Understand with Example
The Tutorial illustrates an example from
Identifier Names
Java NotesIdentifier Names
Getting the names of things right is extremely....
Digits: 0-9
Special: _ (underscore)
No names can be the same as
a Java... worse, no distinction made at word boundaries.
Class and interface names
Sorting Country names alphabetically
Sorting Country names alphabetically Hello,
I have a list of country names in an array.
I need a jsp code which will sort me the country names in an alphaberical order.
It would be more useful when I get the coding using
pass parameter names and values
pass parameter names and values What is the <jsp:param> standard action?
The <jsp:param> standard action is used with <jsp:include> or <jsp:forward> to pass parameter names and values
Program to Ignore Space and Enter ?!
Program to Ignore Space and Enter ?! Hi, dear friend i wont to write program to enter many statements, if i use Space and Enter in the Run Time must be delete the space and ignore the Enter ..for example if i entered
enable text box and label on selection enable text box and label on selection hello,
Please tell me how to enable label and text box on selection of drop down list box.
in drop down list box all values come from database.
please reply
Enable Proxy Setting
In this section, you will learn to enable proxy setting for Maven using setting.xml file
ipad default image names
ipad default image names i have a problem while launching application in iPad. The Default image that i have set is not displaying in landscape mode correctly. please suggest.
Thanks.
ipad Default image names
Authenticating Users Programmatically
This section contains detailed description on 'authenticating users programmatically' which was introduced in Servlet 3.0.
Task manager enable and disable thru java
Task manager enable and disable thru java I would like to know, how to enable and disable task manager using java.
Kindly, please Let me know
ask a user to enter 5 integer
ask a user to enter 5 integer make a program that enter 5 numbers then identify the largest and the smallest number
sample program
2
4
3
5
6
the smallest number: 2
the largest number: is 6
66
Allow to Enter only numeric data.
Allow to Enter only numeric data. hi.......
I want to ask that in my project i have a textfield where user is going to enter the data so i want that the user should allow to enter only numeric data.
I mean to say that if user
How to handle enter key in javascript
How to handle enter key in javascript Can any one tell me how to handle the enter key event on a Button in HTML. Like in my simple HTML page i want to submit the form even if user hits the enter key from keyboard instead
Enable and Disable Tab in Java Enable and Disable Tab in Java
In this section you will learn how to enable... number. To enable or disable any
tab you can use the setEnabledAt(int index
Using Unicode Variable Names - Java Tutorials
Using Unicode Variable Names
2001-11-23 The Java Specialists' Newsletter [Issue 036] - Using Unicode Variable Names
Author:
Dr. Heinz M. Kabutz... Names
A few months ago, I was reading a book written by the authors of
Java
DIFFERENT PAGES FOR DIFFERENT USERS ACCORDING TO THEIR ROLE
DIFFERENT PAGES FOR DIFFERENT USERS ACCORDING TO THEIR ROLE I HAVE A PROBLEM IN PHP CODING PLS HELP ME
PROBLEM IS THAT I WANT DIFFERENT PAGES TO VIEW FOR DIFFERENT USERS WHEN THEY LOGIN ACCORDING TO THEIR ROLE IN DATABASE
how to make enable/disable textbox in while(rs.next)
how to make enable/disable textbox in while(rs.next) Hi, I'm trying to enable/disable the textbox in the while loop. It works but when i want to update my data, the data are not updated correctly. When i remove the enable
how to make enable/disable textbox in while(rs.next)
how to make enable/disable textbox in while(rs.next) Hi, I'm trying to enable/disable the textbox in the while loop. It works but when i want to update my data, the data are not updated correctly. When i remove the enable
Use of Text Field
;
By using form in HTML, users are allowed to enter or select different... button
etc.) through which users can input their data. A form is created using
sendin subscribe newstype to many users - JavaMail
sendin subscribe newstype to many users Now i doing a project news portal.i want to send news to many subscribed users by using javamail.I using jsp and mysql.i want to send many type news to different users please help
java multiple users with single connection - JSP-Servlet
java multiple users with single connection hi,
my problem... created a home page of my website.
this page consists of 4 types of users suppose A, B, C, D.
now type A user consists of many users like A1,A2,A3 etc
Class names don't identify a class - Java Tutorials
Class names don't identify a class
In JDK 1.2 the Sum Microsystems have added a new feature that allows you to
identify a class not only by its name but also by its context for which it was
loaded. For this you need to set
Need to know struts1 all jar file names
Need to know struts1 all jar file names Hi,
My name is Neeraj, I want to know all the jar file names for struts1 and plz provide me the link to download these files.
Thanks & Regards
Neeraj
Java enter Key problem - Java Beginners
Java enter Key problem How we can use Enter Key to Click a Button(JButton) in Java? hi,
i guess u mean u want to make a button as a default button.
if it is so, then u can do it by rootpane,
getRootPane