Changes

Start of page
==Main.java==
<pre>
//*******************************************************************
// Program 6 Author: Derek Elder
//********************************************************************

package program06;
import java.text.DecimalFormat;
import javax.swing.*; //JFrame
import java.io.*;
import java.util.Vector;

public class Main
{
public static boolean below500 = false;
public static CheckingAccount account;
public static EOptionsFrame frame;
public static JFrame gameFrame;
public static String filename = "C:\\accounts.txt";
public static Vector accountStore;
public static JTextArea ta;

public static void main(String[] args)
{
accountStore = new Vector();
frame = new EOptionsFrame("Checking Account Actions");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ta = new JTextArea(25,50);
frame.getContentPane().add(ta);
frame.pack();
frame.setVisible(true);
}
public static void addAccount()
{
String name, stringBalance;
float balance, charge;
charge = 0.0f;

name = JOptionPane.showInputDialog("Enter your name: ");
stringBalance = JOptionPane.showInputDialog("Enter your initial balance: ");
balance = Float.parseFloat(stringBalance);
account = new CheckingAccount(name, balance, charge);
accountStore.addElement(account);
}
public static void doTransactions()
{
int tCode = 0;
String stringTCode, stringTransAmt, message;
float transAmt, charge, balanceBeforeCharge;
boolean done = false;
charge = 0.00f;
frame.setVisible(false);

while(!done)
{
stringTCode = JOptionPane.showInputDialog("0: End, 1: Check, 2: Deposit"
+ "\nEnter the trans code: ");
tCode = Integer.parseInt(stringTCode);
DecimalFormat fmt = new DecimalFormat ("0.00"); //Round to two decimal places
if(tCode == 1)
{
stringTransAmt = JOptionPane.showInputDialog("Enter the trans amount: ");
transAmt = Float.parseFloat(stringTransAmt);
account.setBalance(transAmt, tCode);
account.addTrans(1,account.getTransCount(),transAmt);
if(account.getBalance() < 0.00)
{
if(below500 == true)
{
charge = 10.15f; //Cost of Check + Below $0 charge
account.setServiceCharge(charge);
message = account.getName() + "'s account" + "\n" +
"Transaction : Check in the amount of $" + fmt.format(transAmt) + "\n" +
"Current Balance : $" + fmt.format(account.getBalance()) + "\n" +
"Service charge : Check -- charge $0.15" + "\n" +
"Warning : Balance below $50.00" + "\n" +
"Service charge : Below $0 -- charge $10.00" + "\n" +
"Total service charge : $" + fmt.format(account.getServiceCharge());
JOptionPane.showMessageDialog(null, message);
account.addTrans(3,account.getTransCount(),0.15f);
account.addTrans(3,account.getTransCount(),10.00f);
}
else
{
charge = 5.15f; //Cost of Check + Below $500 charge
account.setServiceCharge(charge);
message = account.getName() + "'s account" + "\n" +
"Transaction : Check in the amount of $" + fmt.format(transAmt) + "\n" +
"Current Balance : $" + fmt.format(account.getBalance()) + "\n" +
"Service charge : Check -- charge $0.15" + "\n" +
"Service charge : Below $500.00 -- charge $5.00" + "\n" +
"Total service charge : $" + fmt.format(account.getServiceCharge());
JOptionPane.showMessageDialog(null, message);
below500 = true;
account.addTrans(3,account.getTransCount(),0.15f);
account.addTrans(3,account.getTransCount(),5.00f);
}
done = false;
}
else if(account.getBalance() < 500.00 && below500 == false)
{
charge = 5.15f; //Cost of Check + Below $500 charge
account.setServiceCharge(charge);
below500 = true;
if(account.getBalance() < 50.00)
{
message = account.getName() + "'s account" + "\n" +
"Transaction : Check in the amount of $" + fmt.format(transAmt) + "\n" +
"Current Balance : $" + fmt.format(account.getBalance()) + "\n" +
"Service charge : Check -- charge $0.15" + "\n" +
"Warning : Balance below $50.00" + "\n" +
"Total service charge : $" + fmt.format(account.getServiceCharge());
JOptionPane.showMessageDialog(null, message);
account.addTrans(3,account.getTransCount(),0.15f);
account.addTrans(3,account.getTransCount(),5.00f);
}
else
{
message = account.getName() + "'s account" + "\n" +
"Transaction : Check in the amount of $" + fmt.format(transAmt) + "\n" +
"Current Balance : $" + fmt.format(account.getBalance()) + "\n" +
"Service charge : Check -- charge $0.15" + "\n" +
"Service charge : Below $500.00 -- charge $5.00" + "\n" +
"Total service charge : $" + fmt.format(account.getServiceCharge());
JOptionPane.showMessageDialog(null, message);
account.addTrans(3,account.getTransCount(),0.15f);
account.addTrans(3,account.getTransCount(),5.00f);
}
}
else
{
charge = 0.15f;
account.setServiceCharge(charge);
if(account.getBalance() < 50.00)
{
message = account.getName() + "'s account" + "\n" +
"Transaction : Check in the amount of $" + fmt.format(transAmt) + "\n" +
"Current Balance : $" + fmt.format(account.getBalance()) + "\n" +
"Service charge : Check -- charge $0.15" + "\n" +
"Warning : Balance below $50.00" + "\n" +
"Total service charge : $" + fmt.format(account.getServiceCharge());
JOptionPane.showMessageDialog(null, message);
account.addTrans(3,account.getTransCount(),0.15f);
}
else
{
message = account.getName() + "'s account" + "\n" +
"Transaction : Check in the amount of $" + fmt.format(transAmt) + "\n" +
"Current Balance : $" + fmt.format(account.getBalance()) + "\n" +
"Service charge : Check -- charge $0.15" + "\n" +
"Total service charge : $" + fmt.format(account.getServiceCharge());
JOptionPane.showMessageDialog(null, message);
account.addTrans(3,account.getTransCount(),0.15f);
}
}
done = false;
}
else if(tCode == 2)
{
stringTransAmt = JOptionPane.showInputDialog("Enter the trans amount: ");
transAmt = Float.parseFloat(stringTransAmt);
charge = 0.10f;
account.setServiceCharge(charge);
account.setBalance(transAmt, tCode);
account.addTrans(2,account.getTransCount(),transAmt);
if(account.getBalance() <= 50.00)
{
message = account.getName() + "'s account" + "\n" +
"Transaction : Check in the amount of $" + fmt.format(transAmt) + "\n" +
"Current Balance : $" + fmt.format(account.getBalance()) + "\n" +
"Service charge : Deposit -- charge $0.10" + "\n" +
"Warning : Balance below $50.00" + "\n" +
"Total service charge : $" + fmt.format(account.getServiceCharge());
JOptionPane.showMessageDialog(null, message);
account.addTrans(3,account.getTransCount(),0.10f);
}
else
{
message = account.getName() + "'s account" + "\n" +
"Transaction : Deposit in the amount of $" + fmt.format(transAmt) + "\n" +
"Current Balance : $" + fmt.format(account.getBalance()) + "\n" +
"Service charge : Deposit -- charge $0.10" + "\n" +
"Total service charge : $" + fmt.format(account.getServiceCharge());
JOptionPane.showMessageDialog(null, message);
account.addTrans(3,account.getTransCount(),0.10f);
}
done = false;
}
else //tCode = 0
{
balanceBeforeCharge = account.getBalance();
charge = account.getServiceCharge();
account.setBalance(charge, tCode);
message = "Transaction : End" + "\n" +
"Current Balance : $" + fmt.format(balanceBeforeCharge) + "\n" +
"Total service charge : $" + fmt.format(account.getServiceCharge()) + "\n" +
"Final Balance : $" + fmt.format(account.getBalance());
JOptionPane.showMessageDialog(null, message);
done = true;
}
}
frame.setVisible(true);
}
public static void listTransactions()
{
String message;

message = account.toString();
ta.setText(message);
}
public static void listChecks()
{
String message;
message = "";
message += "Listing all Checks for " + account.getName() + ":";
message += "\nID\t\tType\t\tAmount";
message += "\n" + account.getTrans(1);
ta.setText(message);
}
public static void listDeposits()
{
String message;
message = "";
message += "Listing all Deposits for " + account.getName() + ":";
message += "\nID\t\tType\t\tAmount";
message += "\n" + account.getTrans(2);
ta.setText(message);
}
public static void findAccount()
{
String name, message;
int index;

name = JOptionPane.showInputDialog ("Enter the Account holder's name: ");
for(index = 0; index != accountStore.size(); index++)
{
CheckingAccount datum = (CheckingAccount)accountStore.elementAt(index);
if(name.equals(datum.getName()))
{
message = "The account for " + name + " has been found.";
ta.setText(message);
account = datum;
}
}
}
public static void readFromFile()
{
chooseFile(1);

try
{
FileInputStream fis = new FileInputStream(filename);
ObjectInputStream in = new ObjectInputStream(fis);

Vector storeIn = (Vector)in.readObject();
in.close();
accountStore = storeIn;
}
catch(ClassNotFoundException e)
{
System.out.println(e);
}
catch(IOException e)
{
System.out.println(e);
}
}
public static void writeToFile()
{
chooseFile(2);

try
{
FileOutputStream fos = new FileOutputStream(filename);
ObjectOutputStream out = new ObjectOutputStream(fos);

out.writeObject(accountStore);
out.close();
}
catch(IOException e)
{
System.out.println(e);
}
}
public static void chooseFile(int ioOption)
{
int status, confirm;
String message = "Would you like to use the current default file: \n" + filename;

confirm = JOptionPane.showConfirmDialog (null, message);

if(confirm == JOptionPane.YES_OPTION)
{
return;
}

JFileChooser chooser = new JFileChooser();

if(ioOption == 1)
{
status = chooser.showOpenDialog(null);
}
else
{
status = chooser.showSaveDialog(null);
}

if(status == JFileChooser.APPROVE_OPTION)
{
File file = chooser.getSelectedFile();
filename = file.getPath();
}
}
public static void doGame()
{
int selection;
String choice, message;
frame.setVisible(false);

choice = JOptionPane.showInputDialog("Would you like to read the rules first?" + "\n" +
"1: Yes or 0: No.");
selection = Integer.parseInt(choice);
if(selection == 1)
{
message = "The rules are relatively straightforward." + "\n" +
"You and your opponent each choose one of three types of weapons." + "\n" +
"Each weapon has a strength over another and a weakness to a third." + "\n" +
"Rock smashes Scissors, Scissors cuts Paper, and Paper covers Rock." + "\n" +
"Your opponent in this game will be a computer whose weapon is randomly decided." + "\n" +
"The game will now commence. Good luck.";
JOptionPane.showMessageDialog(null, message);
}

gameFrame = new JFrame("Checking Account Actions");
gameFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
RockPaperScissors panel = new RockPaperScissors();
gameFrame.getContentPane().add(panel);
gameFrame.pack();
gameFrame.setVisible(true);
//frame.setVisible(true);
}
}
</pre>
==Account.java==
<pre>
//*******************************************************************
// Account Class Author: Derek Elder
//********************************************************************

package program06;
import java.io.Serializable;

public class Account implements Serializable
{
protected String name;
protected float balance;

public Account(String initialName, float initialBalance)
{
name = initialName;
balance = initialBalance;
}
public String getName()
{
return name;
}
public float getBalance()
{
return balance;
}
public float setBalance(float currentBalance, int tCode)
{
if(tCode == 1 || tCode == 0)
balance -= currentBalance;
else //if(tCode == 2)
balance += currentBalance;
return balance;
}
}
</pre>
==CheckingAccount.java==
<pre>
//*******************************************************************
// CheckingAccount Class Author: Derek Elder
//********************************************************************

package program06;
import java.text.NumberFormat;

public class CheckingAccount extends Account
{
private float totalServiceCharge;
private int transCount;
private Transaction[] tList;

public void addTrans(int transID, int transNumber, float transAmt)
{
if(transCount == tList.length)
increaseArray();

tList[transCount] = new Transaction(transID, transNumber, transAmt);
transCount++;
}
public String getTrans(int checkOrDeposit)
{
int i;
String message = "";

for(i = 0;i < transCount;i++)
{
if(tList[i].getTransID() == checkOrDeposit)
{
message += tList[i].toString();

}
}
return message;
}
public int getTransCount()
{
return transCount;
}
public void setTransCount(int tCount)
{
transCount = tCount;
}
public float getServiceCharge()
{
return totalServiceCharge;
}
public float setServiceCharge(float currentServiceCharge)
{
totalServiceCharge += currentServiceCharge;
return totalServiceCharge;
}
public CheckingAccount()
{
super("", 0.0f);
totalServiceCharge = 0;
tList = new Transaction[10];
transCount = 0;
}
public CheckingAccount(String currentName, float currentBalance, float currentServiceCharge)
{
super(currentName, currentBalance);
totalServiceCharge = currentServiceCharge;
tList = new Transaction[10];
transCount = 0;
}
public String toString()
{
NumberFormat fmt = NumberFormat.getCurrencyInstance();
int i;

String report = "Account Name: " + name + "\n";
report += "Balance: " + balance + "\n";
report += "Total Service Charge: " + fmt.format(totalServiceCharge) + "\n";
report += "Number of Transactions: " + transCount;
report += "\n\nChecking Account List:\n\n";
report += "ID\t\tType\t\tAmount\n";
report += "--------------------------------------------------"
+ "--------------------------------------------------\n";

for(i = 0; i < transCount; i++)
report += tList[i] + "\n";

return report;
}
private void increaseArray()
{
int i;
Transaction[] temp = new Transaction[tList.length * 2];

for(i = 0; i < tList.length; i++)
temp[i] = tList[i];
tList = temp;
}
}
</pre>
==EOptionsFrame.java==
<pre>
//*******************************************************************
// EOptionsFrame Class Author: Derek Elder
//********************************************************************

package program06;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class EOptionsFrame extends JFrame implements WindowListener
{
public static final int WIDTH = 300;
public static final int HEIGHT = 200;
private JMenu fileMenu, accountsMenu, transactionsMenu, gameMenu;
private JMenuItem readFile, writeFile, addAccount, listTransactions,
findChecks, findDeposits, findAccount, addTransactions, RPSGame;

public EOptionsFrame(String title )
{
super(title);
addWindowListener(this);
setSize(WIDTH, HEIGHT);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JMenu fileMenu = new JMenu("File");
MenuListener ml = new MenuListener();

JMenuItem readFile = new JMenuItem("Read from file");
readFile.addActionListener(ml);
fileMenu.add(readFile);

JMenuItem writeFile = new JMenuItem("Write to file");
writeFile.addActionListener(ml);
fileMenu.add(writeFile);

JMenu accountsMenu = new JMenu("Account");

JMenuItem addAccount = new JMenuItem("Add new account");
addAccount.addActionListener(ml);
accountsMenu.add(addAccount);

JMenuItem listTransactions = new JMenuItem("List account transactions");
listTransactions.addActionListener(ml);
accountsMenu.add(listTransactions);

JMenuItem findChecks = new JMenuItem("List all checks");
findChecks.addActionListener(ml);
accountsMenu.add(findChecks);

JMenuItem findDeposits = new JMenuItem("List all deposits");
findDeposits.addActionListener(ml);
accountsMenu.add(findDeposits);

JMenuItem findAccount = new JMenuItem("Find an account");
findAccount.addActionListener(ml);
accountsMenu.add(findAccount);

JMenu transactionsMenu = new JMenu("Transactions");

JMenuItem addTransactions = new JMenuItem("Add transactions");
addTransactions.addActionListener(ml);
transactionsMenu.add(addTransactions);

JMenu gameMenu = new JMenu("Game");

JMenuItem RPSGame = new JMenuItem("Rock - Paper - Scissors");
RPSGame.addActionListener(ml);
gameMenu.add(RPSGame);

JMenuBar bar = new JMenuBar( );
bar.add(fileMenu);
bar.add(accountsMenu);
bar.add(transactionsMenu);
bar.add(gameMenu);
setJMenuBar(bar);
}
public void windowClosing(WindowEvent e)
{
int fileYea;
String selection;
selection = JOptionPane.showInputDialog("Save the account to a file? " +
"(Enter 1 to save)");
fileYea = Integer.parseInt(selection);
if(fileYea == 1)
{
Main.writeToFile();
}
this.setVisible(false);
System.exit(0);
}
public void windowClosed(WindowEvent e)
{}
public void windowOpened(WindowEvent e)
{}
public void windowIconified(WindowEvent e)
{}
public void windowDeiconified(WindowEvent e)
{}
public void windowActivated(WindowEvent e)
{}
public void windowDeactivated(WindowEvent e)
{}
//*****************************************************************
// Represents the listener for the radio buttons
//*****************************************************************
private class MenuListener implements ActionListener
{
public void actionPerformed (ActionEvent event)
{
String source = event.getActionCommand();

if(source.equals("Add new account"))
{
Main.addAccount();
}
else if(source.equals("List account transactions"))
{
Main.listTransactions();
}
else if(source.equals("List all checks"))
{
Main.listChecks();
}
else if(source.equals("List all deposits"))
{
Main.listDeposits();
}
else if(source.equals("Read from file"))
{
Main.readFromFile();
}
else if (source.equals("Write to file"))
{
Main.writeToFile();
}
else if (source.equals("Find an account"))
{
Main.findAccount();
}
else if (source.equals("Add transactions"))
{
Main.doTransactions();
}
else if (source.equals("Rock - Paper - Scissors"))
{
Main.doGame();
}
}
}
}
</pre>
==ImagePanel.java==
<pre>
//*******************************************************************
// ImagePanel Class Author: Derek Elder
//********************************************************************

package program06;
import java.awt.*;
import javax.swing.*;

public class ImagePanel extends JPanel
{
private final int WIDTH = 500;
private final int HEIGHT = 100;
public ImageIcon image;

public ImagePanel()
{
setBackground(Color.white);
setPreferredSize(new Dimension(WIDTH, HEIGHT));
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if(image != null)
image.paintIcon(this, g, 175, 10);
}
}
</pre>
==PlayClip.java==
<pre>
//*******************************************************************
// PlayClip Class Author: Derek Elder
//********************************************************************

package program06;
import java.applet.*;
import java.net.*;

public class PlayClip
{
public static void play(String url) throws InterruptedException
{
try
{
//long delay = 5;
AudioClip clip = Applet.newAudioClip(new URL(url));
clip.play();
//Thread.sleep(delay);
}
catch (MalformedURLException murle)
{
System.out.println(murle);
}
}
}
</pre>
==Transaction.java==
<pre>
//*******************************************************************
// Transaction Class Author: Derek Elder
//********************************************************************

package program06;
import java.io.Serializable;
import java.text.NumberFormat;

public class Transaction implements Serializable
{
private int transID;
private int transNumber;
private float transAmt;
private String transType;

public int getTransID()
{
return transID;
}
public int getTransNumber()
{
return transNumber;
}
public float getTransAmt()
{
return transAmt;
}
public Transaction(int currentTransID, int currentTransNumber, float currentTransAmt)
{
transID = currentTransID;
transNumber = currentTransNumber;
transAmt = currentTransAmt;
}
public String toString()
{
NumberFormat fmt = NumberFormat.getCurrencyInstance();
String description;

if(transID == 1)
transType = "Check";
else if(transID == 2)
transType = "Deposit";
else //(transID == 3)
transType = "S.Ch.";

description = transNumber + "\t\t" + transType + "\t\t" + fmt.format(transAmt);

return description;
}
}
</pre>
==RockPaperScissors.java==
<pre>
//*******************************************************************
// RockPaperScissors Class Author: Derek Elder
//********************************************************************

