投稿
ASA fusuian
プチコン初めての人のための、短くて命令数が少ないトコトコプログラム。インベーダーが左から右に動きます。打ち込んでみてください!
7そうだね
プレイ済み
返信[1]
親投稿
Sきち 4405chan
あれ、ASAさんってGOTOループ派だったんですね。僕はWHILEループ派です。
1そうだね
プレイ済み
返信[2]
親投稿
おにぎり EasyPuzzler65
どっ、どっ、どっ、どっ、...インベーダーっぽい!
0そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
WHILEよりもGOTOの方が初心者にとってのハードルが低いため私も自サイトのプチコン3号入門講座ではGOTOによるループを多用しています。 「キャラを動かす」というのはキャラを消して新しい場所にキャラを描くというのが分かる良いサンプルプログラムだと思います。
0そうだね
プレイ済み
返信[4]
親投稿
ゆうたん yu-tan-sama
GOTOを使うにはまずラベルの概念をたたき込む必要があるし 丸写しと質問ばっかしてる人を見るとちょっと心配 あと、その例だとLOCATEで落ちそう FOR文にして端っこまでいったら正常終了の方がいいかも?
1そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
これはIF文による条件判断を行えばエラーを回避できるという次のステップに進むためのプログラムだと思います。 このプログラムのさらに前のステップとしては2~3行のキャラ消去や10行のVSYNC 6がない状態を提示するというのが考えられます。 最初から完全なものを提示するよりは何か足りないものを提示した方が学習効果は高くなります。
2そうだね
プレイ済み
返信[6]
親投稿
ASA fusuian
おちゃめさんに全部言い尽くされた! つまり、このプログラムはスライムなのです。スライムを倒してレベルアップすると、FORとかWHILEとかREPEATとかレベルの高い命令が現れるのです(笑)
1そうだね
プレイ済み
返信[7]
親投稿
おちゃめ ochame_nako
このプログラムが初心者向けの講座の一部であるか、サンプルとはいえ完成された作品であるかでどのようにするかが変わってくるでしょうね。 後者ならばエラーの出ない(正常に動作する)状態で公開すべきですが、前者ならば(その後の解説ありを前提として)エラーが出る(正常に動作しない)ことはむしろプラスになります。
0そうだね
プレイ済み
返信[8]
親投稿
けい kei0baisoku
ありがちなエラーをわざと残すというのは教材としていいですね(^O^) その発想はなかったです。 WHILEやFORって、プログラム慣れた人には単純な一命令に見えてると思いますが、本当に一命令のGOTOと違って、命令ではなくよく組むパターンを抽象化した構文なので、プログラム一歩目で出会うとかなりハードルが高いのではと、初心者の方たちをみて感じてます。 ドンだーが「ドドカ」や「ドドカドド」が一音符に見えて勝手に手が動くのと同じようなものだと思ってますが、この例えだと一部の人にしか伝わらぬ(・ω・)
0そうだね
プレイ済み
返信[9]
親投稿
ASA fusuian
初心者さんがエラーが出ます、って食いついて来たところから続きを始めるシナリオなのに、ガチ上級者ばかり釣れるから初心者さんがちっとも寄って来ないんですよ(笑)
0そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
私のサイトのプチコン講座でも最初は初心者にありがちなエラーをわざと残しておくことでその後の展開をスムーズに行うのは常套手段として使っているのでASAさんの意図はすぐにわかりましたが、そういう講座などを書いた経験がない人にはなかなかその意図が伝わらないというのがこの皆さんのレスでよく分かりました。 プログラミングに限らず、「うまく行かない→うまく行くためにはどのようにすればよいのか?」というのは教育の現場でもよく使われている手法です。
0そうだね
プレイ済み
返信[11]
親投稿
けい kei0baisoku
>ASAさん よくわかります。すいません(^^; 興味深かったものでつい。
0そうだね
プレイ済み
返信[12]
親投稿
おちゃめ ochame_nako
けいさんへ 確かにFOR~NEXTってすごく奥が深いですからね。 FOR I=A TO B NEXT というFOR~NEXTがあるときAやBの値によってどのような動作をするのかを完全に説明するのは中級者でも難しいと思います。 WHILEも論理式についての理解がないと厳しいですね。
1そうだね
プレイ済み
返信[13]
親投稿
Godot orz_127
すみません そういう意図だったんですね^^; 前のコメント消しておきます m(__)m
0そうだね
プレイ済み
返信[14]
親投稿
Sきち 4405chan
@は基礎ですもんね。
0そうだね
プレイ済み