Next: 5.8 SensorView.java
Up: 5 examples/view サンプル
Previous: 5.6 PortView.java
import josx.platform.rcx.*;
public class MotorView extends PortView
{
static final int MAXSTATE = 3;
static final int MAXPOWER = 7;
public static final MotorView A =
new MotorView( Motor.A, 0);
public static final MotorView B =
new MotorView( Motor.B, 1);
public static final MotorView C =
new MotorView( Motor.C, 2);
final Motor motor;
int iState;
int iPower;
MotorView( Motor m, int n )
{
super( true, n);
motor = m;
iState = 0;
iPower = 7;
setState();
setPower();
}
void setPower()
{
motor.setPower(iPower);
}
void setState()
{
if (iState == 0)
motor.flt();
else if (iState == 1)
motor.forward();
else if (iState == 2)
motor.backward();
else if (iState == 3)
motor.stop();
}
public void showPort()
{
if (iState == 0)
{}
else if (iState == 1)
LCD.setSegment(
LCDSegment.motorForward( number));
else if (iState == 2)
LCD.setSegment(
LCDSegment.motorBackward( number));
else if (iState == 3){
LCD.setSegment(
LCDSegment.motorForward( number));
LCD.setSegment(
LCDSegment.motorBackward( number));
}
}
public void showValues()
{
LCDProgramNumber.set (iState);
LCDNumber.set (iPower, 0, true);
}
public void runPressed()
{
iState++;
if (iState > MAXSTATE)
iState = 0;
setState();
}
public void prgmPressed()
{
iPower++;
if (iPower > MAXPOWER)
iPower = 0;
setPower();
}
public void shutdown()
{
motor.stop();
}
}
generated through LaTeX2HTML. M.Inaba 平成18年5月6日