2003.05.26 (Mon) 0:29:18
二日前に書いた「いまどきの学生さん。」という日記。同じ日記を見て、同じように考えた人が、僕の他に2人もいたらしい。こんな安易なことを考える人間が、僕以外にもいたとは。なんだか驚きだ。元の日記を書いた人の方がもっと驚いているのだとは思うが。
ところで、今週は研究室で、課題もやらずにずっとゲームのソースを書いていた。と言っても、何もないところからゲームができるわけはないので、ずっと基礎になる部分を作っていた。RPGっぽくしようと思うのだが、その基本的な計算式などを延々書いていたのだ。
その一部をここに載せてみる。スキルがどうたらこうたらとか、よく見るとゲームっぽいことを書いてあるのが分かると思う。
public static void main(String[] args) throws InterruptedException {
Charactor a = new Charactor();
Charactor b = new Charactor();
System.out.println(a);
System.out.print("Damage: ");
int damage;
if ((damage = a.attack(b)) == 0) System.out.print("Miss!");
else System.out.print(damage);
System.out.print(", ");
System.out.println();
System.out.println("Hit: " + a.hitRate(b));
a.aSkill = (AttackSkill)a.skill.firstElement();
System.out.println(a);
System.out.print("Damage: ");
Thread.sleep(a.aSkill.castingTime);
for (int i=0; i<a.aSkill.number; i++){
if ((damage = a.attack(b)) == 0) System.out.print("Miss!");
else System.out.print(damage);
System.out.print(", ");
Thread.sleep(a.aSkill.intervalTime);
}
Thread.sleep(a.aSkill.delayTime);
System.out.println();
System.out.println("Hit: " + a.hitRate(b));
Enumeration e;
e = a.item.elements();
while (e.hasMoreElements()){
Item obj = (Item)e.nextElement();
System.out.println(obj.getClass().getName() + ": " + obj.name);
}
e = a.skill.elements();
while (e.hasMoreElements()){
Skill obj = (Skill)e.nextElement();
System.out.println(obj.getClass().getName() + ": " + obj.name);
}
}
これは、自分の作ったクラスのテスト用のものだ。ちゃんと機能しているかどうか確認するためのものだ。こうやってみるとしみじみ思う。我ながら、なかなか意味不明なことをやっているな、と。慣れてしまえばそうでもないが、これは確かに、知らない人には取っつきにくいのも仕方がない。これでも、C言語あたりと比較するとかなり扱いやすいのだ。
ちなみにこれは、極めて初歩的な技術のみを使って書かれている。これ以上難しいことは、僕にはよく分からないのだ。と言っても、基本的な文法などは一通り扱えるはずなのだが。まあ、それだけできてもしょうがないと言うことだ。
なんか疲れた。このくらいにするか。
2003.05.26 (Mon) 1:21:53