Peripheral myMotor As MotorRunnerB @ 0 Peripheral myPS2 As GamepadPs @ 31 ' 接收機的電源請從Vcc供電,避免從Vin供電燒壞接收機及BC1 Dim speedtemp As Integer Dim turntemp As Integer Dim temp As Integer Dim temp1 As Integer Sub Main() Dim sX1, sY1 As Short Dim sX2, sY2 As Short Dim bDir, bSpdA, bSpdB As Byte Dim bTempSpd As Byte START: MyMotor.StopA() MyMotor.StopB() Do myPS2.GetLXYPos(sX1, sY1) myPS2.GetRXYPos(sX2, sY2) Debug CSRXY(1, 1), %DEC3R sX1, %DEC4R sY1 Debug CSRXY(1, 2), %DEC3R sX2, %DEC4R sY2 If sX1=0 And sY2=0 Then Goto START If sY2<0 Then bDir = 1 bSpdA = (0 - sY2) + 60 Else bDir = 0 bSpdA = sY2 + 60 End If bSpdB = bSpdA Debug CSRXY(1, 3), "Spd: ", %DEC3R bSpdA If sX1>0 Then If sY2=0 Then bSpdA = (0 - sX1) + 60 bSpdB = bSpdA myMotor.BackwardA(bSpdA) myMotor.ForwardB(bSpdB) Else bTempSpd = sX1 If bSpdA>bTempSpd Then bSpdA -= bTempSpd End If If bDir=0 Then myMotor.ForwardAB(bSpdA, bSpdB) Else myMotor.BackwardAB(bSpdA, bSpdB) End If End If Else If sY2=0 Then bSpdA = sX1 + 60 bSpdB = bSpdA myMotor.BackwardB(bSpdB) myMotor.ForwardA(bSpdA) Else bTempSpd = 0 - sX1 If bSpdB>bTempSpd Then bSpdB -= bTempSpd End If If bDir=0 Then myMotor.ForwardAB(bSpdA, bSpdB) Else myMotor.BackwardAB(bSpdA, bSpdB) End If End If End If Loop End Sub