罪と罰++二律背反
罪罰改造板2/33
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
] [
リンク元
]
開始行:
*効率の良いサブルーチン [#l9ff6729]
-ページ: [[罪罰改造板2]]
-投稿者: [[清秋]]
-優先順位: 低
-状態: 完了
-カテゴリー: 罪罰管理者の雑談
-投稿日: 2005-01-19 (水) 20:36:53
-バージョン:
**内容 [#fdf94075]
はじめて書き込みをさせて頂きます。
清秋という者です。
迷宮やオークション等の素晴らしいスクリプトを配布している
あくあ様に助言を頂きたいのです。
本題ですが鍛冶屋を作ってみてとりあえず動く程度にまでは完成
したのですがどうもスクリプトの所持アイテム判定部分に無駄が
ある気がしてしょうがないのです。
#判定サブルーチン
sub item_han{
@han=@_;
$i=$item_pos;
$log .= "所持アイテム @di_a<br>\n";
foreach $temp_di_a(@di_a){
# $log .= "デバグ 必要アイテム [$di_data[$han[0]][1]][$di_d...
if($temp_di_a==$han[0]){
if($item_no_flag[0]==0){
$item_no_flag[0]=$i;
$log .= "$di_data[$temp_di_a][1]・・・確かに持ってるな。...
$flag++;
}
}elsif($temp_di_a==$han[1]){
if($item_no_flag[1]==0){
$item_no_flag[1]=$i;
$log .= "$di_data[$temp_di_a][1]・・・確かに持ってるな。...
$flag++;
}
}elsif($temp_di_a==$han[2]){
if($item_no_flag[2]==0){
$item_no_flag[2]=$i;
$log .= "$di_data[$temp_di_a][1]・・・確かに持ってるな。...
$flag++;
}
}
$i--;
# $log .= "デバグ 所持アイテムフラグ [$item_no_flag[0]][$item_...
}
}
無駄な処理やもっと効率の良い処理をご教授していただけると
幸いです。
引数には&item_han(必要アイテムその1,必要アイテムその2,必要アイテムそ...
という感じでやっています。
また、あくあ様の複数道具所持も参考にさせていただいていま...
----
-これでも十分な気がしますが・・・^^;一応別な方法という...
@han=@_;
@item_no_flag = ();
$log .= "所持アイテム @di_a<br>\n";
for $hidx (0..$#han) {
for $didx (0..$#di_a) {
if($han[$hidx]==$di_a[$didx]){
$log .= qq|$di_data[$didx][1]・・・確かに持っているな...
$item_no_flag[$hidx]=$didx;
$flag++;
last;
}
}
}
-まず、パフォーマンスに関係ないことですが、@item_no_flgを...
-あと所持アイテムと必要アイテムの数が問題ですが、必要アイ...
-そして、必要アイテムはすべてのアイテムについてチェックが...
-一応感想、配列化してるとこの辺楽ですね〜 -- [[あくあ]] &...
-ありがとうございます。少し弄ってちゃんと動きました。範囲...
#comment
終了行:
*効率の良いサブルーチン [#l9ff6729]
-ページ: [[罪罰改造板2]]
-投稿者: [[清秋]]
-優先順位: 低
-状態: 完了
-カテゴリー: 罪罰管理者の雑談
-投稿日: 2005-01-19 (水) 20:36:53
-バージョン:
**内容 [#fdf94075]
はじめて書き込みをさせて頂きます。
清秋という者です。
迷宮やオークション等の素晴らしいスクリプトを配布している
あくあ様に助言を頂きたいのです。
本題ですが鍛冶屋を作ってみてとりあえず動く程度にまでは完成
したのですがどうもスクリプトの所持アイテム判定部分に無駄が
ある気がしてしょうがないのです。
#判定サブルーチン
sub item_han{
@han=@_;
$i=$item_pos;
$log .= "所持アイテム @di_a<br>\n";
foreach $temp_di_a(@di_a){
# $log .= "デバグ 必要アイテム [$di_data[$han[0]][1]][$di_d...
if($temp_di_a==$han[0]){
if($item_no_flag[0]==0){
$item_no_flag[0]=$i;
$log .= "$di_data[$temp_di_a][1]・・・確かに持ってるな。...
$flag++;
}
}elsif($temp_di_a==$han[1]){
if($item_no_flag[1]==0){
$item_no_flag[1]=$i;
$log .= "$di_data[$temp_di_a][1]・・・確かに持ってるな。...
$flag++;
}
}elsif($temp_di_a==$han[2]){
if($item_no_flag[2]==0){
$item_no_flag[2]=$i;
$log .= "$di_data[$temp_di_a][1]・・・確かに持ってるな。...
$flag++;
}
}
$i--;
# $log .= "デバグ 所持アイテムフラグ [$item_no_flag[0]][$item_...
}
}
無駄な処理やもっと効率の良い処理をご教授していただけると
幸いです。
引数には&item_han(必要アイテムその1,必要アイテムその2,必要アイテムそ...
という感じでやっています。
また、あくあ様の複数道具所持も参考にさせていただいていま...
----
-これでも十分な気がしますが・・・^^;一応別な方法という...
@han=@_;
@item_no_flag = ();
$log .= "所持アイテム @di_a<br>\n";
for $hidx (0..$#han) {
for $didx (0..$#di_a) {
if($han[$hidx]==$di_a[$didx]){
$log .= qq|$di_data[$didx][1]・・・確かに持っているな...
$item_no_flag[$hidx]=$didx;
$flag++;
last;
}
}
}
-まず、パフォーマンスに関係ないことですが、@item_no_flgを...
-あと所持アイテムと必要アイテムの数が問題ですが、必要アイ...
-そして、必要アイテムはすべてのアイテムについてチェックが...
-一応感想、配列化してるとこの辺楽ですね〜 -- [[あくあ]] &...
-ありがとうございます。少し弄ってちゃんと動きました。範囲...
#comment
ページ名: