ICT関連の学習備忘録

ICTの学習をアウトプットするワークブックサイト

ICT関連の学習備忘録

2019/08/13:アルゴ(一人プレイモード)のプログラム

PyQで勉強しつつ息抜きがてらちょこちょこ書いてたら
コンソール上でのプログラムとしてはもう良いかなって状態に
なってしまったので第一段階完了としてここに記す←

んまーこれのゴールとしてはWEBアプリというかWEBブラウザで動かせるようにするのが最終目標
だからまだ完成はしてないのよねー。
PHPだったらHTMLにそのまま埋め込めるから多分出来るんだけど

それやるにしても取り敢えずPythonの学習の一環としてやりたいから
PythonでWEBアプリ化出来てから、じゃあPHPだとどうなるのかって感じで
やりたいよねーとか考えてます。

概要は公式サイト見てくれ←
アルゴ‐頭のよくなる推理カードゲーム‐algo 公式ホームページ【トップ】

実行ファイル
04_algo_in_algo(190813).zip
04_algo_in_algo(190813).exe

※環境によってはセキュリティソフトによっては弾かれる可能性有


今回はザックリとフローチャートもどきを描いてみた

ソースコードはまだ途中だから
下記に脳内でのイメージをそのままテキストに起こした状態の
メモをだけ貼るw

アルゴのアルゴ

山札配列作成deck
1次元[xリスト番号]
2次元[0黒白][1表記数字][2裏表フラグ]
 
フィールド配列field
1次元[Y並び順]
2次元[0黒白][1表記数字][2裏表フラグ]


山札配列deck[x]をシャッフル

山札配列deck[x]から4枚を引抜き
フィールド配列field[x]へ代入

ゲーム開始

★Aループ開始位置


山札配列からカードを一枚抜く。
引いたカードの変数を定義

now_card[] = $deck[x]

★Bループ開始位置

$field[x]をソート
$field[x][2] 表フラグカードをオープン
 hi
フィールド配列$fieldの選択肢表示
for i in $field
 if $field[i][2]==[裏]
  裏フラグの選択可能カードを表示(チャレンジカードの選択)
 else
  選択不可でオモテ表示

チャレンジカード($select)と
$select = $filed[i][1]
番号入力インプット画面表示
$inuput_num=input()
	→入力範囲を絞るメソッド用意 

選択lしたフィールド配列の表記番号と入力番号の比較
IF $select == $input_um
  当たったフィールドの選択カードを表フラグに変更
  $filed[i][2] = [表]
else
  不正解はそのまま

★ループBへ戻る
field

ドローしたカードを
フィールド配列の小さい方から比較して
基準位置に挿入(配列挿入)

★Aループへ戻る

★IFフィールド配列が全て表フラグならクリアフラグとブレーキ
★IF山札配列がゼロでゲームオーバーフラグとブレーキ
★IFクリアかゲームオーバーか