todo lo que dijiste es tu algoritmo tienes que utilizar 2 numeros que sean relacionados con Math.ramdon() para que sea aleatoreo y luego lo registringes todas las opciones de ganar o perder con if
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúimport java.util.*;
public class TresRaya{
char asterisco;
char cero;
char [][] matriz;
String juego=" ";
boolean bandera=false;
public TresRaya(){
asterisco='*';
cero='o';
matriz= new char [3][3];
}
public char [][] llenar(){
for(int i=0; i<=2; i++){
for(int j=0; j<=2; j++){
matriz[i][j]='t';
//llenamos con t por tres en raya
}
}
return matriz;
}
public String poner1(int fila, int columna, char caracter){
if(bandera==false){
for(int i=0; i<=2; i++){
for(int j=0; j<=2; j++){
if (i==fila && j==columna){
if(caracter=='*' && matriz[i][j]=='t'){
matriz[i][j]=caracter; }
}
}
}
if(matriz[0][0]=='*' && matriz[0][1]=='*' && matriz[0][2]=='*'){ juego="gano jugador 1"; }
if(matriz[1][0]=='*' && matriz[1][1]=='*' && matriz[1][2]=='*'){ juego="gano jugador 1"; }
if(matriz[2][0]=='*' && matriz[2][1]=='*' && matriz[2][2]=='*'){ juego="gano jugador 1"; }
if(matriz[0][0]=='*' && matriz[1][1]=='*' && matriz[2][2]=='*'){ juego="gano jugador 1"; }
if(matriz[0][0]=='*' && matriz[1][0]=='*' && matriz[2][0]=='*'){ juego="gano jugador 1"; }
if(matriz[0][1]=='*' && matriz[1][1]=='*' && matriz[2][1]=='*'){ juego="gano jugador 1"; }
if(matriz[0][2]=='*' && matriz[1][2]=='*' && matriz[2][2]=='*'){ juego="gano jugador 1"; }
if(matriz[0][2]=='*' && matriz[1][1]=='*' && matriz[0][0]=='*'){ juego="gano jugador 1"; }
bandera=true;
}
else{ juego="no es su turno";}
return juego;
}
public String poner2(int fila, int columna, char caracter){
if(bandera==true){
for(int i=0; i<=2; i++){
for(int j=0; j<=2; j++){
if (i==fila && j==columna){
if(caracter=='o' && matriz[i][j]=='t' ){
matriz[i][j]=caracter; }
}
}
}
if(matriz[0][0]=='o' && matriz[0][1]=='o' && matriz[0][2]=='o'){ juego="gano jugador 2"; }
if(matriz[1][0]=='o' && matriz[1][1]=='o' && matriz[1][2]=='o'){ juego="gano jugador 2"; }
if(matriz[2][0]=='o' && matriz[2][1]=='o' && matriz[2][2]=='o'){ juego="gano jugador 2"; }
if(matriz[0][0]=='o' && matriz[1][1]=='o' && matriz[2][2]=='o'){ juego="gano jugador 2"; }
if(matriz[0][0]=='o' && matriz[1][0]=='o' && matriz[2][0]=='o'){ juego="gano jugador 2"; }
if(matriz[0][1]=='o' && matriz[1][1]=='o' && matriz[2][1]=='o'){ juego="gano jugador 2"; }
if(matriz[0][2]=='o' && matriz[1][2]=='o' && matriz[2][2]=='o'){ juego="gano jugador 2"; }
if(matriz[0][2]=='o' && matriz[1][1]=='o' && matriz[0][0]=='o'){ juego="gano jugador 2"; }
bandera=false;
}
else{ juego="no es su turno";}
return juego;
}
public void mostrar(){
for(int i=0; i<=2; i++){
for(int j=0; j<=2; j++){
System.out.println(matriz[i][j]);
}
}
}
}
import java.util.*;
public class ahorcado{
private int vidas;
String [] palabras={"amor","bebe","okey","vida","odio","coma","dios","mama","papa","tata"};
String elegido;
Character [] cont={'*','*','*','*'};
String almacenando="";
public ahorcado(){
vidas =3;
elegido="";
}
public String elegir(){
int aleatorio=(int)((Math.random()*10)*10)/10;
elegido=palabras[aleatorio];
return elegido;
}
public boolean existe(char car){
// elegido=elegir();
boolean res=false;
int i=0;
while(res==false && i<=elegido.length()-1){
if(elegido.charAt(i)==car){
res=true;
}
i++;
}
return res;
}
public String jugar(char c){
String juego="";
if(elegido==""){
elegido=elegir();
}
almacenando="";
if(vidas>0 && juego!="campeon"){
if(existe(c)==true){
for(int m=0; m<=3; m++){
if(elegido.charAt(m)==c){
cont[m]=c;
}
}
for(int j=0;j<=3; j++){
almacenando=almacenando+cont[j];
}
juego=almacenando;
almacenando="";
}else{
vidas--;
for(int h=0;h<=3; h++){
almacenando=almacenando+cont[h];
}
juego=almacenando;
almacenando="";
}
}else{
for(int a=0;a<=3; a++){
almacenando=almacenando+cont[a];
}
if(almacenando.equals(elegido)){
juego="campeon";
}
else{
juego="perdedor";
}
}
for(int b=0;b<=3; b++){
almacenando=almacenando+cont[b];
}
if(almacenando.equals(elegido)){
juego="campeon";
}
return juego;
}
}
Cita de: Damian100 en 25 Octubre 2011, 20:50 PM
HErmano haber si me indicas como corre paso a paso en java como es que actuan el contador del barbero esta chevere el codigo lo entendi pero quiero una explicacion de ejecucion por favor ok se te agradece.
import java.lang.InterruptedException;
public class Arbitro
{
int contador;
public Arbitro(){
contador=0;
}
public synchronized void hacerPing(){
if(contador==0){
try{
wait();
contador++;
}catch (InterruptedException e){
e.printStackTrace();
}
}
else if(contador==1){
notify();
}
}
public synchronized void hacerPong(){
if(contador==1){
try{
wait();
contador++;
}catch (InterruptedException e){
e.printStackTrace();
}
contador--;
}
else if(contador==0){
notify();
}
}
}
import java.lang.Thread;
import java.lang.InterruptedException;
public class Jugador1 extends Thread
{
Arbitro arbitro;
public Jugador1(Arbitro arbitro){
this.arbitro=arbitro;
}
public void run(){
while(true){
arbitro.hacerPing();
try{
sleep(5000);
}catch (InterruptedException e){
e.printStackTrace();}
System.out.println("respondio con un Ping 1");
}
}
}
import java.lang.Thread;
public class Jugador2 extends Thread
{
Arbitro arbitro;
public Jugador2(Arbitro arbitro){
this.arbitro=arbitro;
}
public void run(){
while(true){
arbitro.hacerPong();
System.out.println("respondio con un Pong 1");
}
}
}
import java.lang.Thread;
import java.lang.InterruptedException;
public class Jugador3 extends Thread
{
Arbitro arbitro;
public Jugador3(Arbitro arbitro){
this.arbitro=arbitro;
}
public void run(){
while(true){
arbitro.hacerPing();
try{
sleep(5000);
}catch (InterruptedException e){
e.printStackTrace();}
System.out.println("respondio con un Ping 2");
}
}
}
import java.lang.Thread;
import java.lang.InterruptedException;
public class Jugador4 extends Thread
{
Arbitro arbitro;
public Jugador4(Arbitro arbitro){
this.arbitro=arbitro;
}
public void run(){
while(true){
arbitro.hacerPong();
System.out.println("respondio con un Pong 2");
}
}
}
import java.io.IOException;
public class Prueba1
{
public static void main(String args[]) throws IOException {
Arbitro arbitro;
Jugador1 jugador1;
Jugador2 jugador2;
Jugador3 jugador3;
Jugador4 jugador4;
arbitro= new Arbitro();
jugador1= new Jugador1(arbitro);
jugador1.start();
jugador2= new Jugador2(arbitro);
jugador2.start();
jugador3= new Jugador3(arbitro);
jugador3.start();
jugador4= new Jugador4(arbitro);
jugador4.start();
}
}
import java.lang.InterruptedException;
public class Barberia
{
int contador;
public Barberia(int contador){
this.contador=contador;
}
public synchronized void atenderCliente(){
if(contador==0){
try{
wait();
}
catch (InterruptedException e){
e.printStackTrace();}
contador++;
}
else if(contador>=1){
notify();
}
}
public synchronized void llegarCliente(){
int copia =contador;
if(contador==copia){
try{
wait();
}
catch (InterruptedException e){
e.printStackTrace();}
contador--;
}
else if(contador<copia){
notify();
}
}
}
import java.lang.Thread;
import java.lang.InterruptedException;
public class Barbero extends Thread{
Barberia barberia;
public Barbero(Barberia barberia){
this.barberia=barberia;
}
public void run(){
while(true){
barberia.atenderCliente();
try{
sleep(5000);
}
catch (InterruptedException e){
e.printStackTrace();
}
System.out.println("atendio a un cliente");
}
}
}
import java.lang.Thread;
import java.lang.InterruptedException;
public class Cliente extends Thread{
Barberia barberia;
public Cliente(Barberia barberia){
this.barberia=barberia;
}
public void run(){
while(true){
barberia.llegarCliente();
System.out.println("llego un cliente");
}
}
}
import java.io.IOException;
public class PruebaBarberia
{
public static void main(String args[])throws IOException {
Barberia barberia;
Barbero barbero;
Cliente cliente;
barberia=new Barberia(20);
cliente=new Cliente(barberia);
cliente.start();
barbero=new Barbero(barberia);
barbero.start();
}
}