基礎から解る!PHP入門講座 プログラム入門に最適な言語、PHPを学ぼう

基礎から解る!PHP入門講座

プログラム入門に最適な言語、PHPを学ぼう      

 このサイトはPHPを独習する際に作成したスクリプトを基に、プログラム言語初心者のための入門講座として作成しました。PHPは初心者に親しみやすく、解りやすいプログラム言語です。これからプログラムを学ぶ人の参考になればと思います。


    画像パズル1

    <?php
    error_reporting(1);
    if($_POST['new'] != "NEW") {
      $save=$_COOKIE["save"];  
    }
    /*--------------------------------------------------------*/
    if(!isset($save)){
      srand(date(s));        /*時刻-秒を使って乱数を初期化*/
      $pict = range(0,7);    
      shuffle($pict);
      $pict[8] = "8";
        for($cnt=0;$cnt<9;$cnt++){
            $save = $save.$pict[$cnt].",";
        }
      setcookie("save", $save, time()+600);  
    } else {  
      $pict = split(",",$save);    /*配列になる*/
      array_pop($pict);
      $num = $_GET['num'];    /*移動する写真の場所*/
      $movepict = $_GET['pict'];      /*移動する写真の番号*/
      if($num != null){
        $key = array_search('8', $pict);     /*8空欄を探す*/
        $pict[$key] = $movepict;      /*空欄の場所に移動する写真をいれる*/
        $pict[$num] = "8";        /*移動する写真は8空欄になる*/
        $save = null;        /*文字列として保存するため*/
          for($cnt=0;$cnt<9;$cnt++){
              $save = $save.$pict[$cnt].",";
          }
      }
      setcookie("save", $save, time()+600);
    }
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html lang="ja"><head>
    <meta http-equiv="Content-type" content="text/html; charset=EUC-JP">
    <meta http-equiv="Content-Style-Type" content="text/css">
    <link rel="stylesheet" href="../style.css">
    <title>写真パズル</title></head>
    <body><div class="file2">
    <table width="540"><tr><td valign="top">
    <span style="font-size=20px;font-family:arial black;color:#0000FF;padding:30px">-- PICT PUZZLE --</span></td>
    <td><form action='pict_game.php' method='post'><input type='submit' name ='new' value='NEW'></form>
    </td></tr></table>
    <?php
    echo "<table border ='0' cellspacing='0' cellpadding='0'><tr>¥n";
    /*----------------------------------------------------------*/
    if($save == "0,1,2,3,4,5,6,7,8,"){        /*配列が順に並んだら完成*/
      echo "<td><img src = 'sakura.jpg' border='0'></td></tr></table>";
    $date = date("Y年m月d日 A H時i分s秒");
    $filepointer=fopen("./puzzle.txt", "a+");
        flock($filepointer, LOCK_EX);
          fputs($filepointer, $date."¥n");
          flock($filepointer, LOCK_UN);
        fclose($filepointer);
    } else {
      $key = array_search('8', $pict);     /*8空欄を探す*/
      switch ($key) {        /*空欄に対してクリックできる場所のデータ*/
       case 0:
              $link="13"; break ;
       case 1:
              $link="024"; break ;
       case 2:
              $link="15"; break ;
       case 3:
              $link="046"; break ;
       case 4:
              $link="1357"; break ;
       case 5:
              $link="248"; break ;
       case 6:
              $link="37" ; break ;
       case 7:
              $link="468" ; break ;
       case 8:
              $link="57"; break ;
      }
    /*-----------------------------------------------------------*/
      for($a = 0; $a < 9;$a++) {  
        echo "<td>";
        if(ereg("[$link]",$a)){  
            echo "<a href='pict_game.php?num=".$a."&pict=".$pict[$a]."'>";
        }
        echo "<img src = 'sakura/sakura".$pict[$a].".jpg' border='0'>";
        echo "</a></td>¥n";
          if($a == 8){        
            echo "</tr></table>";
          } else if($a%3 == 2){
            echo "</tr>¥n<tr>¥n";  
          }
      }
    }
    ?>

    </div></body></html>
    2020/3
    SUN MON TUE WED THU FRI SAT
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30 31     


     フォクすけ©2006 Mozilla Japan



    制作:基礎から解るPHP入門講座 代表:FREEZE

    Copyright © 2005/2/28 flzPHP.All Rights Riserved