Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programa Que Simula Un Campo de Tiro Con 10 Balas
Programa Que Simula Un Campo de Tiro Con 10 Balas
17-10-2012
Programa que simula un campo de tiro con 10 balas. El programa consiste en primero apuntar el objetivo y posteriormente disparar.
Cdigo fuente:
Clase CampoDeTiro
public class CampoDeTiro { public static void main(String[] args) { Pistola arma = new Pistola(); Apuntar c = new Apuntar(arma, 1); Disparar d = new Disparar(arma, 1); c.start(); d.start(); } }
17-10-2012
Clase Pistola
public class Pistola { private int cartucho; private boolean enposicion = false;
public synchronized void disparar(int cartucho) { while (enposicion == false) { try { // Esperar a apuntar wait(); } catch (InterruptedException e) { } } enposicion = false; notifyAll(); }
public synchronized void apuntar() { while (enposicion == true) { try { // Esperar a disparar wait(); } catch (InterruptedException e) { } } enposicion = true; notifyAll(); }
17-10-2012
Clase Apuntar
public class Apuntar extends Thread { private Pistola arma; private int cartucho;
@Override public void run() { for (int i = 1; i <= 10; i++) { arma.apuntar(); System.out.println("Apuntar #" + i + " bala: " + i); } } }
17-10-2012
Clase Disparar
public class Disparar extends Thread { private Pistola arma; private int cartucho;
@Override public void run() { for (int i = 1; i <= 10; i++) { arma.disparar(i);
17-10-2012
Ejecucin: