「ゴブリンでもわかるゲームプログラミング」第28話 ~読むだけでゲームプログラミングがなんとなくわかるようになる謎のファンタジー小説~
本作は連載作品です。第1話は下記です。
気に入っていただけたら↓に「スキ」いただけると嬉しいです。
初日こそ無才をディスられたり、一転、アイシャ様襲来で驚かれたりで、精神を揺さぶられたユキであったが、その後の学園生活はぬるりと進んでいく。
午前中から昼頃まで授業。
その後は、研究開発室での活動だ。
研究開発室での活動について、
今まで、ユキが魔法出力変更のために改造していた魔法論理……下記のようなコード……
////////////////////////////////////////////
// 弾の初期化処理
time = 1200 // 射出時間
interval = 60 // 射出間隔
angle = 360 / 10 * count / 60 // 射出角度
position = device.position //射出位置
size = 0.5 // 大きさ
power = 0.1 // 威力
if(count % 120 == 0){
attribute = ICE // 属性=氷
}
else{
attribute = WIND // 属性=風
}
speed = 0.1 // 速度
acceleration = 0 // 加速度
・・・
////////////////////////////////////////////
が、特定のクラスの処理(メソッド)の一部なのではないか?
という仮説に基づき、魔法論理の解析を進めていた。
そして、一週間ほど経ったころ……
「おぉおおお!!」
自分ひとりしかいない深夜の研究開発室にてユキは思わず声をあげる。
執念深く、まるで瞑想のように魔法論理の読み取りを試み続けた結果……
ついに、これまでの魔法論理の周辺部分を感じとることができたのである。
ユキが読み取ることに成功したコードが下記である。
////////////////////////////////////////////
class Shot{
// 要素の定義
count // カウンター
time // 射出時間
interval // 射出間隔
angle // 射出角度
position //射出位置
size // 大きさ
power // 威力
attribute // 属性
sub_attribute // 副属性
speed // 速度
acceleration // 加速度
bullets
・・・
// 処理(メソッド)の定義
set(){
// 弾の初期化処理
time = 1200 // 射出時間
interval = 60 // 射出間隔
angle = 360 / 10 * count / 60 // 射出角度
position = device.position //射出位置
size = 0.5 // 大きさ
power = 0.1 // 威力
if(count % 120 == 0){
attribute = ICE // 属性=氷
}
else{
attribute = WIND // 属性=風
}
speed = 0.1 // 速度
acceleration = 0 // 加速度
}
・・・
}
////////////////////////////////////////////
ユキがこれまで読み取れていたのは、
// 弾の初期化処理
から下の部分であった。
やはり想定した通り、クラス(class)定義の中の一部であったのだ。
具体的には、set処理(メソッド)であり、値を〝設定する〟処理のようだ。
しかし、classの中の一部であることがわかったのはよかったのだが、set処理(メソッド)だけでは不十分であった。
これだけでは、設定した後に、この値をどのように扱うのかが解明できなかった。
そして、読み取ることができたモノの中で、これまで気付かなかったモノがあった。
それは要素の中にあった〝bullets〟という要素である。
(bulletsって弾って意味だよな……一つ一つの弾を表した要素だろうか……)
「……よし」
ユキはbulletsを足掛かりにもう少し解析範囲を広げることができないか試してみた。
すると……
足掛かりがあったからか、今度は短時間で解析が進み、新たに二つの処理が見えてきた。
この記事が気に入ったらサポートをしてみませんか?