Jump to content
Fórum Script Brasil
  • 0

Criação de um jogo da velha para web usando Java(modelo, DAO, SERVELT, JSP, JS, AJAX)


Question

O jodo não ta rodando e não to sabendo vê o motivo:

Modelo:

package modelo;

import java.util.Vector;


public class TbJogoVelha {
    private Vector<String> tabuleiro = new Vector<String>(9);
    private String simboloJogador1 = "X";
    private String simboloJogador2 = "O";
    private int njogadasJogador1   = 0;
    private int njogadasJogador2   = 0;
    private int vez                = 1;
    private int fimJogo            = 0;
    private int vencedor           = 0;
    private String pos1;
    private String pos2;
    private String pos3;
    private String pos4;
    private String pos5;
    private String pos6;
    private String pos7;
    private String pos8;
    private String pos9;
    
        public TbJogoVelha() {
           getTabuleiro().add(" ");
           getTabuleiro().add(" ");
           getTabuleiro().add(" ");
           getTabuleiro().add(" ");
           getTabuleiro().add(" ");
           getTabuleiro().add(" ");
           getTabuleiro().add(" ");
           getTabuleiro().add(" ");
           getTabuleiro().add(" ");
    }

    public Vector<String> getTabuleiro() {
        return tabuleiro;
    }

    public void setTabuleiro(Vector<String> tabuleiro) {
        this.tabuleiro = tabuleiro;
    }

    public String getSimboloJogador1() {
        return simboloJogador1;
    }

    public void setSimboloJogador1(String simboloJogador1) {
        this.simboloJogador1 = simboloJogador1;
    }

    public String getSimboloJogador2() {
        return simboloJogador2;
    }

    public void setSimboloJogador2(String simboloJogador2) {
        this.simboloJogador2 = simboloJogador2;
    }
    
        public int getNjogadasJogador1() {
        return njogadasJogador1;
    }

    public void setNjogadasJogador1(int njogadasJogador1) {
        this.njogadasJogador1 = njogadasJogador1;
    }

    public int getNjogadasJogador2() {
        return njogadasJogador2;
    }

    public void setNjogadasJogador2(int njogadasJogador2) {
        this.njogadasJogador2 = njogadasJogador2;
    }

    public int getVez() {
        return vez;
    }

    public void setVez(int vez) {
        this.vez = vez;
    }

    public int getFimJogo() {
        return fimJogo;
    }

    public void setFimJogo(int fimJogo) {
        this.fimJogo = fimJogo;
    }

    public int getVencedor() {
        return vencedor;
    }

    public void setVencedor(int vencedor) {
        this.vencedor = vencedor;
    }

    public String getPos1() {
        return this.tabuleiro.get(0);
    }

    public void setPos1(String pos1) {
        this.pos1 = pos1;
    }

    public String getPos2() {
        return this.tabuleiro.get(1);
    }

    public void setPos2(String pos2) {
        this.pos2 = pos2;
    }

    public String getPos3() {
        return this.tabuleiro.get(2);
    }

    public void setPos3(String pos3) {
        this.pos3 = pos3;
    }

    public String getPos4() {
        return this.tabuleiro.get(3);
    }

    public void setPos4(String pos4) {
        this.pos4 = pos4;
    }

    public String getPos5() {
        return this.tabuleiro.get(4);
    }

    public void setPos5(String pos5) {
        this.pos5 = pos5;
    }

    public String getPos6() {
        return this.tabuleiro.get(5);
    }

    public void setPos6(String pos6) {
        this.pos6 = pos6;
    }

    public String getPos7() {
        return this.tabuleiro.get(6);
    }

    public void setPos7(String pos7) {
        this.pos7 = pos7;
    }

    public String getPos8() {
        return this.tabuleiro.get(7);
    }

    public void setPos8(String pos8) {
        this.pos8 = pos8;
    }

    public String getPos9() {
        return this.tabuleiro.get(8);
    }

    public void setPos9(String pos9) {
        this.pos9 = pos9;
    }   
}   

 

 

DAO:

package dao.S;


import modelo.TbJogoVelha;
    

public class JogoVelhaDAO{


