1. En esta práctica vamos a desarrollar de forma sencilla el juego del Tres en Raya utilizando el framework AWT (Abstract
Window Toolkit) de Java. Habrá dos modalidades de juego, Humano contra Humano y Humano contra Computadora. En
este último caso la lógica de la computadora se limita a buscar de forma aleatoria una casilla vacía.
Etiquetas: Frame, Panel, paquete AWT, Gestión de eventos, Notificador, Listener, interfaces y adaptadores, ActionListener,
WindowAdapter,…
TresRaya.java
package practicas.java.paqueteAWT;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Color;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.Button;
import java.util.ArrayList;
public class TresRaya extends Frame implements ActionListener, WindowListener {
private static final long serialVersionUID = 1L;
Button[][] teclas = new Button[3][3];
CheckboxGroup cbg = null;
int jugador = 1;
boolean hayganador = false;
String modalidad = "";
int contteclas = 0;
boolean partidaIniciada = false;
Label msg = null;
bitCoach::Juan Bautista Cascallar Lorenzo
2. public TresRaya(){
this.addWindowListener(this);
this.setTitle("Tres en Raya");
this.setSize(425,180);
this.setLayout(null);
Panel panel01 = new Panel();
panel01.setBounds(15, 39, 120, 120);
panel01.setLayout(new GridLayout(3,3));
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
teclas[i][j] = new Button();
teclas[i][j].setName(String.valueOf(i)+String.valueOf(j));
teclas[i][j].setLabel("");
teclas[i][j].addActionListener(this);
panel01.add(teclas[i][j]);
}
}
this.add(panel01);
Panel panel02 = new Panel();
panel02.setBounds(180, 40, 200, 100);
panel02.setLayout(new GridLayout(4,0));
cbg = new CheckboxGroup();
Checkbox HvsC = new Checkbox("Humano vs Computadora",cbg,true);
HvsC.setName("HC");
Checkbox HvsH = new Checkbox("Humano vs Humano",cbg,false);
HvsH.setName("HH");
panel02.add(HvsC); panel02.add(HvsH);
msg = new Label();
msg.setBackground(Color.YELLOW);
msg.setText("Selc. modalidad -> Reiniciar");
panel02.add(msg);
Button btn_Reiniciar = new Button("Reiniciar");
btn_Reiniciar.setName("reiniciar"); btn_Reiniciar.addActionListener(this);
panel02.add(btn_Reiniciar);
this.add(panel02);
}
bitCoach::Juan Bautista Cascallar Lorenzo