Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //by: Willian Luigi
- import java.util.*;
- import javax.swing.*;
- public class JogoDaForca extends JFrame {
- String[] db = {
- "amor",
- "paz",
- "burro",
- "bolo",
- "praia",
- "lindo",
- "feio"
- };
- Random it = new Random();
- String palavraVez = null;
- char[] palavra = null;
- String frmMsg = null;
- int vida = 4;
- JTextField[] txb = new JTextField[25];
- JLabel lbl;
- JogoDaForca() {
- super("Jogo da forca.");
- this.getContentPane().setLayout(null);
- palavraVez = db[it.nextInt(7)];
- frmMsg = String.format("Você tem %d chances.", vida);
- lbl = new JLabel(frmMsg);
- lbl.setBounds(5,5, 150, 50);
- this.getContentPane().add(lbl);
- txb[24] = new JTextField();
- txb[24].setBounds(-30, -30, 15, 25);
- this.getContentPane().add(txb[24]);
- createLayout(palavraVez);
- txb[24].addKeyListener(new java.awt.event.KeyAdapter() {
- public void keyTyped(java.awt.event.KeyEvent e) {
- if (palavraVez.contains("" + e.getKeyChar())) {
- for (int j = 0; j < palavraVez.length(); ++j) {
- if (palavra[j] == e.getKeyChar()) {
- txb[j].setText("" + e.getKeyChar());
- }
- }
- } else {
- JOptionPane.showMessageDialog(null, "Não contém essa letra.", "Aviso", JOptionPane.ERROR_MESSAGE);
- callError();
- return;
- }
- int v = 0;
- for (int j = 0; j < palavraVez.length(); ++j) {
- if (txb[j].getText().length() > 0) {
- ++v;
- }
- }
- if (v == palavraVez.length()) {
- JOptionPane.showMessageDialog(null, "Você acertou a palavra!", "Parabéns", JOptionPane.INFORMATION_MESSAGE);
- for (int j = 0; j < palavraVez.length(); ++j) {
- removeAll(palavraVez);
- }
- palavraVez = db[it.nextInt(5)];
- callNew(palavraVez);
- }
- }
- });
- setResizable(false);
- setSize(350, 110);
- setVisible(true);
- }
- private void removeAll(String str) {
- for (int i = 0; i < str.length(); ++i) {
- this.getContentPane().remove(txb[i]);
- }
- }
- private void createLayout(String str) {
- palavra = new char[str.length()];
- for (int i = 0, x = 10; i < str.length(); ++i, x += 25) {
- txb[i] = new JTextField();
- txb[i].setBounds(x, 40, 15, 25);
- txb[i].setEditable(false);
- this.getContentPane().add(txb[i]);
- palavra[i] = str.charAt(i);
- }
- txb[24].setText("");
- txb[24].requestFocus();
- }
- private void callNew(String str) {
- createLayout(str);
- ++vida;
- frmMsg = String.format("Você tem %d chances. (+1)", vida);
- lbl.setText(frmMsg);
- }
- private void callError() {
- if (vida == 0) {
- JOptionPane.showMessageDialog(null, "Game over xD", "Willian wins.", JOptionPane.ERROR_MESSAGE);
- dispose();
- return;
- }
- --vida;
- frmMsg = String.format("Você tem %d chances.", vida);
- lbl.setText(frmMsg);
- }
- public static void main(String[] args) {
- JogoDaForca inst = new JogoDaForca();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment