// RandomWalk // Paul Badger 2007 #define randomWalkLowRange -20 #define randomWalkHighRange 20 int stepsize; int thisTime; int total; void setup() { Serial.begin(9600); } void loop() { stepsize = 5; thisTime = randomWalk(stepsize); Serial.println(thisTime); delay(10); } int randomWalk(int moveSize) { static int place; // 現在位置(staticなので値が持続する) place = place + (random(-moveSize, moveSize + 1)); if (place < randomWalkLowRange) { place = place + (randomWalkLowRange - place); } else if(place > randomWalkHighRange) { place = place - (place - randomWalkHighRange); } return place; } [目次へ戻る] |
Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください
[ドキュメント一覧]