nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 16 Apr 2024 10:49



This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 
[RW1] ERROR 29: Bad IF construction 
Author Message
Junior

Joined: 17 Dec 2004 12:55
Posts: 3
Я новичок в RW. Пишу своего первого робота и вот столкнулся с такой проблемой -

допустим, есть такой код
Code:
 ACT front
 IF (N==@t_robot); call shoot_fr
 ELSE ....


Жму компиляцию. Получаю сообщение вида:
"ERROR 29: Bad IF construction [0]"

Что я неправильно сделал и как правильно?


17 Dec 2004 12:59
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22519
Location: Silicon Valley
Bormotoon wrote:
Я новичок в RW. Пишу своего первого робота и вот столкнулся с такой проблемой -

допустим, есть такой код
Code:
 ACT front
 IF (N==@t_robot); call shoot_fr
 ELSE ....


Жму компиляцию. Получаю сообщение вида:
"ERROR 29: Bad IF construction [0]"

Что я неправильно сделал и как правильно?


; не надо было писать, т.е. надо так:

Code:
 ACT front
 IF (N==@t_robot) call shoot_fr
 ELSE ....


или

Code:
 ACT front
 IF (N==@t_robot)
 {
     call shoot_fr
 }
 ELSE ....

_________________
:dj: https://mastodon.social/@Shaos


17 Dec 2004 15:05
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22519
Location: Silicon Valley
Post 
Сменил тему топика, чтобы снаружи было понятно о чем речь идет

_________________
:dj: https://mastodon.social/@Shaos


17 Dec 2004 15:40
Profile WWW
Junior

Joined: 17 Dec 2004 12:55
Posts: 3
Post 
Ээээммм... Переделал. Получилось так:

Code:
 ACT front
 IF (N==@t_robot) call shoot_robot_front
 ELSE
     {
      IF (N==@t_box||4>=D>1) step
      ELSE . . . . . .


Но все равно выскакивает та же ошибка. Я не понимаю - что такое?
Да, кстати, запустил робота, который был "в комплекте" - nsimple.rw1. Он же, вроде, должен работать. Но там та же ошибка выскакивает тоже на IF. Почему так? Может, из-за системы? У меня WinXP.


18 Dec 2004 08:28
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22519
Location: Silicon Valley
Post 
Bormotoon wrote:
Ээээммм... Переделал. Получилось так:

Code:
 ACT front
 IF (N==@t_robot) call shoot_robot_front
 ELSE
     {
      IF (N==@t_box||4>=D>1) step
      ELSE . . . . . .


Но все равно выскакивает та же ошибка. Я не понимаю - что такое?
Да, кстати, запустил робота, который был "в комплекте" - nsimple.rw1. Он же, вроде, должен работать. Но там та же ошибка выскакивает тоже на IF. Почему так? Может, из-за системы? У меня WinXP.


Установил у себя RW1 и скомпилировал nsimple - все ок. А в вышеприведенной записи не правильна строчка:

IF (N==@t_box||4>=D>1) step

вместо 4>=D>1 надо бы написать (4>=D&&D>1) или (D<=4&&D>1)
т.е. полное условие должно выглядеть так:

IF (N==@t_box||(D<=4&&D>1)) step

если будут проблемы опять, то мне надо бы полный текст робота, чтобы я его у себя проанализировал (можно мылом)

_________________
:dj: https://mastodon.social/@Shaos


18 Dec 2004 08:37
Profile WWW
Junior

Joined: 17 Dec 2004 12:55
Posts: 3
Post 
Отправил Вам код робота по почте.


18 Dec 2004 08:45
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22519
Location: Silicon Valley
Post 
Bormotoon wrote:
Отправил Вам код робота по почте.


Основная проблема была в том, что после IF нельзя делать пробел
Вторая проблема - { и } должны быть на отдельных строках
(это решаемо в новой версии компилятора, но пока вот так).

_________________
:dj: https://mastodon.social/@Shaos


18 Dec 2004 09:06
Profile WWW
Display posts from previous:  Sort by  
This topic is locked, you cannot edit posts or make further replies.   [ 7 posts ] 

Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.