diff --git a/Examples/BB2B/BB2B.cs b/Examples/BB2B/BB2B.cs new file mode 100644 index 0000000..9429ddc --- /dev/null +++ b/Examples/BB2B/BB2B.cs @@ -0,0 +1,31 @@ +using System.Threading; +using RoboidControl; + +class BB2B { + static void Main() { + // The robot's propulsion is a differential drive + DifferentialDrive bb2b = new(); + // Is has a touch sensor at the front left of the roboid + TouchSensor touchLeft = new(bb2b); + // and other one on the right + TouchSensor touchRight = new(bb2b); + + // Do forever: + while (true) { + // The left wheel turns forward when nothing is touched on the right side + // and turn backward when the roboid hits something on the right + float leftWheelSpeed = touchRight.touchedSomething ? -600.0f : 600.0f; + // The right wheel does the same, but instead is controlled by + // touches on the left side + float rightWheelSpeed = touchLeft.touchedSomething ? -600.0f : 600.0f; + // When both sides are touching something, both wheels will turn backward + // and the roboid will move backwards + bb2b.SetWheelVelocity(leftWheelSpeed, rightWheelSpeed); + + // Update the roboid state + bb2b.Update(true); + // and sleep for 100ms + Thread.Sleep(100); + } + } +} \ No newline at end of file diff --git a/README.md b/README.md index a094cee..de163e8 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,6 @@ Includes support for the Unity game engine. # Basic components -- Passer::RoboidControl::Thing -- Passer::RoboidControl::Participant -- Passer::RoboidControl::SiteServer \ No newline at end of file +- RoboidControl::Thing +- RoboidControl::LocalParticipant +- RoboidControl::SiteServer \ No newline at end of file