2007年10月15日月曜日

NO.2113 目で見てわかるJavaのレッスン

情報基礎論と一緒に図書館で借りて読みました
内容は初心者向けのビジュアルなテキスト
でもでも、初心者向けと言ってもあなどれない
Eclipseを使って、最低限のコード量で簡単なプログラムを解説しています
僕は、Eclipseは本を読んだだけで
実際に使用したことはない
それでも簡単な使い方がなんとなくわかりました
それに、簡単なコードしか用いていないので
Eclipseで自動生成されるコードもなんとなくわかりました
自動生成されるコードがわかれば
JavaでのGUIの使い方がわかります
現在、僕の作成しているHSPのコードも
頑張ればJavaで書けるかもしれない
そんな気になりました
CD-ROMは借りなかったので
サンプルコードや解説しているバージョンのEclipseが実行できないんだけど
そのうち、CD-ROM付きでもう一度借りて
少しJavaもいじってみるっかなー。なんて気になりました
それにしてもJavaってボタンを消したり出したりできるんやね
ま、HSPLetを見たかんじでは
ボタンを消したり出したりできそうなんで
Javaでもボタンを出したり消したりできるんやろうけど
案外、簡単に出来そうなことに驚きました
僕のサイトのProjectすぅぃったのページを見てもらえば
わかると思うけれど
テキストとボタンを、出したり消したりできれば
やりたいことはだいたい出来るんで
ProjectすぅぃったのJavaバージョンもそのうち書くかも
なんて思っています

2007年10月14日日曜日

NO.2112 情報基礎論

最近、りすとはプログラミングばかりやって
(っていうか、こそこそゲームばっかやって)
全然、本を読んでいなかったのですが
なんか借りた本を返しに2週間に一度図書館へ行くのを
やめられずに
本を返すついでに、ブラブラ、パソコン書籍を見てたら
読みたくなる本をみつけて、読みもしないのに借りる習慣を
やめられません
でも久しぶりに、やっと一冊読破しました
情報基礎論という本です
読破したのは、最近、プログラミングしてないからというのは
僕と君だけの秘密だぜ。ってかんじです

さて、この本はパソコンに関する知識、技術ではなく
情報科学の定義づけです
その辺がなかなか斬新でした
しかし、僕はパソコン系の大学へ通っていたわけではないので
前提となる知識がなかったので
いまいち理解できなかったですが
なぜかスラスラ読めました
この本を読んで、得た物が何かもわからなかってけど
久しぶりに本を読んだどー!という達成感だけ味わいました
<了>

2007年10月13日土曜日

NO.2111 プログラミング5週目

コンテスト期間も残り2週間半ですね
ということでプログラム日記です

>モジュールで分割している最中に
>モジュール内のラベルにジャンプできないというバグを発見
というのはバグではなく仕様でした
参照していないモジュールは最適化の過程で削除されるようです
なのでモジュール内でモジュール内で用いる変数を定義する命令を作成しました
めんどくさいことにならないで良かったー

そのようなことをHSPwikiにも書きました
メーリングリストで作者様の手も煩わせてしまったことだし
そういうことは共有しないとね

本当、(僕が)お騒がせ男で、申し訳ないです
とかいいつつHSPwikiに書いたのはひさしぶりだー
勝手にKICKされたと思い込んでいて
HSPwikiへの書き込みは控えてたんですよね
でも(管理人さんかな)名前ページが復活していたんで
やっと許してもらえたかな。ということで
書き込みを再開しました
名前ページが削除される前
あんまり、新規のページが作成されないで
僕だけでも盛り上げていこー。と
一人でわけわかんない状態になっていたことも
わけのわからないことを書きまくっていた一因ではあります
やっぱり、盛り上げていくのは一人じゃなくて
皆じゃないとダメってことでしょうね
一人で頑張ろうとしても、他人からは浮いてしまいますからね
なので、自分のサイトもあることだし
wikiへの投稿は控えめなのがいいのではないでしょうか?

さて、本題
コンテスト向けのプログラミングですが
最近、さっぱりはかどりません
今週の火曜日はせっかくのバイトのお休みだったというのに
また、ゲームばっかしやる始末です
なんか、こんなペースで期間内に完成できるか心配です
なんか期間が始まっても
リファクタリングしかしてない疑惑もありつつ
既にあるスクリプトのリファクタリングばっかやって
新しい処理を全然書いていません
こんなんで期間内に完成するか?マジ心配になってきました
それに最近ものすごく眠い
秋になって日の入りが早くなると眠くなるとは言いますが
僕も、12時頃、ようやく、さぁ。プログラミングでもするか
ってなっても、その前に、音楽でも聞くか
(音楽聞きつつ)少し横になるか
で、そのまま寝てしまう(笑)
ゲームにシナリオをつけたかったのですが
時間的に考えられそうも無い
でも、無機的になっちゃいそうで怖いですが
なんとかなるかなー

というわけでToDoリストの進行状況
・モジュール分割を終了させる
まだモジュールを一つリファクタリングしていない
やればすぐ終わると思うのだけれど・・・
・gosubを#deffuncに書き換える
・gosubが#deffuncになってもきちんと動くような順序に並べる
#deffuncにしなくてもgosubのままで動くみたいです
・シナリオIDの文字列に区切り文字”|”を導入して効率的に分岐する
モジュール化した部分については完了
・シナリオID、簡単な変数への入力、簡単な計算をログ出力させる
ログ出力もできるようになりました
・モジュール分割の完成を確かめるデバッグ
ログ出力させているので、簡単に(でもないけど)デバッグできました
・そろそろ、シナリオを書き始める
シナリオはつけない
・敵キャラ、味方キャラ、NPCの絵を書く
絵はまだ全然で・・・。手抜きな絵になりそう疑惑
・戦闘の処理を書く
・戦闘の処理と本スクリプトを結びつける
・スキルレベルアップの処理の実処理を書く
この辺を早めに実装すれば、完成も見えてくるはず
・セーブ、ロードの実装
スクリプトはEXEに付属させて公開する予定なので
暗号化しない方向なので案外、楽なはず

2007年9月26日水曜日

NO.2110 プログラミング3週目

僕はこのサイトでディスガイア日記を書いているのですが
コンテスト期間が始まったというのに
作成したいスクリプトの構想はだいたい固まっているというのに
スクリプトも書かず、サイトのネタ探しも含めて
ゲーム(ディスガイア)ばっかしていました
(本の感想を書くのは大変だし
 聞いている曲の感想を書くのは難しいので
 僕の場合、更新内容として、ゲーム日記を書くのが一番楽なのです)
ところが先日、PS2のメモリーカードの空き容量が足りなくなってきたので
昔買って一度も使用していない、PS2のバックアップ用USBで
使わないデータをバックアップしてたんですよ
ところが、途中までサクサクバックアップできるのに
ファントムブレイブのデータがバックアップできない!
データの(バックアップ用USBへの)移動ができなくて
コピー(バックアップ用USBへ)したらできた
で、コピー元のデータを削除したら、画面がフリーズ
電源オーフ!
そしたら・・・
メモリーカードのデータが全部破損データになりました
なんと!PLAY時間80時間のディスガイアのデータが破損データへ!
PLAY時間18時間のファントム・キングダムのデータも破損データへ!
りすとはPS2のメモリーカードは2枚で使い回しているのですが
PLAY時間75時間のファントムブレイブのデータが助かったのが
不幸中の幸い
SFCを卒業して
(まだ卒業してないけどw 聖戦の系譜とか バハムートラグーンとか)
PLAY STATIONをやるようになってからデータ消失とは無縁の生活を送っていたはず
昔はドラクエ4を最後のダンジョンまで行って、データが消えたり
FF4がSFCの故障でぶっこわれたり、したり
(壊れたので同級生にあげたら、データがよく消える。と
 イヤミを言われたりしたものです)
したけど、ずーっと、データが消えた記憶はない
あーあ PLAY時間80時間のデータが消えるなんて
レベル的にはクリアできたのにさ
早くクリアしないからこういうことになるのだろうか?
今は、また最初から初めて楽しめるからいいかな。とも思うけどさ

