Start playing cricket
|
|
||||||||||||||||||||
import java.awt.Color;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.Random;
public class Cricket extends JFrame implements ActionListener{
JLabel lblComp = new JLabel("Computer");
JLabel lblYou = new JLabel("You");
JLabel lblCompScore = new JLabel("Score");
JLabel lblYouScore = new JLabel("Score");
JLabel dispCompScore = new JLabel("0/0");
JLabel dispYouScore = new JLabel("0/0");
JLabel lblCompOver = new JLabel("Over");
JLabel lblYouOver = new JLabel("Over");
JLabel dispCompOver = new JLabel("0");
JLabel dispYouOver = new JLabel("0");
JLabel compResult = new JLabel("");
JLabel youResult = new JLabel("");
JLabel result = new JLabel("");
JButton playCompBtn = new JButton("Play Computer");
JButton playYouBtn = new JButton("Play");
JButton newGame = new JButton("New Game");
int score = 0;
int wick = 0;
int over = 0;
int ball = 0;
int compOrYou = 0;
int compScore = 0;
Random cricketPlay = new Random();
public Cricket() throws Throwable{
super("Cricket");
setLayout(null);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setBackground(Color.LIGHT_GRAY);
setBounds(10, 10, 600, 400);
newGame.setBounds(200, 10, 150, 25);
newGame.setFont(new Font("Courier New", Font.BOLD, 18));
newGame.setForeground(Color.GRAY);
lblComp.setBounds(80, 50, 100, 25);
lblComp.setFont(new Font("Courier New", Font.BOLD, 18));
lblComp.setForeground(Color.BLUE);
lblCompScore.setBounds(50, 90, 100, 25);
dispCompScore.setBounds(200, 90, 100, 25);
lblCompOver.setBounds(50, 130, 100, 25);
dispCompOver.setBounds(200, 130, 100, 25);
playCompBtn.setBounds(50,200,180,30);
playCompBtn.setFont(new Font("Courier New", Font.BOLD, 18));
playCompBtn.setForeground(Color.RED);
lblYou.setBounds(380, 50, 100, 25);
lblYou.setFont(new Font("Courier New", Font.BOLD, 18));
lblYou.setForeground(Color.BLUE);
lblYouScore.setBounds(350, 90, 100, 25);
dispYouScore.setBounds(500, 90, 100, 25);
lblYouOver.setBounds(350, 130, 100, 25);
dispYouOver.setBounds(500, 130, 100, 25);
playYouBtn.setBounds(350,200,180,30);
playYouBtn.setFont(new Font("Courier New", Font.BOLD, 18));
playYouBtn.setForeground(Color.RED);
compResult.setBounds(60,250,180,30);
compResult.setFont(new Font("Courier New", Font.BOLD, 18));
compResult.setForeground(Color.MAGENTA);
youResult.setBounds(370,250,180,30);
youResult.setFont(new Font("Courier New", Font.BOLD, 18));
youResult.setForeground(Color.MAGENTA);
result.setBounds(250,300,180,30);
result.setFont(new Font("Courier New", Font.BOLD, 18));
result.setForeground(Color.MAGENTA);
add(lblComp);
add(lblCompScore);
add(dispCompScore);
add(lblCompOver);
add(dispCompOver);
add(playCompBtn);
add(lblYou);
add(lblYouScore);
add(dispYouScore);
add(lblYouOver);
add(dispYouOver);
add(playYouBtn);
add(compResult);
add(youResult);
add(result);
add(newGame);
playYouBtn.setVisible(false);
playCompBtn.addActionListener(this);
playYouBtn.addActionListener(this);
newGame.addActionListener(this);
}
public static void main(String args[]) throws Throwable {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
new Cricket();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == playCompBtn) {
compOrYou = 1;
for(int i=0; i<30; i++) {
playBall();
dispCompScore.setText(score+"/"+wick);
dispCompOver.setText(over+"."+ball);
if(over == 5 || wick ==10) {
compResult.setText("");
break;
}
}
playCompBtn.setVisible(false);
playYouBtn.setVisible(true);
compScore = score;
score = 0;
wick = 0;
over = 0;
ball = 0;
} else if(e.getSource() == playYouBtn) {
compOrYou = 2;
playBall();
dispYouScore.setText(score+"/"+wick);
dispYouOver.setText(over+"."+ball);
} else {
compScore = 0;
compOrYou = 0;
score = 0;
wick = 0;
over = 0;
ball = 0;
dispCompScore.setText(score+"/"+wick);
dispCompOver.setText(over+"."+ball);
dispYouScore.setText(score+"/"+wick);
dispYouOver.setText(over+"."+ball);
compResult.setText("");
youResult.setText("");
result.setText("");
playYouBtn.setVisible(false);
playCompBtn.setVisible(true);
}
}
private void playBall() {
int ballResult = cricketPlay.nextInt(8);
ball = ball + 1;
if(ball == 6) {
over = over + 1;
ball = 0;
}
if((ballResult >= 0 && ballResult <=4) || ballResult == 6) {
score = score + ballResult;
if(compOrYou == 1) {
compResult.setText(ballResult+" Run(s)");
} else {
youResult.setText(ballResult+" Run(s)");
}
} else {
wick = wick + 1;
if(compOrYou == 1) {
compResult.setText("Wicket");
} else {
youResult.setText("Wicket");
}
}
if(compOrYou == 2) {
if(over == 5 || wick == 10) {
if(compScore == score) {
result.setText("Match Draw");
} else if(compScore < score) {
result.setText("You Win");
} else {
result.setText("Computer Win");
}
playYouBtn.setVisible(false);
} else if(compScore < score) {
result.setText("You Win");
playYouBtn.setVisible(false);
}
}
}
}