Berikut ini adalah 50 baris Tic-Tac-Toe:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TicTacToe extends JFrame implements ActionListener {
private JButton [] button = new JButton [9];
private int count = 0;
public TicTacToe () {
super ("Tic-Tac-Toe");
setSize (300, 300);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
setLayout (new GridLayout (3, 3));
init ();
}
private void init () {
count = 0;
for (int i = 0; i < 9; ++i) {
button [i] = new JButton ("");
button [i].addActionListener (this);
add (button [i]);
}
setVisible (true);
}
public void actionPerformed (ActionEvent a) {
String letter = (++count % 2 == 1) ? "X" : "O";
for (JButton jb : button)
if (a.getSource () == jb) {
jb.setText (letter);
jb.setEnabled (false);
}
if (count == 9) {
for (JButton jb : button)
remove (jb) ;
init ();
}
}
public static void main (String [] args) {
new TicTacToe ();
}
}
Karena itu adalah Java, ia tidak terikat ke Ubuntu, bahkan Linux, tetapi akan berjalan pada Solaris, Apple dan Windows juga - di mana JVM berada.
Tapi itu serupa untuk solusi di Smalltalk, Python, Ruby, ... - bahkan dalam C atau C ++ ketika kerangka kerja portabel digunakan seperti Qt atau Gnome, dan bukan beberapa kelas MFC eksklusif. Dalam C dan C ++, tentu saja Anda harus mengkompilasi ulang barang-barang.