<?php
// Inicia a sessão para utilizar variáveis de sessão
session_start();
// Inclui o arquivo de conexão com o banco de dados
include 'conexao.php';
// Configuração de exibição de erros
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>
<!DOCTYPE html>
<html>
<head>
    <title>Dados da Peça Selecionada</title>
</head>
<body>
    <?php
    // Obtém o valor do campo pecaSelecionada enviado via POST
    $pecaIdSelecionada = $_POST['pecaSelecionada'];
    
    ?>
    
<?php
// Obtém o valor do campo direcao enviado via POST
$direcao = $_POST['direcao'];
// Obtém o valor do campo pecaSelecionada enviado via POST
$pecaIdSelecionada = $_POST['pecaSelecionada'];

// Resto do seu código
?>
    
 <?php
try {
    // Prepara e executa uma consulta para obter o valor da direção selecionada exemplo a direção selec. Norte de 3 é 6.. então valor direcionado é pra onde a peça vai
    $stmtDirecao = $pdo->prepare("SELECT $direcao FROM tabuleiro WHERE id = :pecaId");
    $stmtDirecao->bindParam(':pecaId', $pecaIdSelecionada, PDO::PARAM_INT);
    $stmtDirecao->execute();
    $valorDirecao = $stmtDirecao->fetchColumn();

} catch (PDOException $e) {
    // Tratamento de erro caso a consulta falhe
}
?>





// Puxa os dados da peça com o mesmo ID para verificação
<?php
// Obtém o valor do campo pecaSelecionada enviado via POST
$pecaIdSelecionada = $_POST['pecaSelecionada'];

// Conexão com o banco de dados
include 'conexao.php';

try {
    // Prepara e executa uma consulta para obter os dados da peça com o mesmo ID
    $stmt = $pdo->prepare("SELECT * FROM tabuleiro WHERE id = :pecaId");
    $stmt->bindParam(':pecaId', $pecaIdSelecionada, PDO::PARAM_INT);
    $stmt->execute();
    $pecaRow = $stmt->fetch(PDO::FETCH_ASSOC);

    if ($pecaRow) {
        // Exibe os dados da peça obtidos
        echo "ID da peça: $pecaIdSelecionada<br>";
        echo "Game: " . $pecaRow['game'] . "<br>";
        echo "ID2: " . $pecaRow['id2'] . "<br>";
        echo "Peça: " . $pecaRow['peca'] . "<br>";
        echo "Player: " . $pecaRow['player'] . "<br>";
        echo "N: " . $pecaRow['n'] . "<br>";
        echo "S: " . $pecaRow['s'] . "<br>";
        echo "L: " . $pecaRow['l'] . "<br>";
        echo "O: " . $pecaRow['o'] . "<br>";
        
        $id = $pecaRow['id'];
        $game = $pecaRow['game'];
        $id2 =$pecaRow['id2'];
        $peca = $pecaRow['peca'];
        $player = $pecaRow['player'];
        $n = $pecaRow['n'];
        $l = $pecaRow['l'];
        $s = $pecaRow['s'];
        $o = $pecaRow['o'];
        
        $direcao = $_POST['direcao'];
        echo "Direção: $direcao<br>";
    } else {
        echo "Peça selecionada, do jogador não encontrada.";
    }
} catch (PDOException $e) {
    echo "Erro na consulta: " . $e->getMessage();
}
?>

<?php
// Define a direção em formato de texto
if ($direcao == 'n') {$nlso = 'Norte';}
elseif ($direcao == 'l') {$nlso = 'Leste';}
elseif ($direcao == 's') {$nlso = 'Sul';}
elseif ($direcao == 'o') {$nlso = 'Oeste';}
?>

