Jump to content

juniorquadros

Members
  • Content count

    10
  • Joined

  • Last visited

Posts posted by juniorquadros


  1. 19 minutos atrás, ygor.anjos disse:

    posta o código, fica mais facil

    <?php
    session_start();
    
    error_reporting(E_ERROR | E_WARNING | E_PARSE);
    
    function ganhador(){
    	if(isset($_SESSION['game'][0][0]) && isset($_SESSION['game'][0][1]) && isset($_SESSION['game'][0][2])){
    		if(($_SESSION['game'][0][0]==$_SESSION['game'][0][1]) && ($_SESSION['game'][0][1]==$_SESSION['game'][0][2])){
    			echo "ganhador"; //linha 1 --->
    		}
    	}else if(isset($_SESSION['game'][1][0]) && isset($_SESSION['game'][1][1]) && isset($_SESSION['game'][1][2])){
    		if(($_SESSION['game'][1][0]==$_SESSION['game'][1][1]) && ($_SESSION['game'][1][1]==$_SESSION['game'][1][2])){
    			echo "ganhador"; //linha 2 --->
    		}
    	}else if(isset($_SESSION['game'][2][0]) && isset($_SESSION['game'][2][1]) && isset($_SESSION['game'][2][2])){
    		if(($_SESSION['game'][2][0]==$_SESSION['game'][2][1]) && ($_SESSION['game'][2][1]==$_SESSION['game'][2][2])){
    			echo "ganhador"; //linha 3 --->
    		}
    	}else if(isset($_SESSION['game'][0][0]) && isset($_SESSION['game'][1][0]) && isset($_SESSION['game'][2][0])){
    		if(($_SESSION['game'][0][0]==$_SESSION['game'][1][0]) && ($_SESSION['game'][1][0]==$_SESSION['game'][2][0])){
    			echo "ganhador"; //linha 4 | esquerda
    		}
    	}else if(isset($_SESSION['game'][0][1]) && isset($_SESSION['game'][1][1]) && isset($_SESSION['game'][2][1])){
    		if(($_SESSION['game'][0][1]==$_SESSION['game'][1][1]) && ($_SESSION['game'][1][1]==$_SESSION['game'][2][1])){
    			echo "ganhador"; //linha 5 | meio
    		}
    	}else if(isset($_SESSION['game'][0][2]) && isset($_SESSION['game'][1][2]) && isset($_SESSION['game'][2][2])){
    		if(($_SESSION['game'][0][2]==$_SESSION['game'][1][2]) && ($_SESSION['game'][1][2]==$_SESSION['game'][2][2] && ($_SESSION['game'][2][2]==$_SESSION['game'][0][2]))){
    			echo "ganhador"; //linha 6 | direita
    		}
    	}else if(isset($_SESSION['game'][0][0]) && isset($_SESSION['game'][1][1]) && isset($_SESSION['game'][2][2])){
    		if(($_SESSION['game'][0][0]==$_SESSION['game'][1][1]) && ($_SESSION['game'][1][1]==$_SESSION['game'][2][2])){
    			echo "ganhador"; //diagonal esq-dir
    		}
    	}
    }
    
    if(isset($_SESSION['jogada'])==0){
    	$_SESSION['jogada']=0;
    	if(isset($_SESSION['jogada'])){
    		if($_SESSION['jogada']%2==0){
    			$valor='x';
    		}else{
    			$valor='y';
    		}
    	}
    }else{
    	$_SESSION['jogada']++;
    		if(isset($_SESSION['jogada'])){
    			if($_SESSION['jogada']%2==0){
    				$valor='x';
    			}else{
    				$valor='y';
    		}
    	}
    }
    
    if(isset($_SESSION['game'])==0){
    	$_SESSION['game']=array(
    						array($_POST['botao0'],$_POST['botao1'],$_POST['botao2']),
    						array($_POST['botao3'],$_POST['botao4'],$_POST['botao5']),
    						array($_POST['botao6'],$_POST['botao7'],$_POST['botao8']));
    }
    
    if(isset($_SESSION['game'])){
    	if(isset($_POST['botao0'])){
    		$_SESSION['game'][0][0]=$valor;
    		ganhador();
    	}
    	if(isset($_POST['botao1'])){
    		$_SESSION['game'][0][1]=$valor;
    		ganhador();
    	}
    	if(isset($_POST['botao2'])){
    		$_SESSION['game'][0][2]=$valor;
    		ganhador();
    	}
    	if(isset($_POST['botao3'])){
    		$_SESSION['game'][1][0]=$valor;
    		ganhador();
    	}
    	if(isset($_POST['botao4'])){
    		$_SESSION['game'][1][1]=$valor;
    		ganhador();
    	}
    	if(isset($_POST['botao5'])){
    		$_SESSION['game'][1][2]=$valor;
    		ganhador();
    	}
    	if(isset($_POST['botao6'])){
    		$_SESSION['game'][2][0]=$valor;
    		ganhador();
    	}
    	if(isset($_POST['botao7'])){
    		$_SESSION['game'][2][1]=$valor;
    		ganhador();
    	}
    	if(isset($_POST['botao8'])){
    		$_SESSION['game'][2][2]=$valor;
    		ganhador();
    	}
    }
    
    if(isset($_SESSION['game'])){
    	print_r($_SESSION['game']);
    }
    
    
    if(isset($_POST['destruir'])){
    	session_destroy();
    }
    	
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    	<title>Jogo da Velha</title>
    </head>
    <body>
    <form action="" name="form" method="POST">
     	<input type="submit" name="botao0" value="<?php 
     		if(isset($_SESSION['game'][0][0])==0){
     			echo " "; 
     		}else{ 
     			echo $_SESSION['game'][0][0];
     		}?>">	
    	<input type="submit" name="botao1" value="<?php 
     		if(isset($_SESSION['game'][0][1])==0){
     			echo " "; 
     		}else{ 
     			echo $_SESSION['game'][0][1];
     		}?>">
    	<input type="submit" name="botao2" value="<?php 
     		if(isset($_SESSION['game'][0][2])==0){
     			echo " "; 
     		}else{ 
     			echo $_SESSION['game'][0][2];
     		}?>">
    	<br>
    	<input type="submit" name="botao3" value="<?php 
     		if(isset($_SESSION['game'][1][0])==0){
     			echo " "; 
     		}else{ 
     			echo $_SESSION['game'][1][0];
     		}?>">	
    	<input type="submit" name="botao4" value="<?php 
     		if(isset($_SESSION['game'][1][1])==0){
     			echo " "; 
     		}else{ 
     			echo $_SESSION['game'][1][1];
     		}?>">
    	<input type="submit" name="botao5" value="<?php 
     		if(isset($_SESSION['game'][1][2])==0){
     			echo " "; 
     		}else{ 
     			echo $_SESSION['game'][1][2];
     		}?>">
    	<br>
    	<input type="submit" name="botao6" value="<?php 
     		if(isset($_SESSION['game'][2][0])==0){
     			echo " "; 
     		}else{ 
     			echo $_SESSION['game'][2][0];
     		}?>">	
    	<input type="submit" name="botao7" value="<?php 
     		if(isset($_SESSION['game'][2][1])==0){
     			echo " "; 
     		}else{ 
     			echo $_SESSION['game'][2][1];
     		}?>">
    	<input type="submit" name="botao8" value="<?php 
     		if(isset($_SESSION['game'][2][2])==0){
     			echo " "; 
     		}else{ 
     			echo $_SESSION['game'][2][2];
     		}?>">
    	<br>
    	<br>
    	<input type="submit" name="mostrar" value="mostrar">
    	<input type="submit" name="destruir" value="destruir">
    </form>
    </body>
    </html>

     

    20 minutos atrás, ygor.anjos disse:

    posta o código, fica mais facil

    Postei ele, talvez tenha maneira melhor, porém só pensei essa forma de fazer e estava convicto que funcionaria, mas de última notei a anomalia que citei.


  2. 55 minutos atrás, ygor.anjos disse:

    entendi, você não pode usar uma sequencia lógica nesse caso, pois nem sempre o jogador vai colocar na ordem que você deseja, você precisa recuperar quais campos o jogador 1 colocou X e quais campos o jogador 2 colocou O, coloca eles em um array exemplo: $jogador1= [02,12,20,22]

     

    e então você compara esse array com as combinações possíveis:

    $combinacao1 = [02,20,22];

     

     

    Tipo, eu uso isset nos campos que formariam uma combinação, para ver se tem conteudo, e depois realizava o teste para verificar se todos são iguais, não era pra funcionar mesmo não sendo na ordem, por que o resultado dos issets seriam verdadeiros, mesmo não sendo na mesma ordem?


  3. 16 minutos atrás, ygor.anjos disse:

    como assim preenchido outro campo?

    Por exemplo, se o jogador tivesse jogado

                     x

    ----|--------|-----

     O     O       x
    ----|--------|-----

     x     O       x

     

    Apenas um exemplo da anomalia. Jogador 1, jogou primeira vez X na 02, depois jogador 2 O na 11, jogador 1 jogou X na 12, jogador 2 jogou O na 21, pela lógica JOGADOR 1 JOGARIA X NA 22 E GANHARIA O JOGO, mas digamos que ele jogou X na 21, e depois o jogador 2 jogou O na 10, e por ultimo ai sim agora o jogador 1 jogou X na 22 e completou a sequencia de 3 X. O correto era aparecer ganhador, pois nao aparece, caso eu tivesse feito a inserção na ordem lógica de um jogador, ele ganharia, porém fui testar sla, e não da, caso fuja de uma ''ordem de jogadas lógicas"


  4. Bom dia pessoal, tô tentando fazer a validação das possibilidades de combinações de um jogo da velha. Horizontais, verticais e diagonais.

    Matriz 3x3

    00 - 01 - 02

    10 - 11 - 12

    20 - 21 - 22

    Se o preenchimento for por Exemplo: Jogador 1, joga na (02), jogador 2 (11), jogador 1 (12), jogador 2(21), jogador 1(22). No caso jogador 1 ganharia, a validação ocorre de forma correta, porém se esse jogador tivesse preenchido outro campo, quebrando essa sequência, a validação não ocorre. Lógica que usei para validar, vejo se os 3 campos possuem conteúdo e dps comparo o conteúdo de todos, porém estou com esse problema. Obrigado!!


  5. 32 minutos atrás, EdCesar disse:

    Se vai ter no máximo três linhas...

     

    
    $string = 'FUJAM TODOS FOMOS DESCOBERTOS';
    $string = str_replace(' ', '', $string);
    $qtdString = strlen($string);
    
    $tabela = [
              'linhaUm'   => '',
              'linhaDois' => '',
              'linhaTres' => ''
            ];
    
    $linha = 0;
    
    for ($contador = 0; $contador <= $qtdString; $contador++) {
        
        if ($linha == 0) {
            $tabela['linhaUm']   .= "<td>$string[$contador]</td>";
        } elseif ($linha == 1) {
            $tabela['linhaDois'] .= "<td>$string[$contador]</td>";
        } elseif ($linha == 2) {
            $tabela['linhaTres'] .= "<td>$string[$contador]</td>";
        }
        $linha++;
        if ($linha % 3 == 0) { $linha = 0; }
    }
    echo '<table border="1">';
    echo '<tr>' . $tabela['linhaUm'] . '</tr>';
    echo '<tr>' . $tabela['linhaDois'] . '</tr>';
    echo '<tr>' . $tabela['linhaTres'] . '</tr>';
    echo '</table>';

    A saída sera:

    F     A   O    S    M    D   C    E   O
    U    M   D    F    O    E    O    R    S
    J    T    O    O    S    S    B    T    

     

    Exatamente isso que eu precisava.

    for ($contador = 0; $contador <= $qtdString; $contador++) {
        
        if ($linha == 0) {
            $tabela['linhaUm']   .= "<td>$string[$contador]</td>";
        } elseif ($linha == 1) {
            $tabela['linhaDois'] .= "<td>$string[$contador]</td>";
        } elseif ($linha == 2) {
            $tabela['linhaTres'] .= "<td>$string[$contador]</td>";
        }
        $linha++;
        if ($linha % 3 == 0) { $linha = 0; }
    }

    Nessa parte eu me perdi, se eu apagar os dois else if, irá apresentar a primeira linha apenas, com os seguintes caracteres "F     A   O    S    M    D   C    E   O" , no caso o controle de quantidade de linha está sendo feito pelo ultimo if? 


  6. 7 minutos atrás, Alaerte Gabriel disse:

    Você tem que contar o array com o count após ele ser explodido e não a quantidade de caracteres. A variável $senha não é um array, ela apenas contém a quantidade de caracteres da string. Seu array é o $variavel.

    <?php
    
    $senha="FUJAM TODOS FOMOS DESCOBERTOS";
    $variavel = explode(" ", $senha);
    $contavel = count($variavel);
    /*echo $variavel[0];*/
    
    $result = $variavel[0];
    
    ?>
    <html>
    <head>
    	<title></title>
    </head>
    <body>
    	<table> 
    
    		<?php for ($i =0; $i <=$contavel; $i++) {
    			echo "$variavel[$i]<br>";	
    		}?>
    
    </body>
    </html>

    Fiz dessa forma, porém o resultado ficou:

     

     

    FUJAM
    TODOS
    FOMOS
    DESCOBERTOS

     

     

    Mas procuro que fique assim:

     

    F A

    U M 

    J T

     

    Desculpe, estou com dificuldade

     

     

     


  7. 11 minutos atrás, Alaerte Gabriel disse:

    Fiz dessa forma, porem nao consegui inserir dentro de tabela da forma que quero

    <?php
    
    $senha="FUJAM TODOS FOMOS DESCOBERTOS";
    $numero_string= strlen($senha);
    $variavel = explode(" ", $senha);
    
    /*echo $variavel[0];*/
    
    $result = $variavel[0];
    
    ?>
    <html>
    <head>
        <title></title>
    </head>
    <body>
        <table> 
        
            <?php for ($i =0; $i <=$numero_string; $i++) {
                echo "$senha[$i]<br>";    
            }?>
    
    </body>
    </html>

     


  8. 1 hora atrás, Alaerte Gabriel disse:

    @juniorquadros, seja bem vindo ao fórum. Recomendo fortemente a leitura dos tópicos:

    Com relação a sua dúvida, seja mais específico, pelo que entendi você quer "cortar" a string é isso ?

    Sim, quero fatiar caracter por caracter da string e apresentar ela numa tabela, sendo essa tabela com no maximo 3 linhas.

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.