と、言うわけで
これは、(せめて)コンテスト期間中はスクリプト作成に集中しなさい。と
言うことかなぁ。と、思いつつ毎日のように、スクリプトを書いています
(こんなにスクリプト書くのいつ以来だろう?)
前回、日記に書いたToDoリストは
ToDoリスト兼フローチャートの作成と
長くなってしまったスクリプトのモジュールでの分割と
現在の目標は戦闘の処理
の3つなんですが
現在、やっていることは、長くなってしまったスクリプトのモジュールでの分割。です
今は3.1でスクリプトを書いているのですが
モジュールで分割している最中に
モジュール内のラベルにジャンプできないというバグを発見
(gotoは使わないけど、gosubでジャンプしたかった)
gosubを#deffuncで書く必要があるみたいです
gosubだと定義より上でも呼び出せるので
僕は#deffuncよりgosubをよく使うのですが
gosubを使えないとなると、定義の順序を考える必要があって
そこを調整するのがめんどくさそう
だいたいモジュールに分割したんだけど
モジュール内のラベルにジャンプできないというバグを一昨日発見して
開発メーリングリストの中で報告
これからgosubを#deffuncに書き換えるところです
というわけでモジュール分割にとまどって
戦闘の処理もまだ書いていない
ToDoリスト兼フローチャートの作成も先々週の火曜日に書くはずだったのに
まだ、書いていない
いまいち、やるべきことが具体的でない
ま、構想は2年くらいだし、作りかけのスクリプトもあったし
スクリプト書きの練習としてPROJECTすぅぃったという企画で
小さいゲームも作ったことだし
スクリプト作成の見通しは立っている
フローチャートは書かなくてもスクリプトは完成しそうです

現在のスクリプトの行数約2600行
進行のパーセンテージ20%

というわけでToDoリスト
モジュール分割を終了させる
gosubを#deffuncに書き換える
gosubが#deffuncになってもきちんと動くような順序に並べる
モジュール分割の完成を確かめるデバッグ
シナリオIDの文字列に区切り文字”|”を導入して効率的に分岐する
シナリオID、簡単な変数への入力、簡単な計算をログ出力させる
そろそろ、シナリオを書き始める
敵キャラ、味方キャラ、NPCの絵を書く
戦闘の処理を書く
戦闘の処理と本スクリプトを結びつける
スキルレベルアップの処理の実処理を書く

こんなにToDoリストがたまっているのに
コンテスト期間は約3分の1経過しましたね
はてさて期限内に完成するのでしょうか?

2007年9月11日火曜日

NO.2109 プログラミング1週目

先日、ブレイブストーリーも読破し
先週からHSPプログラミングコンテストに向け
少しづつプログラミングをしています

プログラミングしている作品は
連打!RPG、MP溜めゲームです
連打!RPGなのは、回復とか攻撃とか、コマンドを選択していると
よくコマンドミスするからです
本当は、普通のRPGみたいな戦闘システムを作れればいいんですけど
りすとの力量というより根気では
スムーズな戦闘システムを作れないことが予想されるので
戦闘はワンクリックで終わり!そして連打!連打!連打!なのです
時間待ちのないFFアドベンチャーみたいのを予想しなされ

システムのもうひとつの特徴のMP溜めシステムは
MPを溜めれば溜めるほど、攻略が有利になるシステムです
MPは雑魚敵との戦闘で溜め
強い敵との戦闘で大量に消費するシステムです
MP溜めるぞ!溜めるぞ!溜めるぞーーー!!!なのです

そして今までやってきたことは
実はかなり前にポツポツと2.61で作成していたスクリプトの
3.1への移植です
軸になるスクリプトはソースまま公開しようと思っていたので
2.61で作成していました
それを3.1に移植しようと思ったのは、BIGNUMの存在です
BIGNUMを使用するほど、激しくMPを溜めるゲームにしたる!と意気込んでいます
完成して余力があれば、BIGNUMを使用しなくていい程度に制限した
スクリプトを作成しようとも思っています

2.61から3.1への移植は案外、簡単でした
mrefとstrlenが関数になっていたこと
それと仕様の変更で、配列を2次元から1次元に直したところの
修正のし忘れくらいかな。HSPに怒られたのは

それと今やった部分は移植だけなんだけど
新しい処理は加えていなくて
新しい処理の追加ってエネルギー食うんですよね
まだ新しい処理の追加はしていないので
ちゃんと新しい処理を考えて記述できるか、少し心配です

明日はバイトが休みなので(歯医者あるけど)
ToDoリスト兼フローチャートでも作成しようかな
ToDoリスト兼フローチャートがあると
何を記述するべきか、考えなくてよくて
空いた時間に、仕事みたいに淡々と記述できるんですよね
それを書かないと休みの日くらいしかプログラミングできないですよね

現在の目標は戦闘の処理と、長くなってしまったスクリプトの
モジュールでの分割が目標です
さてさて、HSPコンテストの締め切りまでに
プログラムが完成するか否か、今からドキドキですね

