|
In lugnet.robotics, John Hansen wrote:
|
In lugnet.robotics, Steve Hassenplug wrote:
|
Dean touched on another good reason. Its much easier to judge GUI programs
(Robolab & RIS) than text-based languages. In some cases, the judges are
NOT programmers, or engineers, they are volunteers, who may have been
trained earlier that day.
|
First off, judging the technical merit of a program of any significant degree
of complexity by simply looking at the code (be it text-based or graphical)
for 20 minutes or less is nonsense. The only judging of that sort that ought
to occur should be based on the teams presentation of the program logic to
the judge in conjunction with a review of the code led by the team members.
|
Complete agreement. But it is unfortunately not the case.
|
It is *far* easier to look at a text-based program, however, and make sense
of what it means and whether it is technically excellent than it is to look
at a connected series of tiny icons with cryptic numbers and symbols next to
them (or embedded within them). A volunteer judge would have to know what
each image represented and what its semantics are before they could make any
sense of a graphical program.
|
Actually, they would only need to move the curser over any symbols they were
unfamiliar with. The contextual help will spell it out for them.
|
This, for example,
vs
// make our press count global so we can access it from BricxCC
int PressCount;
task beeper()
{
// beep forever
while (true)
{
PlayTone(440, 50);
Wait(100);
}
}
task main()
{
// configure our sensor as a touch sensor
SetSensor(SENSOR_1,SENSOR_TOUCH);
// start our beeper task
start beeper;
// check for 6 touch sensor presses
while (PressCount <= 6)
{
// a press == pressed then not pressed
until(SENSOR_1);
until(!SENSOR_1);
// increment our press count
PressCount++;
}
// now stop beeping
stop beeper;
}
or (as an interesting alternative):
// make our press count global
int PressCount;
#define PressEvent 1 // define a meaningful name for event #1
task PressWatcher()
{
while (true)
{
// wait for a press event to occur
monitor (EVENT_MASK(PressEvent))
{
Wait(100);
}
catch
{
// increment our press count when it does
PressCount++;
}
}
}
task main()
{
// initialize our press count to zero
PressCount = 0;
// configure our sensor as a touch sensor
SetSensor(SENSOR_1,SENSOR_TOUCH);
// configure the press event
SetEvent(PressEvent, SENSOR_1, EVENT_TYPE_PRESSED);
// start our watcher task
start PressWatcher;
// beep until 6 press events have occurred
while (PressCount <= 6)
{
PlayTone(440, 50);
Wait(100);
}
}
A brief glance at either of the two text programs makes it clear (with or
without comments) that the goal is to make the RCX beep continually until the
touch sensor on port 1 is pressed 6 times.
Without additional information can anyone here tell in 10 seconds what the
Robolab program does? I highly doubt it.
|
Actually yes. And it is not equivalent to your programs. This is:
The CEEO example you cite is much more complex. It loops, playing 1 tone while
the touch sensor is released, and a 2nd tone while the touch sensor is pressed.
Once the 2nd tone has played 6 times, a final third tone plays. Note that it
has nothing to do w/the number of times the sensor is clicked.
What many in this thread dont seem to appreciate is that what may be
immediately obvious to a NQC/Robolab/RIS programmer is not readily apparent
someone who is not. If NQC is added to FLL, judges who are proficient in 3
languages will be necessary and they will be difficult to find.
Cheers,
Tom
|
|
Message has 2 Replies: | | Re: FLL not allowing NQC; Mindscript is allowed
|
| (...) Just to clarify, your sample program is not really equivalent to the two NQC programs I posted. In my two samples I used two tasks and a global variable. Your sample would need to use a container and a task split to truly be equivalent. (...) (...) (20 years ago, 14-Mar-05, to lugnet.robotics, FTX)
|
Message is in Reply To:
| | Re: FLL not allowing NQC; Mindscript is allowed
|
| (...) First off, judging the technical merit of a program of any significant degree of complexity by simply looking at the code (be it text-based or graphical) for 20 minutes or less is nonsense. The only judging of that sort that ought to occur (...) (20 years ago, 9-Mar-05, to lugnet.robotics, FTX)
|
114 Messages in This Thread: (Inline display suppressed due to large size. Click Dots below to view.)
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
Active threads in Robotics
|
|
|
|