したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

製作初心者講座スレ

1あなたの名前を入力してください:2018/12/17(月) 19:27:03 ID:XL3qFHUU
ここは全く製作したことの無い人達が一段階ずつ製作者へ目指していくスレです。
eraでこれが作りたいと思ったり、eraであれがやりたいんだ
といった情熱があっても、どうしていいかわからないといった方の参考になるべく立てられました
製作したいといった情熱があればぜひ目を通していってください。

情報提供されるの皆さまへ
このスレに書きこまれた、こうしたほうがいいといった発言やまとめはeraシリーズを語るスレ まとめWiki V3に掲載されるかもしれません。
そういった事を踏まえて初心者の方々に有益な情報の提供をお願いします。

このスレに書きこむ前にこちらをお読みください
スレのテンプレ>>1-3

※注 ・投下されたサンプルへの意見交換などは歓迎しますが、
    サンプル投下者への人格批判につながるものや、誹謗中傷に取られるものは禁止とします。
    また、議論も禁止とします。
    意見交換の際に、誰かから苦言を呈されたらいったんレスを止め、時間を置いて落ち着いてください。

560あなたの名前を入力してください:2022/02/08(火) 20:56:05 ID:s/1UzrGM
1.ARRAYMSORT命令を使う
2.自前でソート処理を行う
3.ソート用の配列変数に (CFLAG:経験人数 * 256 + キャラ登録番号) を入れてからARRAYSORT命令を使う キャラ登録番号は配列変数の中身を256で割った余りで求められる (計算式が不適切な場合は適当に変更するべし)
どれを試すかは自由

561あなたの名前を入力してください:2022/02/08(火) 22:30:56 ID:u0h9PrnE
しょうがないにゃぁ
任意の条件でソートする手段はEmuera標準で提供されていないので、自前で実装する必要あり
(ARRAYMSORTは副作用があるので考慮しない)
EVALUATEに関しては>>554参照
CALLF LIST_SORT(選択キャラ,"CFLAG:value:経験人数")
でソートできるはず

@LIST_SORT(targetList,sortRule = "value",isDescend = 0,defaultValue = -1)
#FUNCTION
#DIM REF targetList
#DIM defaultValue
#DIMS sortRule
#DIM isDescend
#DIM gnome ;ノームの位置
#DIM elementCount
#DIMS sortFunc
elementCount = GET_LIST_LAST_ELEMENT(targetList,defaultValue) + 1
gnome = 1
sortFunc = \@ isDescend ? >= # <= \@
WHILE gnome < elementCount
 IF GROUPMATCH(COMPARE(EVALUATE(sortRule,,targetList:(gnome - 1)),EVALUATE(sortRule,,targetList:gnome)),0,(isDescend ? -1 # 1))
  gnome++
 ELSE
  SWAP targetList:(gnome - 1),targetList:gnome
  gnome = MAX(gnome - 1,1)
 ENDIF
WEND
RETURNF 1

;与えられた値を比較し、target1 < target2なら1、target1 == target2なら0、target1 > target2なら-1を返すラッパー関数
@COMPARE(target1,target2)
#FUNCTION
#DIM target1
#DIM target2
RETURNF (target1 == target2 ? 0 # (target2 - target1) / ABS(target2 - target1))


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板