本日, 英語Iをサボってしまいました
朝, 目覚ましを止める → 起きようと思う → 意識が遠のく → 気付いたら10:20
というわけで, 不本意ながらいわゆる『寝ブッチ』をやってしまったわけで…
明日は日記演習2連続無更新はまずいので出勤します(←フランス語一列(3)は休講)飯と情報棟のためだけに出勤しようかとも迷いましたが, 如何せんだって英語をサボっておきながらその日にJ棟で目撃されるというのもまずいし…体の調子が悪かったので大事を取ったということに… 昨日『明日は何時来る?』などと聞いておきながら来ないというとんでもない大失敗をやらかしてしまいました, > 聖狐がその質問をした人, 特に『4限』などと答えてくれた人…申し訳ないです
で, 結局1日が『本当にわざとじゃないんです, 不可抗力ってやつです不本意にも』フリーとなったので何をやっていたか… 結局Cの課題をもてあそんでいました
経路表示用にVC++のプロジェクトを作ってそこに元のプログラムを埋め込む, しかる後にコンパイル, バグ, コンパイル, バグ, コンパイル, バグ, コンパイル, バグ, ポケモン, コンパイル, バク, コンパイル, バグ, コンパイル, バグ, ブランチ, コンパイル, バグ…
VC++はCよりも数十倍『面倒』です
多分『難しい』の次元ではないです, 『面倒』の次元です
結局辛いのはあまりにいい加減なCコードを書いていたがためにデータ受渡し部分でどうやら構造体名と型名の名前空間がVC++では重なっているようだ(Cだと分かれている)構造体名を変更する羽目になったり, それを何とかごまかす方向でヘッダファイルなどを作ってみることになってみたり, メインプログラムとウィンドウプログラムでdijkstra.cとdijkstra.cppは共存できない出力する.objが同じと文句を言われてファイル名を変えたり, 終了時に数KBにのぼったりした大量のメモリリークを指摘され, 涙目になりながらリストのメモリ開放を自前で全てやらなければいけなかったり…メモリ開放処理ループを確かに親だけ気持ちでfreeしても意味はないんですよね…実装してみたり…という前提条件の悪さを除く仕事なのですが…
取り敢えず地図を直接保持しているのはdijkstra構造体へのポインタだけ, 残りはそこから引きずり出すことが出来るようになっていた, オブジェクト指向を示唆してくれたROPPY氏に感謝コンソール版ルーチンの呼び出しだけで読み込んで表示させるところまで作って力尽きるのである…
読み込み部分はコンソール版ルーチンでopenfile → readmap → closefileで済むので楽なんですが, その後の表示は大変, だって当然であるが…コンソール版には無いんだから…
で, 問題だったのは読み込み部, 何とリストの末端をNULL処理していなかったので辿っているうちにもしデバッグ状態でなければGPF(一般保護違反)というやつになってしまうものですランタイムエラーが… かなり焦りましたね
その辺も取り敢えず何とかなったっぽいのであとはサクサクとまではいかないものの何とかでもダイクストラ計算ルーチンevaldijkstraは内包されている(まだ何処からも呼び出せないが…)マップ表示のみ版は完成させることが出来るように…
てな感じで取り敢えず出来たdijkstra.exe(Win32 GUI版)は28.0KB, 実は60.0KBコンソール版よりも本体のサイズでは軽かったりするんですね, どうせMFC42.DLL, MSVCRT.DLLが必要だそうです(by Dependency Walker), コンソール版は全く不要ランタイムが1MBほどあるのですが…
これは単体では?, DLLを同パスに入れてみたら? 等と暫く楽しめそう…ECCに持って行って動くのだろうか… 取り敢えず大体完成したらもう削除しちゃいました, ごめんなさいねここに上げておきますね…
あとは例によってポケモン, 今日はアドバンス版の『伝説のポケモン』扱いのレジシリーズを全て捕まえることに… 結論から書いておくと捕まらないまま主力三体ほどを入れたパーティが滅ぼされてしまった時リセット回数5回, ハイパーボール消費量約70個, 単なる遊びプレミアボール, 途中まで存在に気が付かず, 気付いてからは主力バシャーモLv.99のみに使ったまんたんのくすり各1個消費, ハイパーボールを投げた回数は多分250回ほど, かかった時間は1時間以上…
つーか何故HPバーが1ドットで麻痺状態のくせにハイパーボール40個平気だったりするの > 最初に捕まえたやつ, 何故か後の方になるほど簡単に捕まったレジロック
因みにこれは説明書に点字表が入っていながらクリア時点では殆どのポケモントレーナーが気付かず, 気付いたところでとても面倒な前準備が必要なBraille (ブライユ点字法) / point system点字イベントをこなすことで手に入るポケモンで名前は『レジロック』, 『レジアイス』, 『レジスチル』と, 『レジ』という点字の英訳は数10字前を参照, 聖狐の持つ英語系辞典では関連性を調べられず…謎の接頭語の後にそれぞれ『いわ』, 『こおり』, 『はがね』タイプ属性名をつけているという全く持ってやる気の感じられないものだったりする上にこれに全滅させられた時には殺意を覚えた(←嘘(←嘘?))グラフィックも格好悪いとんでもなくふざけたやつなのである
その後は昨日準備した化石はイベントアイテムのため, ストーリー中(1つのセーブ)では1度しか手に入れられない化石のポケモン『こいつも格好悪いがレジ系よりはましリリーラ』のかなり♀の確率が低いよう, ♂が出てきて10度ほどリセットした♀を使ってリリーラの増殖に成功, あとはそのうちサファイアのカセットで同様にしてアノプスを増殖させれば化石問題は解決かな?
ついでにルリリを作ろうとしてこれがルリリを作る条件『うしおのおこう』を持たせたマリルとコダックを預けてみる, 卵からはコダックが生まれた…当然マリル卵のポケモンの種族は基本的に♀のみによって決定, オスは単なる触媒で相性さえ問題なければ何でも構わない(涙)♂じゃ駄目だよなぁ…とコダックを見てから思う 哀し…
現在ポケモン図鑑は134匹, ヒンバス以外のルビーで手に入る種族は全て押さえてはいるので後は進化させたりするだけ, ヒンバスは…どうしよう先はまだまだ長い…
To IS2003er: (Dijkstra検証用サンプルについて)ECCでのCAB展開はどこかからアーカイバを下ろしてやってください, どうしても出来なさそうだったら聖狐を捕まえてください, 直接圧縮していないファイルをMailするとかI/O端末で渡すとかで対応します