1.
「光影シリーズ」では、「チョイむずモード」等と呼ばれる
任意でCPU陣営を強化させるかどうかを選択できるスクリプトが存在する。
通常の難易度では満足できないという上級者と
難易度が高くなくてよいというプレイヤーの棲み分けを
可能にする画期的なシステムであると思う。
例えば陣営が1〜10まであり、プレイヤーが1の勢力を選択した場合
CPU操作の2〜10の陣営に、上位一般を配置させたりなどの
スクリプトを組み、CPU陣営の強化を図り、難易度を向上させる。
2.
「チョイむずモード」は、プレイヤーである場合に
発生するので、発生条件は全陣営共通となる。
OPの時点で発生させることになるであろうから
if(Turn==1 && StartTurn==0)
という発生条件だけでよい。
この条件式だと、観戦モードでも発生するので
if(Flag[-263]!=0) と加えると観戦プレイ時には発生しない。
「チョイむずモード」は、有効にするか無効にするかを
プレイヤーに選択させるだけなので、YesNo構文を使うだけで良い。
// Flag350が制御用です
//(これは解説用なので、会話文のスクリプトは考えない方向で)
if(Turn==1 && StartTurn==0)
{
「チョイむずモード」を有効にしますか?
Set b,YesNo(有効にする?)
if(b==1)
{
「チョイむずモード」を有効にしました。
Set Flag[350],true
}
if(b==0)
{
「チョイむずモード」を無効にしました。
Set Flag[350],false
}
}
|
基本的にはこのような形になると思われる。
「Yes」を選択した場合に、該当のFlagを立てて
CPU陣営を強化するスクリプトを組めばよい。
「チョイむずモード」を有効にした場合
CPU陣営用にスクリプトを組むことが多くなる。
よって、陣営がCPU操作であることを条件にする
KuniPlayer[勢力番号]==0 等を使えばよい。
3.
「チョイむずモード」でCPU陣営に上位一般を配置する場合
「初期配置の一般はどうなるのか?」という疑問が発生した。
マスターの雇用できる一般の中に、雇用費が安いものがいた場合
マスターの本拠地に19体限界まで配置される陣営が出てくる。
ルーゼルの本拠地にスケルトンが限界まで雇用されている
状況を想像してもらえれば分かり易いと思う。
「けものもののけ」のウーマ陣営は
初期配置で一般が限界まで雇用される。
この状況に下のスクリプトを適用した場合、
麒麟はどのように配置されるのであろうか?
//Flag[350]有効時
if(Flag[350]==1 && Flag[351]==0)
{
if (KuniPlayer[5]==false && KuniFlag[5]!=0)
{
CharSet BaseArea[5],%麒麟
CharSet BaseArea[5],%麒麟
CharSet BaseArea[5],%麒麟
CharSet BaseArea[5],%麒麟
CharSet BaseArea[5],%麒麟
Plus Ley[5],999
}
Set Flag[351],true
}
|
実際に起動してみたところ、このようになった。
このように、OP(のスクリプト)で一般を配置させるのと
初期配置が競合した場合、初期配置の方が優先されるようだ。
結果的に、本拠地の空きの1体分しか麒麟は配置されず
残りの4体については、完全に無意味となっている。
よって、初期配置が19体になりそうな陣営に
「チョイむずモード」で一般を配置させる場合には
何らかの対処が必要になってくる。
4.
・サンプルスクリプト
難易度を向上させる場合はFlag[○]を使用
//難易度選択
if(Turn==1 && StartTurn==0)
{
Window 0
Size 356,96
Print 「×××」モードを
Print 有効にしますか?
WindowOn 0
Set b,true
Set b,YesNo(有効にしますか?)
if(b==1)
{
Window 0
Size 356,96
Print 「×××」を
Print 有効にしました。
WindowOn 0
Set Flag[○],true
}
if(b==0)
{
Window 0
Size 356,96
Print 「×××」を
Print 無効にしました。
WindowOn 0
Set Flag[○],false
}
WindowOff
}
|
・サンプルスクリプト
複数の強化を行う場合
Flag[○]:「○○」に対応するフラグ
Flag[×]:「××」に対応するフラグ
Flag[△]:「△△」に対応するフラグ
Flag[□]:「□□」に対応するフラグ
//難易度選択
if(Turn==1 && StartTurn==0)
{
Window 0
Size 356,120
Print 「○○」 OFF
Print 「××」 OFF
Print 「△△」 OFF
Print 「□□」 OFF
WindowOn 0
Set b,YesNo(この設定で始めますか?)
if(b==0)
{
Start
Window 0
Size 356,96
Print 「○○」
Print CPU陣営が
Print ・・・
WindowOn 0
Set c,YesNo(「○○」を有効にしますか?)
if(c)
{
Set Flag[○],true
}
Window 0
Size 356,96
Print 「××」
Print CPU陣営が
Print ・・・
WindowOn 0
Set d,YesNo(「××」を有効にしますか?)
if(d)
{
Set Flag[×],true
}
Window 0
Size 356,96
Print 「△△」
Print CPU陣営が
Print ・・・
WindowOn 0
Set e,YesNo(「△△」を有効にしますか?)
if(e)
{
Set Flag[△],true
}
Window 0
Size 356,96
Print 「□□」
Print CPU陣営が
Print ・・・
WindowOn 0
Set f,YesNo(「□□」を有効にしますか?)
if(f)
{
Set Flag[□],true
}
Window 0
Size 356,120
if(Flag[○]==true)
{
Print 「○○」 ON
}
if(Flag[○]==false)
{
Print 「○○」 OFF
}
if(Flag[×]==true)
{
Print 「××」 ON
}
if(Flag[×]==false)
{
Print 「××」 OFF
}
if(Flag[△]==true)
{
Print 「△△」 ON
}
if(Flag[△]==false)
{
Print 「△△」 OFF
}
if(Flag[□]==true)
{
Print 「□□」 ON
}
if(Flag[□]==false)
{
Print 「□□」 OFF
}
WindowOn 0
Set f,YesNo(この設定で始めますか?)
if(f)==false
{
WindowOn 0
Clear
Print
Print 難易度を設定してください。
WindowOn 0
Set Flag[○],false
Set Flag[×],false
Set Flag[△],false
Set Flag[□],false
GoTo
}
}
}
|
|