「クイズα」に関する日記

空白の3年間

αゲームズのページを作ろうと色々やっていたのですが、ランキングのこととか、それぞればらばらのバージョンをどう統一するかなど、気になる部分が数多くあったのでなかなか作業が進みませんでした。
ファイル名に関しては全部全くばらばらだったので重複の心配は無かったのですけどね。

TGscriptの小吹き出しを改善しました。
これでFireFoxでもそれなりの表示ができますし、IEでもより見やすくなりました。
もっとも、FireFoxのほうではなぜか存在しないはずのスペースが表示されてしまって少し困っているのですが。
あと、表面上は何も起こっていませんが、共通処理と設定のファイルを分けました。
これは動作の変更をしたいときに設定の下までスクロールするのが面倒だったという、ただそれだけのことです。

昨日のMIDIをもうちょっとマシになるように改良していました。
この曲は聞いたとおりの曲名で、曲名通りの相手と戦うときのBGMだったりします。

マザー3のニューヨクバの画像からただのヨクバの戦闘画面風のドット絵を作ってみました。
どうせヨクバと戦うならサルサVSヨクバの夢の対決にしてみようじゃないかとか、サルサが戦うならいっそサルコも参戦させようじゃないかとか考えて作ってみました。
たぶん状況から考えて空白の3年間の出来事でしょうね。

1162133358.png

αゲームズ

α系のゲーム、これ以上更新することもなさそうだし、ファイルサイズも大きくないし、個別で落とすのは面倒そうだし、一緒にインストールしてもあまり干渉しあわないし、全部詰め合わせで一括ダウンロードできるようにしてもいいかなと思ったりしています。
やっぱりミニゲーム類は一度にたくさんもってきて好きなのをやるというのがよさそうだし。

そうそう、Bomber丸Worldのライブラリの説明ページも書いたりしています。
まだアップしたりしていませんが。

乱雑な…

部屋を掃除しました。
本当はレゴで遊んでやろうかと思っていたのですが、レゴを入れた箱を出すともうそれ以上のスペースがなくなるので床面積を広げるため掃除に踏み切ったのです。
窓付近に机があるのですが、実は数年間机としては使われておらず、椅子には埃が積もっていました。
使っていないのならその場所に荷物でも積めばよかろうものでしょうが、現実にはその場所にある窓は唯一の採光場所であり唯一の通風孔であり唯一の避難経路でもあるので、壁をふさぐ面積、高さなどから見て、現状の机以外に選択肢はありませんでした。
しかし机としてはもう使っていないので椅子は撤去します。
そうなると、机は単なる避難経路への足場という役割しかなくなるので、その部分に何とかして光と風と避難の邪魔にならないように物を置く方法を考えなければなりません。
実はその机は机としての役割を失ってからはいつか使うかもしれないがおそらく二度と必要ないもの(主にプリント類)を積んでおく倉庫となっており、つみあがる高さから言っても倉庫利用で問題はなさそうです。
唯、これからは乱雑に置かず、倉庫として機能するよう、それなりに整理して置くのです。
とはいえ、元々雑多なものを置く場所なので分類はできません。単純に大きさだけで置く場所を決めるのです。
元々置いてあったものは当然ほとんどが本当に必要のないものだったので、裏が白紙のものを選んで適当な大きさに切り、メモ用紙として再生することにしました。
机より下側にある壁は光を取り込むためガラス張りになっているので、机の下にも物を置くことはできません。
椅子も撤去したので常に空き場所となるのですが、ここは一時的に物を置く場所として使うことにしましょう。
用が済んだらそこだけは必ず片付けるようにすれば最低一箇所床がある状態になります。
次は床掃除。
しかし、散らかっている荷物は3分の2が弟のものだし、今散らかしている自分の荷物も、非常によく使うから床に山積みにしているので、片付けてしまうわけにはいきません。
ということで後は棚の整理だけして、本来の目的である床面積の確保はほとんど実現されなかったのです。

ふにゃさんのセーブデータの問題、答えを出しました。
データには何の加工も施さず、それと明らかに分かる名前で、ゲーム本体と同じフォルダに作ります。
取ったバナナの数はそのまま数字として書き込まれますし、シークレット情報も一つ一つ個別に記録します。
別に不正チェック機構なんかもつけたりはしません。
ですから、テキストエディタ等で開けば、データの意味が分かる人なら簡単に改竄ができてしまうのです。
しかし、改竄したい人には改竄させておけばよいのです。
こういうことを批判する言い方として、「本来の楽しみ方ではない」という言葉をよく聞きますが、他人のプレイに迷惑(例えば不正に得たデータで他人と競う行為など)をかけたりしない限り、本来とは違う楽しみ方をしても良いと思うのです。
レースゲームでは逆走は本来の楽しみ方じゃありませんし、アクションゲームで亀を踏み続けて無限にリトライ回数を増やすのも元々の難易度を完全に崩す行為ですが、それなりに受け入れられています。
他人に迷惑をかけないのなら、不正の範囲が自分一人にしか及ばないのなら、データ改竄もまた、逆走や無限1アップと同じだと思うのです。
確かに開発者としては、プレイヤーには本来の楽しみ方で楽しんでもらいたいのですが、だからといって自由な楽しみ方を阻害するのも意味がないように感じるのです。
それに何より、改竄ができるとデバッグが楽です。

クイズαをバージョンアップしました。
http://www.hyuki.com/d/200510.html#i20051020190000にあったアルゴリズムを見て、昔から正しいかどうか不安に思っていつか正しいかどうか調べてみようと思いつつ結局調べなかったアルゴリズムがどうやら本当に正しくなかったらしいので、書き換えようと思って自分のソースを見たらこっちは計算するまでもなく誤ったアルゴリズムだったため、もう、修正するしかありませんでした。
以前のアルゴリズムでは、全くシャッフルされない場所が大量に残る可能性があるばかりでなく、n^2乗のオーダーで処理時間が長くなり、元々クイズとしてはありえないのですが、数千問を超える問題集だとかなりの時間がかかってしまうため、全く実用的ではなかったのですが、改良版では乱数さえまともに出れば必ず均等にシャッフルされますし、処理時間も、処理数がnのオーダーであり、更に乱数を使う回数も半分にしているため最低でも2倍以上の高速化にはなっているはずです。
一応正解のアルゴリズムは、自分が考えていた、多分前のアルゴリズムよりはよい結果になるはずのアルゴリズムとほぼ同じものでした。

ザオリーマ!

「クイズα」のエスケープシーケンス文字に"\["を追加しました。
これで"[End]"や"[終]"という問題も作れます。
そんな意味不明な問題を作る人なんていないと思いますけど。

今日は高3登校日でした。
調査書などを貰いました。

冬にかき氷を食べるととても寒い

「ふにゃふにゃ」で、SwapToSecondaryで入れ替えたビットマップに線が引けないバグを修正しました。
yaneMIDIOutputを入れました。
エラーが意外と少なくて助かりました。

「クイズα」で元素番号の問題をまたやってみたんですが70%ぐらいしか覚えてませんでした。

MIDI打ち込み

聖魔さんのゲームをするために多くの時間を費やしてしまったのでプログラミングは出来ませんでした(始めからする気はなかったけど)。
そこで気付いたことがひとつ。
…そろそろ更新するタイミングではないのか?
実は更新のネタは1ヵ月分ぐらい溜まっているのです。
受験で更新どころではなくなったときのためです。
そんなわけで溜めておいたネタのひとつ、「クイズα 問題エディタ」をver1.1に更新しておきました。

「ふにゃふにゃ」のBGMが思い付いたのでとりあえず笛の音でぴ~ひゃらぴ~ひゃらMIDIに打ち込んでみました。
実は随分前から思い付いたりはしていたんですが、それが登校途中の電車の中だったりするんで家に帰った頃にはすっかり忘れているんですよ。
メロディを忘れないための何の工夫もないMIDIだけど一応アップ。

haiku.html

何を思ったのか、縦書きのコンテンツを追加してしまいました。
多分近いうちに消えます。
「Bomber丸World」のゲームシステムを紹介するページを作りました。

「クイズα 問題エディタ」に便利な機能を付けてみました。
リターンキーで次の項目にフォーカスを移動するようにしました。
リストに問題文を反映するタイミングを変えました。

「Bomber丸World」のBGMのボリュームの調整をしました。
あんまり変わってませんけど。

今日は火曜日

「クイズα 問題エディタ」を上げておきました。
自分でもためしに英語の問題集で間違えたことのある問題を打ち込んでみたんですが、結構使いやすくて良かったです。
ただ、答えを書く場所ではリターンキーで次の選択肢に移動するようにしたり、追加した後は問題を書く場所にフォーカスを移動させたりしたほうが良かったかもしれないのでまだまだ改善の余地はありです。

Anti「Cのススメ」は10月7日以降に先延ばしです。

「クイズα」で、出題する問題数を制限する機能(109問の中から20問だけ取り出すとか)を付けようと思いましたが、シャッフルのアルゴリズムやファイル形式との相性が悪く、断念しました。

「甥とは兄弟か姉妹の息子のことです。」を入力しようとしたら「甥とは強大化姉妹の息子のことです。」と変換されました。
強大化姉妹ってどんな姉妹なんでしょう。
考えるだけでも恐ろしい…

ステージエディタ

「ふにゃふにゃ」のステージエディタを少し作ってみました。
主人公の初期状態を設定するウィンドウを作りました。
機能の実装はまだです。
表示画面(プレビューとも言いますね)も見た目だけ作りました。
BitBltとLine関数を使って表示することにしています。

同時進行で「クイズα」の問題作成のプログラムも作っています。
24日の更新はこちらになる可能性も無きにしも非ずです。

Anti「Cのススメ」は中々進みません。
書き出しに気を付けないとCプログラマーに思いっきり悪い印象を与えてしまい、逆効果になる可能性がありますので。

無題

「クイズα」をバージョンアップしました。
最後の文字が"\"になるのを修正しました。
いちいち更新のたびにファイルサイズを書き換えるのは面倒です。

明日は9月1日ですが日曜日で学校は休みです。
私は9月1日の日曜日は夏休みとは思っていません。
新学期の第一日目がたまたま休みになっただけだと思います。
実質連休の日数は増えますけどね。

無題

「ふにゃふにゃ」で落下中に攻撃ができるようになりました。
これで攻撃をする部分の処理はできました。
後はその攻撃が当たった時の処理を書けばようやくゲームとして成り立つようになります。

明日「クイズα」をアップします。
実は8月31日に更新することは前から決めていました。
学校のみんなが宿題で苦しんでいる時に自分のサイトの更新をするっていうのが目的です(←宿題終わってないくせに)。

無題

カレーを食べているといきなりスプーンがバキッと折れました。
手がカレーでべちょべちょになってしまいました。

「ふにゃふにゃ」で、ライン関係の処理を別クラスに移しました。
キャラクター関係の処理と比べて、ただの置換だけだったので比較的簡単に、大した問題もなく移行することができました。
ステージエディタも作り始めました。
あと、ビットマップの表示方法を変えたのでこれからその辺の処理を書き直しておきます。

「クイズα」でエスケープシーケンス文字関係でバグがあったので直しました。
今度の更新はこれになるでしょう。

うちの家族は私以外腐ったものに対して鈍感です。
腐っているとわかっているものに味をつけて食べようとしたり、凄い臭いがしているのに気付かずに食べて美味しいと言っていたり、そのことに料理している時点で気付かなかったりします。
私自身は賞味期限のわからないものや少しでも臭いの違うものは絶対に食べないので逆に気にしすぎかもしれません。
皆さんも腐ったものには気をつけましょうね(^^

無題

「クイズα」をバージョンアップしました。
エスケープシーケンス文字("\n"など)が使えます。

「千と千尋の神隠し」をフランス語音声+日本語字幕で見てみました。
印象的だったのは千尋がやたらと「パパァ」、「ママァ」を連発していたこと。
「ちひろ」の発音が「しほ」に近いものになっていたのには驚きました。
字幕無しで見ていたら千尋のことを志穂と勘違いしていたかもしれません。
名前を奪われたら「志(こころざし)」に…
立派な名前にしてどうするんだ!!

学校では今日から夏期講習です。
私が受けられるものは全て受けることにしました。
6教科で3000円、安いものです。

無題

風が吹いてくるのを感じて空気分子が勢いよく当たっているなぁ、と思うのは私だけでしょうか。

それはともかくとして、「MusicPlayer4」に順番を入れ替える機能をつけてみました。
自分でも思うけど、この機能は不便です。
まだまだ改善の余地ありです。

「クイズα」をエスケープシーケンス文字の一部に対応させてみました。
このプログラムに使う問題ファイルには問題文を一行に全部書かないといけないので、改行を示す改行でない文字を作らねばならなかったのです。
「\\」を「\」、「\n」を改行、「\a」をビープ音、というようにしてみました。

どちらかを今度の日曜か月曜にでもアップする予定です。