    public int verificarJogada(int jogada, TbJogoVelha tbJogoVelha){
            if ((jogada > 0 && jogada < 10 )) {
                if (tbJogoVelha.getTabuleiro().get(jogada -1).equals(" "))
                    return 1;
                
                else 
                    return 0;
                
            }
        return 0;
        }
    
        public TbJogoVelha realizarJogada(int jogada, TbJogoVelha tbJogoVelha){
        String simbolo = "";
        
        if (tbJogoVelha.getVez() == 1) {
            simbolo = tbJogoVelha.getSimboloJogador1();
        }
        else {
                simbolo = tbJogoVelha.getSimboloJogador2();
                tbJogoVelha.getTabuleiro().set(jogada -1, simbolo);
        }
  
        if (tbJogoVelha.getVez() == 1) {
            tbJogoVelha.setVez(1);
            tbJogoVelha.setNjogadasJogador1(tbJogoVelha.getNjogadasJogador1()+1);
        }
        else {
              tbJogoVelha.setVez(2);
              tbJogoVelha.setNjogadasJogador2(tbJogoVelha.getNjogadasJogador2()+1);

        }
        return tbJogoVelha;
        
    }
        

    public int verificarVencedor(TbJogoVelha tbJogoVelha) {
        //TbJogoVelha tbJogoVelha = new TbJogoVelha();
        if((tbJogoVelha.getTabuleiro().get(0).equals("X")) && (tbJogoVelha.getTabuleiro().get(1).equals("X")) && (tbJogoVelha.getTabuleiro().get(2).equals("X"))) {
                return 1;
        }
        else if ((tbJogoVelha.getTabuleiro().get(3).equals("X")) && (tbJogoVelha.getTabuleiro().get(4).equals("X")) && (tbJogoVelha.getTabuleiro().get(5).equals("X"))) { 
                return 1;
        }
        else if ((tbJogoVelha.getTabuleiro().get(6).equals("X")) && (tbJogoVelha.getTabuleiro().get(7).equals("X")) && (tbJogoVelha.getTabuleiro().get(8).equals("X"))) {
                return 1;
        }
        else if ((tbJogoVelha.getTabuleiro().get(0).equals("X")) && (tbJogoVelha.getTabuleiro().get(3).equals("X")) && (tbJogoVelha.getTabuleiro().get(6).equals("X"))) {
                return 1;
        }        
        else if ((tbJogoVelha.getTabuleiro().get(1).equals("X")) && (tbJogoVelha.getTabuleiro().get(4).equals("X")) && (tbJogoVelha.getTabuleiro().get(7).equals("X"))) {
                return 1;
        }
        else if ((tbJogoVelha.getTabuleiro().get(2).equals("X")) && (tbJogoVelha.getTabuleiro().get(5).equals("X")) && (tbJogoVelha.getTabuleiro().get(8).equals("X"))) {
                return 1;
        }
        else if ((tbJogoVelha.getTabuleiro().get(0).equals("X")) && (tbJogoVelha.getTabuleiro().get(4).equals("X")) && (tbJogoVelha.getTabuleiro().get(8).equals("X"))) {
                return 1;
        }        
        else if ((tbJogoVelha.getTabuleiro().get(2).equals("X")) && (tbJogoVelha.getTabuleiro().get(4).equals("X")) && (tbJogoVelha.getTabuleiro().get(6).equals("X"))) {
                return 1;
        }
        else if ((tbJogoVelha.getTabuleiro().get(0).equals("O")) && (tbJogoVelha.getTabuleiro().get(1).equals("O")) && (tbJogoVelha.getTabuleiro().get(2).equals("O"))) {
                return 2;
        }
        else if ((tbJogoVelha.getTabuleiro().get(3).equals("O")) && (tbJogoVelha.getTabuleiro().get(4).equals("O")) && (tbJogoVelha.getTabuleiro().get(5).equals("0"))) {
                return 2;
        }
        else if ((tbJogoVelha.getTabuleiro().get(6).equals("O")) && (tbJogoVelha.getTabuleiro().get(7).equals("O")) && (tbJogoVelha.getTabuleiro().get(8).equals("O"))) {
                return 2;
        }
        else if ((tbJogoVelha.getTabuleiro().get(0).equals("O")) && (tbJogoVelha.getTabuleiro().get(3).equals("O")) && (tbJogoVelha.getTabuleiro().get(6).equals("O"))) {
                return 2;
        }
        else if ((tbJogoVelha.getTabuleiro().get(1).equals("O")) && (tbJogoVelha.getTabuleiro().get(4).equals("O")) && (tbJogoVelha.getTabuleiro().get(7).equals("O"))) {
                return 2;
        }
        else if ((tbJogoVelha.getTabuleiro().get(2).equals("O")) && (tbJogoVelha.getTabuleiro().get(5).equals("O")) && (tbJogoVelha.getTabuleiro().get(8).equals("O"))) {
                return 2;
        }
        else if ((tbJogoVelha.getTabuleiro().get(0).equals("O")) && (tbJogoVelha.getTabuleiro().get(4).equals("O")) && (tbJogoVelha.getTabuleiro().get(8).equals("O"))) {
                return 2;
        }
        else if ((tbJogoVelha.getTabuleiro().get(2).equals("O")) && (tbJogoVelha.getTabuleiro().get(4).equals("O")) && (tbJogoVelha.getTabuleiro().get(6).equals("O"))) {
                return 2;
        }
        else {
                return 0;
        }
    }
    public int verificarFimDeJogo(TbJogoVelha tbJogoVelha) {
       // TbJogoVelha tbJogoVelha = new TbJogoVelha();
        if (tbJogoVelha.getNjogadasJogador1() + tbJogoVelha.getNjogadasJogador2() >= 9) {
                return 1;
        }
        else if (this.verificarVencedor(tbJogoVelha) != 0) {
                return 1;
        }
        else {
                return 0;
        }
    }
}
 

