package tabuada;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.Random;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
import java.awt.Font;
import java.awt.Label;
public class JogoTabuada {
private JFrame frmOperaesMatemticas;
private JLabel lblResposta;
private JLabel lblN2;
private JLabel lblN1;
private JLabel lblOperacao;
private JTextField tfResposta;
private JButton btnTestar;
int n1,n2,operacao,oculto;
String operacao2, respostaCorreta;
float resposta ;
private JLabel lblAcertos_1;
private JLabel lblErros_1;
private JButton btnVoltar;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JogoTabuada window = new JogoTabuada();
window.frmOperaesMatemticas.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public JogoTabuada() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frmOperaesMatemticas = new JFrame();
frmOperaesMatemticas.setBackground(Color.BLACK);
frmOperaesMatemticas.setTitle("Opera\u00E7\u00F5es Matem\u00E1ticas");
frmOperaesMatemticas.setFont(new Font("Dialog", Font.PLAIN, 47));
frmOperaesMatemticas.getContentPane().setForeground(Color.WHITE);
frmOperaesMatemticas.getContentPane().setBackground(new Color(0, 250, 154));
frmOperaesMatemticas.setBounds(100, 100, 1612, 862);
frmOperaesMatemticas.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frmOperaesMatemticas.getContentPane().setLayout(null);
frmOperaesMatemticas.setResizable(false);
frmOperaesMatemticas.setLocationRelativeTo(null);
lblN1 = new JLabel(" 2");
lblN1.setFont(new Font("Tahoma", Font.PLAIN, 99));
lblN1.setBounds(296, 257, 243, 120);
frmOperaesMatemticas.getContentPane().add(lblN1);
lblOperacao = new JLabel(" /");
lblOperacao.setFont(new Font("Tahoma", Font.PLAIN, 99));
lblOperacao.setBounds(505, 271, 94, 92);
frmOperaesMatemticas.getContentPane().add(lblOperacao);
lblN2 = new JLabel("5");
lblN2.setFont(new Font("Tahoma", Font.PLAIN, 99));
lblN2.setBounds(660, 250, 230, 134);
frmOperaesMatemticas.getContentPane().add(lblN2);
JLabel label = new JLabel("=");
label.setFont(new Font("Tahoma", Font.PLAIN, 99));
label.setBounds(879, 254, 72, 127);
frmOperaesMatemticas.getContentPane().add(label);
lblResposta = new JLabel(" 4");
lblResposta.setFont(new Font("Tahoma", Font.PLAIN, 99));
lblResposta.setBounds(963, 250, 399, 134);
frmOperaesMatemticas.getContentPane().add(lblResposta);
tfResposta = new JTextField();
tfResposta.setFont(new Font("Tahoma", Font.PLAIN, 28));
tfResposta.setBackground(Color.WHITE);
tfResposta.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent arg0) {
if(arg0.getKeyCode()== KeyEvent.VK_ENTER) {
if(!tfResposta.getText().isEmpty()) {
btnTestar.doClick();
}
}
}
@Override
public void keyTyped(KeyEvent arg0) {
if(tfResposta.getText().length()>6) {
arg0.consume();
}
}
});
tfResposta.setBounds(730, 564, 344, 59);
frmOperaesMatemticas.getContentPane().add(tfResposta);
tfResposta.setColumns(10);
JLabel lblAcertos = new JLabel("0");
lblAcertos.setFont(new Font("Tahoma", Font.PLAIN, 32));
lblAcertos.setToolTipText("acertos");
lblAcertos.setBounds(157, 511, 60, 39);
frmOperaesMatemticas.getContentPane().add(lblAcertos);
JLabel lblErros = new JLabel("0");
lblErros.setFont(new Font("Tahoma", Font.PLAIN, 35));
lblErros.setBounds(157, 602, 46, 39);
frmOperaesMatemticas.getContentPane().add(lblErros);
btnTestar = new JButton("Testar");
btnTestar.setForeground(Color.WHITE);
btnTestar.setBackground(new Color(0, 102, 0));
btnTestar.setFont(new Font("Tahoma", Font.PLAIN, 30));
btnTestar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if(respostaCorreta.equals(tfResposta.getText())) {
JOptionPane.showMessageDialog(null, "ACERTOU");
lblAcertos.setText(String.valueOf(Integer.parseInt(lblAcertos.getText())+1));
gerarValores();
}else {
JOptionPane.showMessageDialog(null, "ERROU \n Resposta = "+respostaCorreta);
lblErros.setText(String.valueOf(Integer.parseInt(lblErros.getText())+1));
gerarValores();
}
}
});
btnTestar.setBounds(1086, 562, 165, 61);
frmOperaesMatemticas.getContentPane().add(btnTestar);
lblErros_1 = new JLabel("Erros");
lblErros_1.setToolTipText("acertos");
lblErros_1.setFont(new Font("Tahoma", Font.PLAIN, 32));
lblErros_1.setBounds(157, 561, 119, 39);
frmOperaesMatemticas.getContentPane().add(lblErros_1);
lblAcertos_1 = new JLabel("Acertos");
lblAcertos_1.setToolTipText("acertos");
lblAcertos_1.setFont(new Font("Segoe UI", Font.PLAIN, 32));
lblAcertos_1.setBounds(157, 473, 119, 39);
frmOperaesMatemticas.getContentPane().add(lblAcertos_1);
Label label_1 = new Label("Favor considere que 0 \u00E9 0,0.");
label_1.setFont(new Font("Dialog", Font.PLAIN, 28));
label_1.setForeground(new Color(0, 0, 0));
label_1.setBounds(37, 672, 367, 62);
frmOperaesMatemticas.getContentPane().add(label_1);
btnVoltar = new JButton("Voltar");
btnVoltar.setBackground(new Color(0, 102, 0));
btnVoltar.setForeground(Color.WHITE);
btnVoltar.setFont(new Font("Tahoma", Font.PLAIN, 30));
btnVoltar.setBounds(1086, 672, 165, 59);
frmOperaesMatemticas.getContentPane().add(btnVoltar);
gerarValores();
}
public void gerarValores() {
tfResposta.setText(null);
Random r = new Random(); //para gerar valores aleatórios
n1 = r.nextInt(2)+1; //valores de 1 até 10
n2 = r.nextInt(2)+1; //valores de 1 até 10
operacao = r.nextInt(4)+1 ; //valores de 1 até 3
//operacao =1 + =2 - =3 * =4 /
oculto = r.nextInt(1)+4;
if((n1==2 && n2==2) && (operacao==1 || operacao==3)) {
n1=n1+1;
}
{
if(n1<n2) {
int troca = n1;
n1 = n2;
n2 = troca;
}
if((n1==4 && n2==2) && (operacao==2 || operacao==4)) {
n1=n1+1;
}
if(operacao == 1) {
lblOperacao.setText("+");
operacao2 = "+";
resposta = n1+n2;
}
if(operacao == 2) {
lblOperacao.setText("-");
operacao2 = "-";
resposta = n1-n2;
}
}
if(operacao == 3) {
lblOperacao.setText("*");
operacao2 = "*";
if(n2 == 1) {
n2 = n2+1;
}
resposta = n1*n2;
System.out.println(resposta);
}
if(operacao == 4) {
lblOperacao.setText("/");
operacao2 = "/";
if(n2 == 1) {
n2 = n2+1;
}
resposta = (float)n1/(float)n2;
System.out.println(resposta);
}
if(oculto==1) {
lblN1.setText("?");
lblN2.setText(String.valueOf(n2));
lblResposta.setText(String.valueOf(resposta).replace('.', ','));
respostaCorreta = String.valueOf(n1);
}
if(oculto==2) {
lblN1.setText(String.valueOf(n1));
lblOperacao.setText("?");
lblN2.setText(String.valueOf(n2));
lblResposta.setText(String.valueOf(resposta).replace('.', ','));
respostaCorreta = operacao2;
}
if(oculto==3) {
lblN1.setText(String.valueOf(n1));
lblN2.setText("?");
lblResposta.setText(String.valueOf(resposta).replace('.', ','));
respostaCorreta = String.valueOf(n2);
}
if(oculto==4) {
lblN1.setText(String.valueOf(n1));
lblN2.setText(String.valueOf(n2));
lblResposta.setText("?");
int rr = (int)resposta;
if(resposta%rr==0) {
respostaCorreta = String.valueOf(rr);
}else {
respostaCorreta = String.valueOf(resposta).replace('.', ',');
}
}
System.out.println(n1);
System.out.println(operacao);
System.out.println(n2);
System.out.println(resposta);
System.out.println(respostaCorreta);
tfResposta.requestFocus();
}
}