a23_useSelfMade #6
2023.02.21 Tue #1
- 今日はちょっと忙しいので、ここに書けるほどの成果はなさそうです。
- 昨日からずっと考えているのは、HL-9の改造で、(1)変数一覧とか出したいなあ、(2)型の一覧も出したいなあ、(3)メモリ上にあってまだ開放していないオブジェクトの一覧も出したいなあ、の3点です。・・・まあまずは(1)からかなあ。これは簡単なので。
2023.02.22 Wed #1
- 最近は、easy-Cの有用性は理解されている気がするんだけど、このプロジェクトの主張であるところの「自分で作って自分で使う」はあまり理解されていない気がします・・・。
2023.02.22 Wed #2
- 「たしざんかあど」からランダムに10問を出題して計算練習。
n = 0;
for (i = 1; i <= 10; i++) {
for (;;) {
j = aRnd(9) + 1;
k = aRnd(9) + 1;
if (j + k >= 11) break; // 繰り上がりの練習なので、11以上になるもののみ出題.
}
printf("[%02d] %d+%d=", i, j, k);
m = aInput("");
if (m == j + k) { n++; prs "O\n\n"; } else { prs "X\n\n"; }
}
printf("score=%d/100\n", n * 10);
HL9>run tashi.c
[01] 7+9=16
O
[02] 9+5=14
O
[03] 7+6=15
X
[04] 8+9=17
O
[05] 6+9=
- 小学1年生の宿題をこれでやらせたら、大人側の支援がすごく楽になりました!!
- ちなみに繰り下がりのある引き算版も作りました(似たようなものなので書きませんが)。
2023.02.23 Thr #1
- なんかいろいろアイデアが出てきました。
- [1]コンソールを複数出してマルチタスクみたいなことがしたい。
- [2] a[0-99]=0; みたいな書き方ができるようにしたい。
- [3] {i,j,k} = aRnd(9) + 1; みたいな書き方ができるようになりたい。
2023.02.23 Thr #2
- 昨日のtashi.cですが、小学1年生にやらせていると、たまに連続して同じ問題が出ます。小学1年生がそのたびにプログラムを「ばかだなあ」っていうのでちょっとくやしいです。
- だから改造します。・・・できました、これなら同じ問題は出ません。
int a[100];
for (i = 0; i < 100; i++) { a[i] = 0; }
for (j = 1; j <= 9; j++) {
for (k = 1; k <= 9; k++) {
if (j + k >= 11) { a[j * 10 + k] = 1; } // 繰り上がりの練習なので、11以上になるもののみ出題.
}
}
n = 0;
for (i = 1; i <= 10; i++) {
m = aArgMaxRndInt(a, 0, 100);
j = m / 10; k = m % 10;
a[m] = 0;
printf("[%02d] %d+%d=", i, j, k);
m = aInput("");
if (m == j + k) { n++; prs "O\n\n"; } else { prs "X\n\n"; }
}
printf("score=%d/100\n", n * 10);
2023.02.24 Fri #1
- 「キャラクターを右に動かす」「もしもキャラクターの移動先が岩だったら」みたいに、変数は明示しないけど裏ではキャラクターの座標やどこに何を表示しているかの情報を持っておく方式を、ここではひとまず「隠れ変数方式」と呼ぶことにします。明示的な変数じゃないものを変数の代わりにうまく使っている感じで。
- この隠れ変数方式を極めれば、easy-Cの「変数を使わなくてもできること」はかなり増やせそうです。
- この話をしたら、それはScratchがやっていることに近いのではないかと指摘されました。私もそう思います。Scratchって変数を使わなくてもまあまあ遊べる気がするのですが、それはまさに隠れ変数方式を極めているかなと思うのです。
2023.02.26 Sun #1
2023.02.27 Mon #1
2023.02.28 Tue #1
- なんか自前のスタートアップルーチンを使うと、ダウンロード時にマルウェア判定を受けてしまう・・・。もちろん何も悪いことはしてないのに・・・。じゃあ、gccの標準のスタートアップルーチンで我慢するか・・・。
2023.02.28 Tue #2
2023.03.01 Wed #1
- a23_ec001を更新して、最新版をダウンロードできるようにしました。
- ああしまった、あせって invader.c と blocks.c を入れ忘れたー。・・・まあいいかー。
こめんと欄