SERVELET

package bo.S;


import dao.Steffane.JogoVelhaDAO;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Arrays;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import modelo.TbJogoVelha;


public class JogoVelhaBO extends HttpServlet {
    private static final long serialVersionUID = 1L; 
        Connection conn = null;
        private String relat = "";
        HttpServletResponse res;
        HttpServletRequest req;
        String pagina = "";    
        
public JogoVelhaBO() {
    super();
}

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    processRequest(req, res);
}

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    processRequest(req, res);
}

public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.req = request;
        this.res = response;
        res.setContentType("text/html;charset=UTF-8");
        
        try {
            if(req.getParameter("r") != null){
                relat = req.getParameter("r");
            }
            switch (relat){
              case "S04":          telaJogo();           break;
              case "S04a":         jogar();              break;
            }
        }
        catch (SQLException ex){
                req.getRequestDispatcher("/jsp/Erro.jsp").forward(req, res);
                }
        finally {
            if (conn != null){
            try {
                conn.close();
                }catch (SQLException ex) {
                }
            }
        }
    }

    private void telaJogo() throws SQLException{
        int cont = 1;
        try {
            req.setAttribute("cont", cont);
            req.getRequestDispatcher("/jsp/Steffane/jogoVelha.jsp").forward(req, res);
        }
        catch (ServletException | IOException e) {
            System.out.println("erro " + e.toString());
        }
    }
    
    private void jogar() throws IOException, ServletException{
        //ETAPA 3 PEGANDO VALOR DA SERVLET NA BO
        int jogada = Integer.parseInt(req.getParameter("txtjogada"));
        
        try {
           JogoVelhaDAO jogoVelhaDAO = new JogoVelhaDAO();
           TbJogoVelha tbJogoVelha = new TbJogoVelha();
  
            if (tbJogoVelha.getFimJogo() == 1) {
               tbJogoVelha = new TbJogoVelha();
            }
            
            else if (jogoVelhaDAO.verificarJogada(jogada,tbJogoVelha) == 1) {
                tbJogoVelha = jogoVelhaDAO.realizarJogada(jogada, tbJogoVelha);
                System.out.println(tbJogoVelha = jogoVelhaDAO.realizarJogada(jogada, tbJogoVelha));
            }
            else if (jogoVelhaDAO.verificarFimDeJogo(tbJogoVelha) == 1) {                   
                     tbJogoVelha.setFimJogo(1); 
            }
            else {
                   pagina+="<p> Jogada invalida </p>"; 
            }
            if (jogoVelhaDAO.verificarFimDeJogo(tbJogoVelha) == 1) { 
                tbJogoVelha.setFimJogo(1); 
            }    
            else if (jogoVelhaDAO.verificarVencedor(tbJogoVelha) == 1) {
                pagina+="<p>Fim de Jogo! Vencedor Jogador 1</p>";
            }
            else if (jogoVelhaDAO.verificarVencedor(tbJogoVelha) == 2) {                       
                     pagina+="Fim de Jogo! Vencedor Jogador 2";
            }
            else {
                   pagina+="Fim de Jogo! DEU VELHA!";  
            } 

            res.setContentType("text/xml; charset=utf-8");
            res.setHeader("Cache-Control", "no-cache");
            res.getWriter().write(pagina);     
        }
        
        catch (NumberFormatException e) {
            System.out.println("erro " + e.toString());
        }
        finally{
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException ex) {
                    System.out.println(Arrays.toString(ex.getStackTrace()));
                }
            }
        }
    }

 


 JSP

 

        <div class="container" style="height: 100%; width: 100%;">
            <div id="legenda" style="position: relative; float: left;">
                <form name="form1" action="JogoVelhaBO" method="POST" class="form-horizontal" accept-charset="iso-8859-1,utf-8">
                    <input type="hidden" name="txtjogada" id="txtjogada" value="${txtjogada}"/>
                    <font color="red"><h1>Jogo da velha</h1></font>
                    <br/>
                    <table border="1" style="height: 200px; width: 200px;">
                        <div class="container" id='container'>
                            <tr>
                                <div id="um">
                                    <td><input type="button" value="${tbJogoVelha.pos1}" onclick="jogar(1)" style="height: 100%; width: 100%;"/></td>
                                </div>
                                <div id="dois">
                                    <td><input type="button" value="${tbJogoVelha.pos2}" onclick="jogar(2)" style="height: 100%; width: 100%;"/></td>
                                </div>
                                <div id="tres">
                                    <td><input type="button" value="${tbJogoVelha.pos3}" onclick="jogar(3)" style="height: 100%; width: 100%;"/></td>
                                </div>
                            </tr>
                            <tr>
                                <div id="quatro">
                                    <td><input type="button" value="${tbJogoVelha.pos4}" onclick="jogar(4)" style="height: 100%; width: 100%;"/></td>
                                </div>
                                <div id="cinco">
                                    <td><input type="button" value="${tbJogoVelha.pos5}" onclick="jogar(5)" style="height: 100%; width: 100%;"/></td>
                                </div>
                                <div id="seis">
                                    <td><input type="button" value="${tbJogoVelha.pos6}" onclick="jogar(6)" style="height: 100%; width: 100%;"/></td>
                                </div>
                            </tr>
                            <tr>
                                <div id="sete">
                                    <td><input type="button" value="${tbJogoVelha.pos7}" onclick="jogar(7)" style="height: 100%; width: 100%;"/></td>
                                </div>
                                <div id="oito">
                                    <td><input type="button" value="${tbJogoVelha.pos8}" onclick="jogar(8)" style="height: 100%; width: 100%;"/></td>
                                </div>
                                <div id="nove">
                                    <td><input type="button" value="${tbJogoVelha.pos9}" onclick="jogar(9)" style="height: 100%; width: 100%;"/></td>
                                </div>
                            </tr>
                        </div>    
                    </table>  
                </form>
            </div>
    </body>
</html>

 

 

JS

 

function jogar(posicao) {
    document.getElementById('txtjogada').value = posicao;
    div = "container"; 
    //ETAPA 2 PASSANDO PARAMETRO PARA A NOSSA SERVLET
    url = "SmartGesCac?r=S04a&txtjogada=" + posicao;
    atualizaTable(url);
}

function returnAjax(htm){
    detailDiv1 = document.getElementById(div);
    detailDiv1.innerHTML = htm;
}

 

 

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148875
    • Total Posts
      644917
×
×
  • Create New...