午後のセッションでは、数独を作ってみましょう。基本問題が出来たグループは、応用問題にチャレンジしてみてください :-)
1. Gitをダウンロード&インストールし、ターミナル上でgit
コマンドが使えるようにしてください。
```
例:
/Users/yasulab/github-clones% git --version
git version 1.7.10.2 (Apple Git-33)
```
2. GitHubのウェブサイトへ行き,GitHubアカウントを作成してください.
![GitHub Landing Page](https://dl.dropboxusercontent.com/u/2819285/github_landing-page.png)
準備が終わった(あるいは既に終わっていた)ら、次に進んでください。
各グループが最終的に提出したコードを一覧出来るように、次の手順に沿って、問題をダウンロード&提出してください。
なお、2. で開いたページのURLは、こんな感じのURLです:https://github.com/アカウント名/リポジトリ名
以上で準備およびインストラクションは終了です。では、問題を楽しんでください!
数独のボードを出力する関数や、ボードが数独のルールを満たしているかをチェックする関数などを用意しました。 これらの関数を使って、数独ボードを生成してみてください。なお、それぞれの簡単な数独から難問の数独まで、4つのパターンを用意しました。
- レベル1:ろくにアルゴリズム組んでなくても解けるパターン
- レベル2:少しアルゴリズムが必要なパターン
- レベル3:大分アルゴリズムが必要なパターン
- レベル4:そもそも対角線9個しか埋まってないパターン
ただ、必ずしも用意された関数を使う必要はありません。結果として数独が解ければ、まぁ良いではないですか ;-)
* 残り1時間ぐらいになったら、状況を見てヒントを出します。
前回の勉強会で人気を博した、ショートコーディングのお時間です。 可能な限り短いコードで 数独自動生成プログラムを実装してみてください。
実装したコードの可読性を捨て、新しい世界へ旅立ちましょう!