定義した関数は全部で5つ。モーターをリセットする関数である。利用するために作った。mr.reset()ペンの上げ下げの関数である。pen_upはペンを上昇させ、pen_downはペンを下降させる。sleep(2)車体の向いている角度を変える関数である。動くスピードが速いと、止まるときにややずれるので、スピードは遅い100で設定した。sleep(3)車体を動かすメインの関数である。左右それぞれの回転角度とスピードを細かく操るために、やや面倒ではあるが、4つの変数を用いた。今回のコンセプトである曲線を描くのには4つの変数で表現する必要があった。曲線に限らず、単純な前進や後進もこの関数を使用する。sleep(3)なお、angleはforwardでも代用可能だが、プログラミングの際、角度だけを変えたい時に一回一回スピードまで入力するのは手間だったため、スピードを固定した関数を定義した。筆圧をかけるために最初のペン下降だけ少し角度を大きく設定し、ペンを紙に確実に設置させる。この角度の動きはここだけのため関数は定義しなかった。#二画目を書くための角度調整。#二画目を書くための位置調整。#更にもう一度角度調整。#先ほどに近い位置に戻ってくる。左右の回転角度、スピードを調節し、曲線を描いた。#二画目のうちの縦棒部分(大の文字の横棒の上に出ている部分)を描く。#縦棒と横棒の交点まで進む。曲線のため先程と同様に角度とスピードを調節した。#三画目を書く前の位置まで戻る。#車体を紙と並行にする。#垣の字を書くために紙の下部まで進む。#五画目を書くための角度調整。ために195前後の値でangleに設定してある部分もある。#垣の中の日の字の縦棒二本の間隔を70開ける。#直角よりやや多く曲げる。縦棒とほぼ平行になる。#五画目の書き始め位置まで移動。#六画目を書くための位置移動。#左にやや直角より多く曲げる。先程、210曲げたので同じ角度回転させて採算を取る。#六画目の書き始め位置まで移動。#六画目(横棒)を書く。#六画目と七画目の間隔を空けるために50進む。#先程と同様に200回転して採算を取る。#日の字の右にある縦棒の先端部分と交わるように書き始め位置を調節。#二本の縦棒の先端部分を横断するように進みながら七画目を書く。#七画目と八画目の間隔を80空ける。#80の長さで八画目を書く。#再び日の部分の横棒を書くために少し戻る。#同様に、200回転して縦棒と並行にする。#隣り合う横棒である七画目と九画目の間を70空ける。#200回転して採算を取る。#右の縦棒の上から九画目を書くために位置を調節する。#80の長さで九画目を書く。#再び縦棒と並行にする。#九画目と十画目の間隔を70空けるために進む。#同様に、採算を取り、回転する。#右の縦棒の上から十画目を書くために位置を調節する。#80の長さで進み、十画目を書く。#十画目と十一画目の間隔を80空ける。#80の長さで十一画目を書く。#日の下にある部分の横棒を書くために少し戻る。#十画目と十二画目の間隔を空けるために80進む。#同様に、採算を取る。#十二画目の書き始め位置の調節。垣の字を忠実に再現しようとすると、日の下にある横棒はやや長いので従来の80ではなく120進む。これは次の角度調整をした後の垣の土へん部分の横棒(八画目と十一画目)を横断する縦棒(十三画目)の書き始め位置を整えるためである。