All pastes #2094433 Raw Edit

Untitled

public text v1 · immutable
#2094433 ·published 2011-11-23 02:16 UTC
rendered paste body
import java.util.Scanner;

public class Weekly_Program_05 {
	
	public static void main (String[] args) {
		
		welcome();
		
		Scanner stdIn = new Scanner(System.in);
		
		int d1 = rollDie(1,6);
		int d2 = rollDie(1,6);
		int oMajor = majorDie(d1,d2);
		int oMinor = minorDie(d1,d2);
		int pMajor = majorDie(d1,d2);
		int pMinor = minorDie(d1,d2);
		int wins = 0;
		int ties = 0;
		int losses = 0;
		
		String s = "y";
		String y = "y";
		String n = "n";
		
		System.out.println('\r' + "Do you wish to play? [y/n]: ");
		s = stdIn.nextLine();
		
		while (s.charAt(0) == y.charAt(0))
		{
			printDice(d1, d2);
			if (result(oMajor, oMinor, pMajor, pMinor) == 1)
				wins++;
				System.out.println("Congrats, you win!");
			if (result(oMajor, oMinor, pMajor, pMinor) == -1)
				losses++;
				System.out.println("Sorry, you lose!");
			if (result(oMajor, oMinor, pMajor, pMinor) == 0)
				ties++;
				System.out.println("You tied!");
			System.out.println('\r' + "Do you wish to play again? [y/n]: ");
			s = stdIn.nextLine();				
		}
		
		if (s.charAt(0) == n.charAt(0))
			report(wins, ties, losses);
		
	}	
	
	public static void welcome() {
		
		System.out.println("         Welcome to Computer Dice");
		System.out.println("---------------------------------------------");
		System.out.println("Your opponent will first roll their two dice.");
		System.out.println("Next you will roll your two dice." + '\r');
		System.out.println("The outcome of each round will be based on");
		System.out.println("the values of your dice - high beats low,");
		System.out.println("pairs beat non-pairs.");
		System.out.println("---------------------------------------------");
	}
	
	public static int rollDie(int low, int high) {
		
		return (int)(Math.random() * (high-low+1)) + low;
		
	}
	
	public static int majorDie(int d1, int d2) {
		
		if (d1 > d2)
			return d1;
		else
			return d2;
		
	}
	
	public static int minorDie(int d1, int d2) {
		
		if (d1 < d2)
			return d1;
		else
			return d2;
		
	}
	
	public static void printDice(int d1, int d2) {
		
		System.out.println('\r' + "Opponent");
		System.out.println("--------");
		System.out.println("  " + d1 + "  " + d2);
		System.out.println('\r' + " Player ");
		System.out.println("--------");
		System.out.println("  " + d1 + "  " + d2);
	}
	
	public static boolean isPair(int d1, int d2) {
		
		if (d1 == d2)
			return true;
		else
			return false;
		
	}
	
	public static int result(int oMajor, int oMinor, int pMajor, int pMinor) {
		
		if (isPair(oMajor, oMinor) && !isPair(pMajor, pMinor))
			return -1;		
		else if (!isPair(oMajor, oMinor) && isPair(pMajor, pMinor))
			return 1;		
		else if (isPair(oMajor, oMinor) && isPair(pMajor, pMinor))
			if (oMajor > pMajor)
				return -1;
			else if (oMajor < pMajor)
				return 1;
			else
				return 0;		
		else if (!isPair(oMajor, oMinor) && !isPair(pMajor, pMinor))
			if (oMajor > pMajor)
				return -1;
			else if (oMajor > pMajor)
				return 1;
			else if (oMajor == pMajor)
				if (oMinor > pMinor)
					return -1;
				else if (oMinor < pMinor)
					return 1;
				else
					return 0;
		return 0;
		
	}
	
	public static void report(int wins, int ties, int losses) {
		
		System.out.println('\r' + "Computer Dice Results");
		System.out.println("---------------------");
		System.out.println("You played " + (wins + ties + losses) + " rounds.");
		System.out.println('\r' + "You won " + wins + " rounds.");
		System.out.println("You tied " + ties + " rounds.");
		System.out.println("You lost " + losses + " rounds.");		
		
	}

}