ウディタ中級者になるためのその3 ~文字列を有効活用しよう!~
なんかこう、文字列って基本システムではデータベースの一番最初に、名前と説明の項目のためだけに使われている感じがして影が薄いんですが、文字列は使いようによってはめちゃくちゃ便利です。
というのも、文字列の中に複数の情報を持たせられるので、項目をむやみに増やす必要がなくなるんですよね。
たとえば、ワールドフロンティアでは手持ちアイテムをすべて文字列で管理することにしました。
全アイテム情報を保管しているDBのIDを文字列に打ち込んでいく感じです。
↓
項目:手持ちアイテム[文字列]
1
5
13
18
…
みたいな感じで。
文字列は(PCの性能の許す限り)無限にデータを読み書きすることができるので、実質容量無限のデータベースのようなもんですね。
たとえば、装備可能状態なんかも、いちいち項目を増やすのがバカらしいと感じたら文字列を使って、
0
1
0
1
1
みたいに記述すれば、上一行切り出しで0ならば装備不能、1ならば装備可能みたいに条件判定にも使えそうです。
さらに進化させれば文字列の中にプログラムコマンドを打って、独自のプログラミングっぽくも使える…かも。こっちはまったくやる気にならないので実用性は謎ですが。
それから、これは豆知識ですが、文字列が数字のみの場合は、そのまま変数に読み込ませることができます(どっかの記事で書いた気がするなぁ)。
■変数操作: CSelf0 = CSelf5 + 0
こんな感じで。もちろん[1600005]を左辺に直接打ち込んでます。
とにかく文字列による管理は無限の可能性を秘めていそうなので、みなさんぜひ活用してみてください!
(などと書きましたが、文字列管理には弱点があって、それは処理が遅くなるということです。
多少の文字列管理なら別に気になりませんが、さすがにしょっちゅう何百回もループさせて文字列操作をしたりすると実害が生じると思います。
具体的にどのくらい遅くなるかは謎ですが、自分の場合、ループ中断を入れ忘れたコマンドの中に文字列操作を入れていたら、50万エラーを吐く前にウィンドウがフリーズしました。要するに、そのくらい文字列操作は処理の重いコマンドだということです。ご注意を)
というのも、文字列の中に複数の情報を持たせられるので、項目をむやみに増やす必要がなくなるんですよね。
たとえば、ワールドフロンティアでは手持ちアイテムをすべて文字列で管理することにしました。
全アイテム情報を保管しているDBのIDを文字列に打ち込んでいく感じです。
↓
項目:手持ちアイテム[文字列]
1
5
13
18
…
みたいな感じで。
文字列は(PCの性能の許す限り)無限にデータを読み書きすることができるので、実質容量無限のデータベースのようなもんですね。
たとえば、装備可能状態なんかも、いちいち項目を増やすのがバカらしいと感じたら文字列を使って、
0
1
0
1
1
みたいに記述すれば、上一行切り出しで0ならば装備不能、1ならば装備可能みたいに条件判定にも使えそうです。
さらに進化させれば文字列の中にプログラムコマンドを打って、独自のプログラミングっぽくも使える…かも。こっちはまったくやる気にならないので実用性は謎ですが。
それから、これは豆知識ですが、文字列が数字のみの場合は、そのまま変数に読み込ませることができます(どっかの記事で書いた気がするなぁ)。
■変数操作: CSelf0 = CSelf5 + 0
こんな感じで。もちろん[1600005]を左辺に直接打ち込んでます。
とにかく文字列による管理は無限の可能性を秘めていそうなので、みなさんぜひ活用してみてください!
(などと書きましたが、文字列管理には弱点があって、それは処理が遅くなるということです。
多少の文字列管理なら別に気になりませんが、さすがにしょっちゅう何百回もループさせて文字列操作をしたりすると実害が生じると思います。
具体的にどのくらい遅くなるかは謎ですが、自分の場合、ループ中断を入れ忘れたコマンドの中に文字列操作を入れていたら、50万エラーを吐く前にウィンドウがフリーズしました。要するに、そのくらい文字列操作は処理の重いコマンドだということです。ご注意を)
- 関連記事
スポンサーサイト