2007年9月9日日曜日

NO.2108 ブレイブストーリー

最近、僕、wikiに書き込んでいないでしょ
それどころか自分のサイトもたいして更新してないでしょ
まあ、更新は前からたいしてしていなかったけど
日記もブログもたいして更新してないでしょ

理由はこの本です
宮部みゆき作:ブレイブストーリーにめちゃはまっていました
上下刊合わせて1300ページくらいある
りすとは、日記やブログを書く時間をこの本を読む時間にあてていた気がします
それが、先日、ようやく読み終わりました

なんかの広告でこの本を知って
ずっと読みたかったんだけど
ハードカバーだから高いんだろうなぁと思いつつ
文庫版も出てた頃に、図書館へ行くと
予約が30何人待ちという状況で
どうせ2週間でなんて読めっこないんだから
予約しなくても借りられるまで待っていようと思い
映画版を借りて観て
原作も読みたくなりつつ
wikiに書いてた企画がボロクソに中傷され
wikiに書きたい気持ちがガクンと下降した頃
その頃、この本を借りました

♪君はミツルで僕はワタル
♪共に運命の塔を目指せども
♪願いを叶えるのはどちらか一人~
そんなかんじで読んでいました

ネタバレになるかもしれないけれど
見事、運命の塔にたどり着いたワタルは
たった一つしか叶えられない願いで
ビジョンを救う選択をします
願いごとを一つ叶えてもらっても
ワタルの運命を叶えたいたびに
女神様に運命を叶えてもらうわけにはいきません。という台詞が印象的でした
(その台詞はうるおぼえですけど)
そうですよね。人は皆、運命を変えたいことはあるかもしれないけれど
そして、その運命は変えられるとしても
そうだとしたら何度も運命を変えなければなりません
だから、人は皆、変えられない運命と共に
自分で局面を切り開いていかなければならないのです
だって一つ願いを叶えてくれるドラゴンボールだって
悟空たちは何度も願いを叶えているでしょ

さて、前々から読みたかったブレイブストーリーも読破したことだし
プログラミングだーーー!!!
(もしくはサイトの更新だーーー!!!)
実はりすとは前々から作りたいプログラムがあって
それを完成させて、コンテストに応募したかったんだけど
他のことに気をとられているうちに応募期間が終わってたりして
なかなか本腰を入れてプログラミングできなかったんですよ
今回こそは完成させて応募したいです

2007年8月30日木曜日

NO.2107 オヤシラズ その2

先日、ここの日記にも書いたとおり
りすとはオヤシラズを抜きました
しかし、その恐怖は一度きりではありませんでした
りすとは両方のオヤシラズが横向きに、生えていたのです
なので、もう一度、オヤシラズを抜く必要があったのです
一度目はオヤシラズを抜くことの恐怖に無知であったため
気軽に歯医者へ行けましたが
今度はオヤシラズを抜く恐怖を味わった上で
もう一度、オヤシラズを抜く必要があるのです

なーんて書くとものすごい大変そうですが
案ずるより生むが易し
痛みも前に経験しているので、たいしたことない
しかーし
抜くのに2時間かかりました
しかも、前のは、全然痛くなく
痛かったのは、最後のほうの10分くらいだったのに対し
2時間ずっと痛かったです
キュイーン(削る音)と
グググ(抜く時)の痛みが頻繁にやってくる
キュイーンかグググがあって
歯医者さんが工具を持ち替える時に、痛みは一旦休み
そして、また、キュイーンかグググがやってくる
そんな2時間でした

最後の方、しんどくて、上手に呼吸ができなくて
苦しくなったほどです

2回に分けて抜くと言っていたけど
なぜか1回で抜けたのが嬉しかった
もうこんな苦痛味あわなくていいのね

そして今は火曜日に抜糸をして
(糸、取れてて、イヤミ言われたけど)
だいぶ痛みもおさまってきたところです

なにはともあれ
ひどくなる前にオヤシラズを抜けて(痛かったけど)良かったです
オヤシラズのことがあって
なかなか更新していなかったけれど
そんなちょくちょくしようとは思わないけれど
少しは頑張って更新していくので
りすとは書くことが好きだし
気長におつきあい頂けると嬉しいです

2007年8月28日火曜日

NO.2106 ハッカーズ大辞典

