Advertisement
Kyrexar

Dados Risk

Nov 1st, 2012
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.85 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class risk
  4. {
  5.     static final int DADO=6; // Los dados tienen 6 caras
  6.     static Scanner teclado = new Scanner(System.in);
  7.     static int i, ch; // Contador e intercambio
  8.    
  9.     public static void main(String[] args)
  10.     {
  11.         int ata, def, data[]={0,0,0}, ddef[]={0,0};
  12.        
  13.         do{
  14.             System.out.println(" Introduce cuantas tropas atacan (1-3) y defienden (1-2) ");
  15.             ata = teclado.nextInt(); def = teclado.nextInt();
  16.         }while( ata<1 || ata>3 || def<1 || def>2 );
  17.        
  18.         for( i=0 ; i<ata ; i++ ) data[i] = (int) (Math.random()*DADO+1);
  19.         for( i=0 ; i<def ; i++ ) ddef[i] = (int) (Math.random()*DADO+1);
  20.        
  21.         for( i=0 ; i<ata-1 ; i++ ) if( data[i]<data[i+1] )
  22.         {
  23.             ch=data[i];
  24.             data[i]=data[i+1];
  25.             data[i+1]=ch;
  26.         }
  27.            
  28.         for( i=0 ; i<def-1 ; i++ ) if( ddef[i]<ddef[i+1] )
  29.         {
  30.             ch=ddef[i];
  31.             ddef[i]=ddef[i+1];
  32.             ddef[i+1]=ch;
  33.         }
  34.        
  35.         if( def==1 )
  36.         {
  37.             if( ata==1 ) System.out.println("Ataque: " + data[0] + "; Defensa: " + ddef[0] );
  38.             if( ata==2 ) System.out.println("Ataque: " + data[0] + ", " + data[1] + "; Defensa: " + ddef[0] );
  39.             if( ata==3 ) System.out.println("Ataque: " + data[0] + ", " + data[1] + ", " + data[2] + "; Defensa: " + ddef[0] );
  40.            
  41.             if( data[0] <= ddef[0] ) System.out.println(" El atacante pierde una tropa ");
  42.             else System.out.println(" El defensor pierde una tropa y el territorio es conquistado ");
  43.         }
  44.         else // 2 defensores
  45.         {          
  46.             if( ata==1 ) System.out.println("Ataque: " + data[0] + "; Defensa: " + ddef[0] + ", " + ddef[1] );
  47.             if( ata==2 ) System.out.println("Ataque: " + data[0] + ", " + data[1] + "; Defensa: " + ddef[0] + ", " + ddef[1] );
  48.             if( ata==3 ) System.out.println("Ataque: " + data[0] + ", " + data[1] + ", " + data[2] + "; Defensa: " + ddef[0] + ", " + ddef[1] );
  49.            
  50.             if( data[0] <= ddef[0] ) // primer dado gana defensa
  51.             {
  52.                 if( data[1] <= ddef[1] ) // segundo dado gana defensa
  53.                     System.out.println(" El atacante pierde dos tropas ");
  54.                 else // segundo dado gana ataque
  55.                     System.out.println(" Tanto el atacante como el defensor pierden una tropa ");
  56.             }
  57.  
  58.             else // primer dado gana ataque
  59.             {
  60.                 if( data[1] <= ddef[1] ) // segundo dado gana defensa
  61.                 System.out.println(" Tanto el atacante como el defensor pierden una tropa ");
  62.                 else // segundo dado gana ataque
  63.                 System.out.println(" El defensor pierde dos tropas y el territorio es conquistado ");
  64.             }
  65.         }
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement