Java Rock, Paper, Scissors (3 / 4 steg)
Steg 3: Programmet
Och här är mitt program (drumroll...),
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
allmän klass GUI_RPS
{
Detta är medlemsvariabler. De är tillgängliga till en instans av en klass.
JFrame RPS;
JButton Rock, Paper, sax;
JTextField HRPS;
JTextField CRPS;
JTextField resultat.
JTextField Counter;
JPanel hInput;
char hChoice = "";
char cChoice = "";
char [] cc = {'R', 'P', 'S'};
int r3;
int slips = 0;
int computerwins = 0;
int humanwins = 0;
Random rGen = nya Random();
Detta är en konstruktör. Det anropas när nya GUI_RPS() anropas från viktigaste.
offentliga GUI_RPS()
{
RPS = nya JFrame ("Rock, Paper, sax);
RPS.setSize (600, 600);
Rock = nya JButton("Rock");
Papper = nya JButton("Paper");
Sax = nya JButton("Scissors");
hInput = ny JPanel();
HRPS = ny JTextField(20);
CRPS = nya JTextField(20);
Resultat = nya JTextField(20);
Räknare = nya JTextField(30);
Rock.addActionListener (nya ActionListener()
{
public void actionPerformed (ActionEvent e)
{
HRPS.setText ("du väljer Rock");
hChoice = "R";
Play ();
}
});
Paper.addActionListener (nya ActionListener()
{
public void actionPerformed (ActionEvent e)
{
HRPS.setText ("du väljer papper");
hChoice = 'P';
Play ();
}
});
Scissors.addActionListener (nya ActionListener()
{
public void actionPerformed (ActionEvent e)
{
HRPS.setText ("du väljer sax");
hChoice = s ';
Play ();
}
});
hInput.setLayout (nya FlowLayout());
hInput.add(HRPS);
hInput.add(CRPS);
hInput.add(Counter);
hInput.add(Rock);
hInput.add(Paper);
hInput.add(Scissors);
RPS.getContentPane () .add (hInput, BorderLayout.CENTER);
RPS.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
RPS.pack();
RPS.setVisible(true);
}
Lade till metoden
privata void play()
{
R3 = rGen.nextInt(3);
cChoice = cc [r3];
växel (cChoice)
{
fallet "R":
CRPS.setText ("datorn valde Rock");
bryta;
fallet "P":
CRPS.setText ("datorn väljer papper");
bryta;
fallet ":
CRPS.setText ("datorn valde sax");
bryta;
}
IF(hChoice == cChoice)
{
slips ++;
}
om (hChoice == 'R' & & cChoice == 'S ")
{
humanwins ++;
}
om (hChoice == "P" & & cChoice == "R")
{
humanwins ++;
}
om (hChoice == s ' & & cChoice == "P")
{
humanwins ++;
}
om (cChoice == 'R' & & hChoice == 'S ")
{
computerwins ++;
}
om (cChoice == "P" & & hChoice == "R")
{
computerwins ++;
}
om (cChoice == s ' & & hChoice == "P")
{
computerwins ++;
}
Counter.setText ("band =" + binda + ", mänskliga vinner =" + humanwins + ", datorn vinner =" + computerwins);
}
offentliga statisk void main (String [] args)
{
Ange utseendet till Java Swing ser
försök
{
() UIManager.setLookAndFeel
UIManager.getCrossPlatformLookAndFeelClassName());
} fånga (undantag e) {}
GUI_RPS ansökan = nya GUI_RPS();
}
}