レベルごとに成功、不成功、不成功ならどこまで正解したかを、ゲームをやるたびに記憶していきたいわけですわ。
 なので記憶するべき項目は以下の4項目となり

日にち、時間、レベル、一致した番号の数

これらの情報をイメージとしては

2009.4.1 23:01:23 9 12
2009.4.1 23:02:11 10 10
2009.4.2 13:03:23 3 5
 ・
 ・
 ・

というように記憶しておき、レベルメータで選ばれたレベルの情報として、現在までの平均成功率とかを出す機構が必要なわけです。

 この機構、例えばレベル4での最近3日間の平均とかいうように、必要な情報を必要な要件で取り出したり構築できるようなものを、一般にデータベース管理システム=DBMS(DataBase Management System)というふうに呼んでいます。

 一番みじかなのでは、このブログってのがもろにDBMS。
 なんらかの条件にマッチした情報を取り出せるなら立派なDBMSなわけで、メールとかウエブブラウザの履歴とかショッピングサイトのバスケットとか、あらゆるところに利用されてます。
 で、これだけ広範囲に利用されるシステムは当然、いろいろなメーカから提供されることになるんだけど、提供するメーカごとに使い方がまちまちじゃ不便でしょうがない、という理由から用意されたのがデータベース共通言語SQL(Structured Query Language)。
 この言語のおかげでアプリケーションを作る側は、ちまたにいろいろ存在するDBMSから目的にあったものを選択する自由度が広がるわけです。

 おかげで、一から作らずに楽できるわけっす。
 今回、使うのを予定してるSQLite(mySQLLiteじゃなかったのね...というかそんなライブラリねーし)も名前にきっちりSQL入れちゃってます。mySQL、ProgreSQL、Microsoft SQL Server と他にもいっぱいありますが、SQLiteはアプリケーションに埋め込める形をとれるのが特徴みたいです。

 OS X ハッキング!によるとSpotlightやSafariにMailとSQLiteを使ってるアプリは盛りだくさんで、どころかOS X 10.4 TigerからはSQLiteのフロントエンドまで搭載されてるみたいっす。

OS X/Tigerには、SQLiteのフロントエンドとして「sqlite3」コマンドが収録されている。手始めに、このsqlite3コマンドを使いApple Mailと"会話"してみよう。

 う~む、すばらしい。
 ビバOS X、ビバunix!
 次回はsqlite3を使ってチンパンジーゲーム用のゲーム結果履歴データベースを作ってみる。