半年くらい前から自宅近くの図書館で何度も借りて
(大学の近くの市立図書館にもあった)
少しづつ読み進め
最近ようやく読破しました
いやーこの本はてこずった
ページ数も多いうえに
字が小さい
しかも辞書だから
アルファベット順に並んでて
いまいち読み進める気がおきない
普通の辞書なら絶対、僕には読破なんてできないですよ
でも、普通の辞書とは違って
ユーモアがチラホラ
5、6回爆笑しました
一応英語のハッカー用語の辞書なもんだから
英語が散りばめられています
最初はなかなか読み進められないうえに
英語の単語や用例が多いものだから
それを読むのもうざったかったんだけど
最後の方は英語もつっかからず
スラスラ読み進められるようになっていました
英語にもなじめるし
ハッカー用語も理解できるし
いい本だとは思います
ハッカー用語を暗記しようと思ったら
けっこう厚い本なだけに大変そうだけどさ
最近のりすとの目標は
英語のサイトを読めるようになるなので
ステップアップの一環にはなりました
(英語のサイトは文章が簡単だとは聞くけど
 まだまだ読めないです)

今、りすとの頭にある単語は
「ワナビー」と
(りすとはハッカーではなくワナビーです
 これ自分のことだ。と思った。綴りは忘れた)
「ha ha only serious」(ほんの本気)です
ほんの本気っていいなあ
しょっちゅう使いたい
りすとは冗談とも本気ともとれるような言い方をよくします

読破して、満足感に浸っているりすとでした

2007年8月5日日曜日

NO.2105 書きたいスクリプトの構想 その2

漠然と考えていたアイデアを日記に書いたら某氏にツッコまれました
少しやりとりした結果少しだけ具体的になったので、まとめてみる

考えていた案は文字列を置き換えするのではなく
分割されている文字列を連結するというアイデアです

例えば
abcdeのcdをCDに置き換えたい時に
ab、cd、eの順で文字列配列に格納して
配列の2番目をcdからCDに置き換えて
それらを連結すれば、もっと高速に置き換えられるのではないか?という案です
しかし色んな方法があって、まだ考えは漠然としています

僕の意図したことは
mes "aの値は"+a+"です。"
のmesより後の3つの値を、「mesの後に続く構造」と書きました

文字列は一つの連続した値ですが
mesの後には文字列なり変数なりの構造化された値を指定できます
それを出力時にコードにするのではなく
mesの後のような、文字列なり変数なりの構造化された値を持っていて
出力時に連結すれば早そうだなと思いました

2007年8月1日水曜日

NO.2104 オヤシラズ

最近、日記もブログもたいして更新してないでしょー
理由は「歯」です

そう。最近、りすとは歯が痛い
少し前、風邪ひいたら、下のオヤシラズが両方とも疼くようになりました
少ししたら、痛みはおさまったんだけど
歯医者に行ったら、レントゲンを見せられました
すると…


下のオヤシラズが両方とも横向きに生えとるー!!
りすとは顎が小さめのようです
痛むようでしたら、抜くことも考えた方がいいですよ。と言われ
どうせ抜くなら、早いうちに。ということで
オヤシラズ抜くのケッテー

で、1本、オヤシラズ抜いて昨日は抜糸でした

埋まっている歯を抜くのには、まず、歯茎を切開する必要があります
水がかかるとか、わけわからんこと言われ、顔にタオルをかぶせられるりすと
どう考えても何やってるか見せないようにしているとしか思えん
タオルの下から血のついたメスが行ったり来たり
治療前、後にあった、それでおいらの口をどーすんねんといった
器具っつーか工具が気にかかる

切開の後は歯を切断する感覚

そして、工具に力を入れて何かやっとる
(梃子の原理にされている唇が痛い)
読むと痛そうだけど、ガッツシ麻酔効いてるから痛くはなかった
でも、次の歯を立てる段階は(ガッツシ麻酔効いてるのに)痛かったですけど

そして、スポッと歯が取れる
抜けて安心と、思いきや
ガクガクブルブルのりすとでした
(血のついたメスー、口のなかに力を注入する工具ー。悪夢みたい)

ハーあともう一本抜くのか。と思うと気の重いりすとでした
そして、オヤシラズのせいで日記とブログの更新が滞ってすみませんでした
(グダグダの文章ばかり書いてないで、ちゃんとプログラミングしろよw)