好吧,所以我有一个骰子滚轮用于一个代码是一个可怕的无证怪物的网站,我正在帮助重建并提高效率。现在进入违规代码。它读入$this->willpower
和$this->reroll
以确定是否正在使用网站上的勾选框;但是,如果同时使用意志力和重新注册,则不会出现任何字符串[特殊]或[WP]。
public function __construct( $post_ )
{
$this->target = !is_numeric( $post_['target'] ) || $post_['target'] < 2 || $post_['target'] > $this->sides ? 6 : $post_['target'];
$this->number = $post_['number'] < 1 || $post_['number'] > 30 ? 2 : $post_['number'];
$this->willpower = isset( $post_['willpower'] ) ? true : false;
$this->reroll = isset( $post_['reroll'] ) ? true : false;
}
违规代码似乎是:
if( $dice_roll == 10 && $this->reroll){
$this->text[] = '[Specialty]';
}
if( $this->willpower ){
$this->text[] = '[WP]';
}
有人可以提供有关此错误发生原因的建议吗?
澄清:这个程序的最终输出是这样的 卷:12 d10 TN6(3,5,5,5,7,7,7,7,9,9,10,10)(成功x 10)[专业] VALID 要么 掷骰:12 d10 TN6(3,5,5,5,7,7,7,7,9,9,10,10)(成功x 10)[WP]有效 取决于通过用户输入检查的内容。但是,如果使用专业和WP,则[专业]或[WP]都不会显示在滚动结束时。
答案 0 :(得分:1)
我认为你需要
if( $dice_roll == 10 && $this->reroll) {
$this->text[] = '[Specialty]';
} else if( $this->willpower ) {
$this->text[] = '[WP]';
}
或
if( $this->willpower ) {
$this->text[] = '[WP]';
} else if( $dice_roll == 10 && $this->reroll) {
$this->text[] = '[Specialty]';
}
取决于您期望的结果 - [WP]
或[Specialty]