Download Articulo UBit.
Document related concepts
no text concepts found
Transcript
UBit Programación del Juego TA TE TI Revista El trabajo que se muestra a continuación es el resultado de un Proyecto de Alumnos de Programación I desarrollado en el 2º cuatrimestre del 2012, coordinado por la Prof. Claudia Litvak. Objetivo Adquirir capacidad lógica para la creación de un juego. Enunciado Crear un juego en Java aplicando todo lo aprendido durante la cursada de Programación I. Solución Primero creamos las clases Jugador, datosArray que es la que posee e l ArrayList de los nombres de jugadores, podés agregar jugadores, eliminar, etc. Con la ayuda de NetBeans para el diseño de las interfaces gráficas creamos dos JFrame. Uno llamado MenuGrafica, este contenía todo el menú con los botones de agregar jugador, eliminar jugador y un botón final llamado JUGAR para empezar el juego. Luego creamos una clase PantallaJuego que contenía todo el código lógico para saber quien gana o si hay empate, además de los botones principales para que se pueda jugar al TaTeTi. Para hacer las cruces y círculos hicimos 9 botones que se deshabilita y cambian el color del número cuando se hace clic en otros 9 botones que están por debajo. Algo complicado fue hacer el turno de cada jugador, pero lo logramos gracias a una variable booleana turno que tomaba un valor true al principio y a medida que iban apretando los 9 botones de abajo se iba cambiando a false y true dependiendo del valor de entrada. Luego desarrollamos una clase final, llamada Main, que lo único que hace es hacer visible el menú del juego (MenuGrafica). Vamos a mostrar la creación de la pantalla principal del juego, contenida en la clase PantallaJuego. Código de la Clase PantallaJuego import java.awt.Color; import javax.swing.JOptionPane; public class PantallaJuego extends javax.swing.JFrame { //Se define un jugador. Se guarda en un array los lugares ya seleccionados del tablero. //Se define la variable booleana turno para ver que jugador juega. Jugador a; DatosArray y; MenuGrafica j; boolean turno ; int contador; String name1; About about; public PantallaJuego() { //En el constructor se grafica el tablero con initComponents() initComponents(); turno=true; contador=0; turnoJugador.setText(j.x); this.getContentPane().setBackground(Color.white); } private void initComponents() { //Este método coloca todos los botones y los labels o etiquetas del tablero. jButton1 = new javax.swing.JButton(); jMenuItem3 = new javax.swing.JMenuItem(); boton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jButton3 = new javax.swing.JButton(); jButton4 = new javax.swing.JButton(); jButton5 = new javax.swing.JButton(); jButton6 = new javax.swing.JButton(); jButton7 = new javax.swing.JButton(); jButton8 = new javax.swing.JButton(); jButton9 = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); turnoJugador = new javax.swing.JLabel(); volver = new javax.swing.JButton(); numero1 = new javax.swing.JButton(); numero2 = new javax.swing.JButton(); numero3 = new javax.swing.JButton(); numero6 = new javax.swing.JButton(); numero5 = new javax.swing.JButton(); numero4 = new javax.swing.JButton(); numero9 = new javax.swing.JButton(); numero8 = new javax.swing.JButton(); numero7 = new javax.swing.JButton(); jMenuBar1 = new javax.swing.JMenuBar(); Exit = new javax.swing.JMenu(); jMenuItem2 = new javax.swing.JMenuItem(); jMenuItem1 = new javax.swing.JMenuItem(); jMenu1 = new javax.swing.JMenu(); jMenuItem4 = new javax.swing.JMenuItem(); jButton1.setText("jButton1"); jMenuItem3.setText("jMenuItem3"); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("TaTeTi - Juego Nuevo"); setBackground(new java.awt.Color(153, 255, 153)); boton1.setBackground(new java.awt.Color(204, 204, 204)); boton1.setText("1"); boton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { boton1ActionPerformed(evt); } }); jButton2.setBackground(new java.awt.Color(204, 204, 204)); jButton2.setText("2"); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); //Se trabaja igual con todos los botones. jLabel1.setText("TaTeTi"); jLabel2.setText("Turno del Jugador:"); turnoJugador.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N turnoJugador.setForeground(new java.awt.Color(204, 0, 0)); turnoJugador.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); turnoJugador.setText("-"); volver.setBackground(new java.awt.Color(0, 153, 0)); volver.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N volver.setForeground(new java.awt.Color(255, 255, 255)); volver.setText("Volver Al Menu"); volver.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { volverActionPerformed(evt); } }); numero1.setBackground(new java.awt.Color(51, 204, 255)); numero1.setFont(new java.awt.Font("Tahoma", 0, 48)); // NOI18N numero1.setForeground(new java.awt.Color(255, 255, 255)); numero1.setText("1"); numero1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { numero1ActionPerformed(evt); } }); // De la misma manera trabaja con los otros botones } Luca Pascarelli y Christian Diez Alumnos de Programación I de la carrera de Ingeniería Informática Mg. Claudia Litvak Profesora de Programación I y Proyecto de Construcción de Software Facultad de Ingeniería y Tecnología Informática - UB