package program06;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class RockPaperScissors extends JPanel
{
private final int WIDTH = 500;
private final int HEIGHT = 200;
private JButton rock, paper, scissors;
private JLabel printout;
private ImagePanel imagePanel;
private int userChoice = 0;
private int compChoice = 0;
private int result = 0;
private String comp, user;
private static String winurl = "file:C:/Documents and Settings/Owner/Desktop/Java/Program06/youwin.wav"; //Win Audio File
private static String loseurl = "file:C:/Documents and Settings/Owner/Desktop/Java/Program06/youlose.wav"; //Loss Audio File
private static String tieurl = "file:C:/Documents and Settings/Owner/Desktop/Java/Program06/youtie.wav"; //Tie Audio File
private static String[] imageList =
{
"rockrock.jpg", "rockpaper.jpg", "rockscissors.jpg", "paperrock.jpg",
"paperpaper.jpg", "paperscissors.jpg", "scissorsrock.jpg",
"scissorspaper.jpg", "scissorsscissors.jpg"
};

public RockPaperScissors()
{
setLayout(new BorderLayout());
imagePanel = new ImagePanel();
rock = new JButton(" Rock ");
paper = new JButton(" Paper ");
scissors = new JButton(" Scissors ");
printout = new JLabel("Choose your weapon.");

//Add the components to the JPanel
add(imagePanel, BorderLayout.NORTH);
add(rock, BorderLayout.WEST);
add(paper, BorderLayout.CENTER);
add(scissors, BorderLayout.EAST);
add(printout, BorderLayout.SOUTH);

ButtonGroup group = new ButtonGroup();
group.add(rock);
group.add(paper);
group.add(scissors);

RockPaperScissorsListener listener = new RockPaperScissorsListener();
rock.addActionListener(listener);
paper.addActionListener(listener);
scissors.addActionListener(listener);

setBackground(Color.cyan);
setPreferredSize(new Dimension(WIDTH, HEIGHT));
}
//*****************************************************************
// Represents the listener for the radio buttons
//*****************************************************************
private class RockPaperScissorsListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
Object source = event.getSource();

if(source == rock)
{
userChoice = 1;
user = "Rock";
}
else if(source == paper)
{
userChoice = 2;
user = "Paper";
}
else
{
userChoice = 3;
user = "Scissors";
}
result = mechanics();

//Image Display - Player on the left, computer on the right
if(userChoice == 1 && compChoice == 1)
{
imagePanel.image = new ImageIcon(imageList[0]);
imagePanel.repaint();
}
else if(userChoice == 1 && compChoice == 2)
{
imagePanel.image = new ImageIcon(imageList[1]);
imagePanel.repaint();
}
else if(userChoice == 1 && compChoice == 3)
{
imagePanel.image = new ImageIcon(imageList[2]);
imagePanel.repaint();
}
else if(userChoice == 2 && compChoice == 1)
{
imagePanel.image = new ImageIcon(imageList[3]);
imagePanel.repaint();
}
else if(userChoice == 2 && compChoice == 2)
{
imagePanel.image = new ImageIcon(imageList[4]);
imagePanel.repaint();
}
else if(userChoice == 2 && compChoice == 3)
{
imagePanel.image = new ImageIcon(imageList[5]);
imagePanel.repaint();
}
else if(userChoice == 3 && compChoice == 1)
{
imagePanel.image = new ImageIcon(imageList[6]);
imagePanel.repaint();
}
else if(userChoice == 3 && compChoice == 2)
{
imagePanel.image = new ImageIcon(imageList[7]);
imagePanel.repaint();
}
else //if(userChoice == 3 && compChoice == 3)
{
imagePanel.image = new ImageIcon(imageList[8]);
imagePanel.repaint();
}

//Display result and play corresponding sound file
if(result == 1)
{
printout.setText("Player chose: " + user + ", Computer chose: " + comp + ", The Player has won.");
try
{
PlayClip.play(winurl);
}
catch(InterruptedException ie)
{
System.out.println(ie);
}
}
else if(result == 2)
{
printout.setText("Player chose: " + user + ", Computer chose: " + comp + ", The Player has lost.");
try
{
PlayClip.play(loseurl);
}
catch(InterruptedException ie)
{
System.out.println(ie);
}
}
else //if(result == 3)
{
printout.setText("Player chose: " + user + ", Computer chose: " + comp + ", Tie Game.");
try
{
PlayClip.play(tieurl);
}
catch(InterruptedException ie)
{
System.out.println(ie);
}
}
}
}
public int mechanics()
{
double tempValue = (Math.random() * 3);
compChoice = (int)Math.floor(tempValue)+1;

if(compChoice == 1)
comp = "Rock";
if(compChoice == 2)
comp = "Paper";
if(compChoice == 3)
comp = "Scissors";

if(userChoice == 1)
{
if(compChoice == 1)
return 3;
if(compChoice == 2)
return 2;
if(compChoice == 3)
return 1;
}
else if(userChoice == 2)
{
if(compChoice == 1)
return 1;
if(compChoice == 2)
return 3;
if(compChoice == 3)
return 2;
}
else //if(userChoice == 3)
{
if(compChoice == 1)
return 2;
if(compChoice == 2)
return 1;
if(compChoice == 3)
return 3;
}
return 0; //Fixes Missing return statement error
}
}
</pre>
123

edits