見出し画像

PowerShell 間違い探しゲーム

間違い探しゲームを作ってみました

こんなのです。

function machigaisagashi(){

    write-host "★★★ 間違っている漢字をさがそう ★★★"

    $nanido = 1
    $masu_size = 6
    while($True){
        $moji_dis=@(("",""),("王","玉"),("0","O"),("齊","齋"),("邊","邉"))

        # 問題マスの作成
        $masu = New-Object "System.Object[,]"$masu_size,$masu_size

        for($i=0;$i -lt $masu_size;$i++){
          for($j=0;$j -lt $masu_size;$j++){
            $masu[$i,$j] = $moji_dis[$nanido][0]
          }
        }

        $x = Get-Random -Maximum $masu_size -Minimum 0
        $y = Get-Random -Maximum $masu_size -Minimum 0
        $masu[$y,$x] = $moji_dis[$nanido][1]


        # 問題マスの表示
        $disp_tmp="   "
        for($i=0;$i -lt $($masu_size);$i++){
          $disp_tmp+= $($i+1)
          $disp_tmp+= " "
        }

        write-host " "
        write-host $disp_tmp

        for($i=0;$i -lt $masu_size;$i++){
          $disp_tmp=""
          for($j=0;$j -lt $masu_size;$j++){
            $disp_tmp += $masu[$i,$j]
          }
          write-host $($i+1),$disp_tmp
        }


        # 解答の入力
        $flg_mistake=$True
        while($flg_mistake){
            $Input_x = -1
            while( ($Input_x -lt 1) -or ($Input_x -gt $masu_size)  ){
              $Input_x = Read-Host "間違っている文字の横位置(1~$masu_size)"
            }
            $Input_y = -1
            while( ($Input_y -lt 1) -or ($Input_y -gt $masu_size)  ){
              $Input_y = Read-Host "間違っている文字の縦位置(1~$masu_size)"
            }
            write-host "入力されたのは 横 $Input_x 縦 $Input_y"
            write-host ""
        
            if($masu[$($Input_y - 1),$($Input_x - 1)] -eq $moji_dis[$nanido][1]){
              write-host "◎◎◎ 正解 ◎◎◎"
              $flg_mistake=$False
            } else {
              write-host "xxx 不正解 xxx"
            }
        }


        # 終了の判定
        if(($nanido -ge $($moji_dis.Length-1)) -and $masu_size -ge 9){
              write-host "★★★★★★★★★★★★"
              write-host "★★★ 全問正解 ★★★"
              write-host "★★★★★★★★★★★★"
              break
        }

        $masu_size+=1
        $nanido+=1
    }
}

machigaisagashi


タイマーや得点を付けたり、ランキング表示を付けたら
もっと面白くなるかも


#PowerShell #間違い探し #ゲーム #コマンドラインゲーム #プログラミング初心者 #プログラミング学習 #毎日更新 #コマンドレット

この記事が気に入ったらサポートをしてみませんか?