■
今日から日記を始める。
今日は、プログラミング論の授業と発表だった。
発表はすごく緊張した。
たくさんの人に対して話すというのは苦手だ。
一対一だったら、平気なんだけれど。
自分のほか2人の面倒も見ているから、発表までの2週間は心配でたまらなかった。
自分を含めて3人、無事発表が終わって何より。
課題の内容は、ロボットが障害物を認識して避けながらがらゴールまで行き、
帰ってくるというもの。
最初は障害物がどこにあるか分からないという条件だったが、
障害物の座標が分かってよいという条件に緩和された。
でもそれって、種の分かっている手品みたいなものじゃないのか?
しかし、今の授業のスピードで何人課題を完成させることが出来るだろうか?
興味津々。
この課題を通して分かったことだがC#は遅いな。
getpixel、setpixelで画像の情報を取得していたが遅すぎてやめた。
unsafeでメモリの内容をいじったがそれでも遅い。
しゃーないからCで書いた。課題はC#で発表しなきゃいけないんだけど。
________________________________________________________________________________
for (;;){ /*ループ*/ for (sy = 0; sy <= 190; sy += 10){ /*y軸190ドットまで*/ for (sx = 0; sx <= 310; sx += 10){ /*x軸320ドットまで*/ if (0 == color_research(hardinfo->vram, DARKBLUE, sx, sy)){ /*もし進める色なら*/ draw_square(hardinfo->vram, LIGHTYELLOW, sx, sy); /*調べた所にロボットを timer(); 進める(黄で描画する) */ draw_square(hardinfo->vram, LIGHTRED, sx, sy); /*自分の居る所を赤で塗る*/ } else { /*そうでなければ(進める色でなければ)*/ sx += 20; /*x軸方向に20ドットずらす(障害物をよける)*/ } } } } int color_research(unsigned char *vram, unsigned char color, int startx, int starty) { char colortype; int x, y; for (y = starty; y <= starty+9; y++){ for (x = startx; x <= startx+9; x++){ colortype = vram[ y * 320+ x ]; if(color != colortype) return -1; } } return 0; } void timer() { int time; for (time = 0; time <= 50000; time++){ cpu_nop(); } return; }
ださいコードだ・・・
プログラミングがんばろう。
明日、休みだし・・・