То, что мы имеем здесь, это неправильное использование и, возможно, также непреднамеренное использование устаревшего синтаксиса. Давайте посмотрим на эти две строки:
xCord = NormalRand(%FoundX%-10,%FoundX%+10)
yCord = NormalRand(%FoundY%-10,%FoundY%+10)
Вы фактически присваиваете текст этим переменным, а не вызываете функцию. Посмотрите это в качестве примера:
xCord = NormalRand(%FoundX%-10,%FoundX%+10)
yCord = NormalRand(%FoundY%-10,%FoundY%+10)
MsgBox, % xCord "`n" yCord
Для унаследованного синтаксиса вы правильно ссылаетесь на переменные FoundX и FoundY, заключая их в %
, но вы не делаете этого для имени функции.
Таким образом, в устаревшем синтаксисе вы должны сделать это:
xCord = %NormalRand%(%FoundX%-10,%FoundX%+10)
yCord = %NormalRand%(%FoundY%-10,%FoundY%+10)
Однако, пожалуйста, прекратите использовать устаревший синтаксис. Он настолько древний, плохой и сильно отличается от других языков программирования, с которыми вы, возможно, сталкивались.
Синтаксис выражений - это то, что вы хотите использовать, поэтому вместо устаревшего =
мы используем :=
, чтобы назначить выражение для наши переменные. (=
никогда не используется!)
В синтаксисе выражений ваши вызовы функций выглядят нормально и красиво:
xCord := NormalRand(FoundX-10, FoundX+10)
yCord := NormalRand(FoundY-10, FoundY+10)
И чтобы еще больше проповедовать о унаследованном синтаксисе, вы также используете его в Условный оператор. Чтобы не использовать устаревшее if-выражение, используйте if ()
.