<?php
// Verifica se o valor da direção é igual a 0
if ($valorDirecao == 0) {
    // Define uma mensagem de erro na sessão e redireciona para a página tst.php
    $_SESSION['movemsg'] = "Você não pode enviar essa peça para o $nlso.";
    echo '<meta http-equiv="refresh" content="0;url=tst.php">';
    exit;
    
} elseif ($valorDirecao != 0) {
echo $valorDirecao;

    try {
        // Prepara e executa uma consulta para obter os dados da nova direção
        $stmtNovoDirecao = $pdo->prepare("SELECT * FROM tabuleiro WHERE game = :game AND id2 = :valorDirecao");
        $stmtNovoDirecao->bindParam(':game', $game, PDO::PARAM_INT);
        $stmtNovoDirecao->bindParam(':valorDirecao', $valorDirecao, PDO::PARAM_INT);
        $stmtNovoDirecao->execute();
        $pecaNovoDirecao = $stmtNovoDirecao->fetch(PDO::FETCH_ASSOC);

        if ($pecaNovoDirecao) {
            // Atribui valores da nova direção a variáveis
            $idNovaDirecao = $pecaNovoDirecao['id'];
            $gameNovaDirecao = $pecaNovoDirecao['game'];
            $id2NovaDirecao = $pecaNovoDirecao['id2'];
            $pecaNovaDirecao = $pecaNovoDirecao['peca'];
            $playerNovaDirecao = $pecaNovoDirecao['player'];
            $nNovaDirecao = $pecaNovoDirecao['n'];
            $lNovaDirecao = $pecaNovoDirecao['l'];
            $sNovaDirecao = $pecaNovoDirecao['s'];
            $oNovaDirecao = $pecaNovoDirecao['o'];

            // Exibe os dados da nova direção
            echo "ID da peça na nova direção: $idNovaDirecao<br>";
            echo "Game: $gameNovaDirecao<br>";
            echo "ID2: $id2NovaDirecao<br>";
            echo "Peça: $pecaNovaDirecao<br>";
            echo "Player: $playerNovaDirecao<br>";
            echo "N: $nNovaDirecao<br>";
            echo "L: $lNovaDirecao<br>";
            echo "S: $sNovaDirecao<br>";
            echo "O: $oNovaDirecao<br>";
            
 if ($pecaNovaDirecao != 0 && $playerNovaDirecao == $player) {
 $_SESSION['movemsg'] = "Você não pode enviar essa peça para o $nlso, pois aí esta outra peça sua.";
    echo '<meta http-equiv="refresh" content="0;url=tst.php">';
    exit;
 
 }
 
 
 
 elseif ($pecaNovaDirecao != 0 && $pecaNovaDirecao != x && $playerNovaDirecao != $player) {
 // se a peça for maior que a outra
 if ($peca > $pecaNovaDirecao) {
 //colocar peça e player em game e id2 = valordirecao (veio do post)
 try {
    $stmtUpdateNovaDirecao = $pdo->prepare("UPDATE tabuleiro SET peca = :peca, player = :player WHERE game = :game AND id2 = :valorDirecao");
    $stmtUpdateNovaDirecao->bindParam(':peca', $peca, PDO::PARAM_STR);
    $stmtUpdateNovaDirecao->bindParam(':player', $player, PDO::PARAM_STR); // Use PDO::PARAM_STR para VARCHAR
    $stmtUpdateNovaDirecao->bindParam(':game', $gameNovaDirecao, PDO::PARAM_INT);
    $stmtUpdateNovaDirecao->bindParam(':valorDirecao', $valorDirecao, PDO::PARAM_INT);


                    $stmtUpdateNovaDirecao->execute();
                } catch (PDOException $e) {
                    echo "Erro na atualização da nova direção: " . $e->getMessage();
                }
                
                
                
                //tirar a peça da casa anterior
                try {
                    $stmtUpdateNovaDirecao = $pdo->prepare("UPDATE tabuleiro SET peca = NULL, player = NULL WHERE game = $game AND id2 = $id2");
                    $stmtUpdateNovaDirecao->bindParam(':peca', $peca, PDO::PARAM_STR);
                    $stmtUpdateNovaDirecao->bindParam(':player', $player, PDO::PARAM_STR);
                    $stmtUpdateNovaDirecao->bindParam(':game', $gameNovaDirecao, PDO::PARAM_INT);
$stmtUpdateNovaDirecao->bindParam(':valorDirecao', $valorDirecao, PDO::PARAM_INT);

                    $stmtUpdateNovaDirecao->execute();
                    
                    $horarioAtual = time();
$dataHoraFormatada = date('Y-m-d H:i:s', $horarioAtual);
$nvturn = $_SESSION['nvturn'];

                    $sql = "UPDATE games SET turn = '$nvturn', played = '$dataHoraFormatada' WHERE game = '$game'";

// Executar a consulta
if ($pdo->query($sql) === TRUE) {
    echo "Atualização de turno bem-sucedida!";
} else {
    echo "Erro na atualização de turno: " . $pdo->error;
}

                    
                } catch (PDOException $e) {
                    echo "Erro ao tirar a peça: " . $e->getMessage();
                }
 
    echo '<meta http-equiv="refresh" content="0;url=tst.php">';
    exit;
 
 }
 
 
 elseif ($peca < $pecaNovaDirecao) {

                
                         //tirar a peça da casa anterior
                try {
                    $stmtUpdateNovaDirecao = $pdo->prepare("UPDATE tabuleiro SET peca = NULL, player = NULL WHERE game = $game AND id2 = $id2");
                    $stmtUpdateNovaDirecao->bindParam(':peca', $peca, PDO::PARAM_STR);
                    $stmtUpdateNovaDirecao->bindParam(':player', $player, PDO::PARAM_STR);
                    $stmtUpdateNovaDirecao->bindParam(':game', $gameNovaDirecao, PDO::PARAM_INT);
$stmtUpdateNovaDirecao->bindParam(':valorDirecao', $valorDirecao, PDO::PARAM_INT);

                    $stmtUpdateNovaDirecao->execute();
                    
                    
                    $nvturn = $_SESSION['nvturn'];
                    $horarioAtual = time();
$dataHoraFormatada = date('Y-m-d H:i:s', $horarioAtual);


                    $sql = "UPDATE games SET turn = '$nvturn', played = '$dataHoraFormatada' WHERE game = '$game'";

// Executar a consulta
if ($pdo->query($sql) === TRUE) {
    echo "Atualização de turno bem-sucedida!";
} else {
    echo "Erro na atualização de turno: " . $pdo->error;
}

                    
                } catch (PDOException $e) {
                    echo "Erro ao tirar a peça: " . $e->getMessage();
                }
 
 
 
echo '<meta http-equiv="refresh" content="0;url=tst.php">';
    exit;
 
 }
 
 
 
 
 
 
 elseif ($peca == $pecaNovaDirecao) {

                
                         //tirar a peça da casa anterior
                try {
                    $stmtUpdateNovaDirecao = $pdo->prepare("UPDATE tabuleiro SET peca = NULL, player = NULL WHERE game = $game AND id2 = $id2");
                    $stmtUpdateNovaDirecao->bindParam(':peca', $peca, PDO::PARAM_STR);
                    $stmtUpdateNovaDirecao->bindParam(':player', $player, PDO::PARAM_STR);
                    $stmtUpdateNovaDirecao->bindParam(':game', $gameNovaDirecao, PDO::PARAM_INT);
$stmtUpdateNovaDirecao->bindParam(':valorDirecao', $valorDirecao, PDO::PARAM_INT);

                    $stmtUpdateNovaDirecao->execute();
                    
                    $nvturn = $_SESSION['nvturn'];
                    $horarioAtual = time();
$dataHoraFormatada = date('Y-m-d H:i:s', $horarioAtual);


                    $sql = "UPDATE games SET turn = '$nvturn', played = '$dataHoraFormatada' WHERE game = '$game'";

// Executar a consulta
if ($pdo->query($sql) === TRUE) {
    echo "Atualização de turno bem-sucedida!";
} else {
    echo "Erro na atualização de turno: " . $pdo->error;
}

                    
                    
                    
                } catch (PDOException $e) {
                    echo "Erro ao tirar a peça: " . $e->getMessage();
                }
 
 
 
    echo '<meta http-equiv="refresh" content="0;url=tst.php">';
    exit;
 
 }
 
 
 
 
 //colocar aqui mudar turno pra sempre mudar
 //Fechamento do if tiver peças e forem inimigas
 }
 
 
 
 
 
 
 $nvturn = $_SESSION['nvturn'];
 
 $horarioAtual = time();
$dataHoraFormatada = date('Y-m-d H:i:s', $horarioAtual);


                    $sql = "UPDATE games SET turn = '$nvturn', played = '$dataHoraFormatada' WHERE game = '$game'";

// Executar a consulta
if ($pdo->query($sql)) {
  //  echo "Atualização de turno bem-sucedida!";
} else {
    $errorInfo = $pdo->errorInfo(); // Obter informações de erro
    echo "Erro na atualização de turno: " . $errorInfo[2]; // Exibir a mensagem de erro
}

 

                // fazer if a casa estiver vazia
// Atualiza a nova direção com a peça e o player
try {
    $stmtUpdateNovaDirecao = $pdo->prepare("UPDATE tabuleiro SET peca = :peca, player = :player WHERE game = :game AND id2 = :valorDirecao");
    $stmtUpdateNovaDirecao->bindParam(':peca', $peca, PDO::PARAM_STR);
    $stmtUpdateNovaDirecao->bindParam(':player', $player, PDO::PARAM_STR); // Alterado para PARAM_STR
    $stmtUpdateNovaDirecao->bindParam(':game', $gameNovaDirecao, PDO::PARAM_INT);
    $stmtUpdateNovaDirecao->bindParam(':valorDirecao', $valorDirecao, PDO::PARAM_INT);

    $stmtUpdateNovaDirecao->execute();
} catch (PDOException $e) {
    echo "Erro na atualização da nova direção: " . $e->getMessage();
}

                
                
                
                
                
                
                //tirar a peça da casa anterior
                try {
                    $stmtUpdateNovaDirecao = $pdo->prepare("UPDATE tabuleiro SET peca = NULL, player = NULL WHERE game = $game AND id2 = $id2");
                    $stmtUpdateNovaDirecao->bindParam(':peca', $peca, PDO::PARAM_STR);
                    $stmtUpdateNovaDirecao->bindParam(':player', $player, PDO::PARAM_STR);
                    $stmtUpdateNovaDirecao->bindParam(':game', $gameNovaDirecao, PDO::PARAM_INT);
$stmtUpdateNovaDirecao->bindParam(':valorDirecao', $valorDirecao, PDO::PARAM_INT);

                    $stmtUpdateNovaDirecao->execute();
                } catch (PDOException $e) {
                    echo "Erro ao tirar a peça: " . $e->getMessage();
                }
                
                
                
                echo '<meta http-equiv="refresh" content="0;url=tst.php">';
    exit;
                
    
            } else {
                echo "Peça não encontrada na nova direção.";
            }
        } catch (PDOException $e) {
            echo "Erro na consulta da nova direção: " . $e->getMessage();
        }
    }
?>
<br><br>
</body>
</html>
