Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
14 5 6 7 8 9 10 11 12 13 14 15 16 17
次のページ(過去)
返信[3]
親投稿
bigslope bigslope
実行結果。 計算結果の数字の桁がそれぞれ違うので、若干位置がバラバラになるが、大体こんな事が出来るという事で。
1そうだね
プレイ済み
返信[2]
親投稿
bigslope bigslope
3行目では、そのかけられる数×かける数を計算して表示しているが、ここでちょっとしたPRINT文のテクニックを。 PRINT文は、文字や計算結果を表示した後、通常はそこで改行(カーソルが一段下に下がり、その先頭行に移動)するが、最後に";"(セミコロン)を付けておくと、改行を行わずに、カーソルがその位置に留まってくれるのだ。 通常、セミコロンは、 PRINT "A=";A …みたいに、文字と変数をくっ付けて表示したいという時に使われるが、こうする事で、1の段みたいな段が変わらない限り、どんどん横にくっ付けて表示させる事が出来る。 ただし、そのまま横にくっ付けてしまうと、 123456789 …みたいに、どこで区切られるのか分からないので、スペースを1つ分空ける事で見やすくしている。 そして、1つの段が終わった時点で、5行目の何も表示しないPRINT文を置き、ここで改行させるという訳だ。
1そうだね
プレイ済み
返信[1]
親投稿
bigslope bigslope
考え方としては、まず1の段、1×1、1×2、…1×9というような感じで、1にかける数字を1から9まで9回分ループさせる。 それが終わったら、今度は2の段でも2×1、2×2…、それが終わったら、今度は3の段、4の段…と、9の段まで同じように繰り返す。 2行目~4行目のループで、変数Yに入っているのが『かける数』、1行目~6行目のループで、変数Xに入っているのが『かけられる数』(段の数)。 このように、繰り返したい処理をひとくくりにして、その繰り返したい処理の外側に、もう一つのループを作っていくのが、多重ループになる。 ただし、ループとループが交差したり(Yのループの中にNEXT Xが入ったりする状態)、ループの中にいきなりGOTO文で飛ばしたりしてしまうと、正常に動作しないので注意しよう。
0そうだね
プレイ済み
投稿
bigslope bigslope
『MZ-80シリーズBASIC解説』より。エリスという子が、FOR-NEXTの二重ループを使って、宿題のかけ算九九の計算表を作ってしまおうという例。いきなり巨大なゲームを作るよりも、日常生活の中で「あ、これBASICを使ったら簡単に出来そう」というような事を探してみるのも、プログラミング上達の1つの手だ。…しかし、九九を覚えるよりも先に、すらすらとこんなプログラムを書ける方がすごいと思うんだが。
9そうだね
プレイ済み
投稿
bigslope bigslope
今週の大ボケ。さっきまで変数のスコープの件で悩んでいて(解決済)、「やっぱ関数内での変数の再定義って出来ないのかな~、X68000のX-BASICだと出来たのにな~」なんて、当時の事を思い出しながらプログラムを書いていたら…、ナチュラルに行番号を入れてしまっていた。
8そうだね
プレイ済み
返信[2]
親投稿
bigslope bigslope
1秒間というのをどうやってカウントするか、というのもひとつの問題だと思います。 とりあえず『TIME$関数を使って、その秒数が変わるまで』のフレーム数をカウントしてみた所、60fps固定になりますね。 ここからスプライトとか表示すると、どれ位処理落ちするか…という感じでしょうか。 何かこのプログラム、実行しすぎたら、Out of memoryになって動かなくなった…。
0そうだね
プレイ済み
返信[5]
親投稿
bigslope bigslope
ボタンが複数押された時の為に、このような数値の返し方をしています。 例えば、上と左を同時に押すと、1+4=5が返ってきます。 これを2進数に分解すると、printfさんの説明の通りになります。
2そうだね
プレイ済み
返信[1]
親投稿
bigslope bigslope
複数解の判定というのが興味深いですね。 このパズルにはちょっとした問題点があって、例えば、5*5マスの問題で、縦1,1,1,1,1、横1,1,1,1,1となっている場合、 ■□□□□ □■□□□ □□■□□ □□□■□ □□□□■ または □□□□■ □□□■□ □□■□□ □■□□□ ■□□□□ の2種類の解答が発生してしまいます。 とあるイラストロジックのプログラムの場合、全部塗り終わった状態で『完成』ボタンを押してもらい、数字を全部チェックして、全ての行と列が数字通りになっていたならば正解とする(その為、実際の絵と異なる場合がある)という方法で切り抜けていたようです。
1そうだね
プレイ済み
返信[3]
親投稿
bigslope bigslope
おー行けた行けた、ありがとうございます。 メインルーチン先頭派(いるのか?)にとっては、ちと気持ち悪いような気もしますが…。
1そうだね
プレイ済み
投稿
bigslope bigslope
いわゆるスコープの話ですが、メインルーチンで定義された変数は、DEF命令で定義した関数内で、同じ名前の変数を再定義する事は出来ないんでしょうか?やっぱり変数の重複使用を避けるしか無いのかなあ…?
2そうだね
プレイ済み
返信[7]
親投稿
bigslope bigslope
数学だと、放物線はy=pow(x,2)の公式で表されますが、昔、実際にそれを使って(xは1ずつ増加)キャラクターをジャンプさせてみた所、 ・ジャンプし始めてから頂点にたどり着くまで(x<-1)のスピードが異様に速い ・頂点にたどり着いたあたり(-1<x<1)でほぼ空中停止する ・頂点から落ちて着地する(1<x)時のスピードが異様に速い …というような感じで、ジャンプとしては随分と不自然な動きになってしまった覚えがあります。 単純にこういう公式を使うだけじゃダメなんだなーって思ったものでした(未だによく分からなかったり)。
1そうだね
プレイ済み
返信[1]
親投稿
bigslope bigslope
そう言えば、ファミコン版のグラディウスで、『オプションがいくらでも付けられる』というウソテク(実在しないニセの裏技)があったのですが、小学生の頃は、本当にある裏技だと信じ込み、出来るまで何度もその技を試したものでした。 今となっては、オプションが2つしか付かないのは、スプライトが全然足りないからという事情を理解していますが、それに比べれば、あの頃の自分は純粋だったんだなあ…と。
1そうだね
プレイ済み
返信[10]
親投稿
bigslope bigslope
つばささん> 勘と言うか、経験則みたいなものは結構ありますね。例えば、 IF A==0 AND B==0 THEN (処理) ENDIF みたいな処理で、この条件ではなく、『この条件以外の時』に処理を行いたい、って変更するにはどうすれば良いか、とか。 これ、自分は小学校の頃に何となく覚えてた気がするのですが、本来は高校で習うものだと知って、驚いた覚えがあります。
0そうだね
プレイ済み
返信[6]
親投稿
bigslope bigslope
100人でぐーるぐる…どっひゃー! …こういう脇道にそれるのもまた楽し。
1そうだね
プレイ済み
返信[5]
親投稿
bigslope bigslope
12人でぐーるぐる…ファンタジーゾーンの2面のボスみたい。
1そうだね
プレイ済み
返信[4]
親投稿
bigslope bigslope
5人でぐーるぐる…目眩が。
0そうだね
プレイ済み
返信[3]
親投稿
bigslope bigslope
とりあえず、みんなでぐるぐるしてみるプログラム。 最初に人数を入力して下さい。
1そうだね
プレイ済み
返信[6]
親投稿
bigslope bigslope
会員登録が出来る環境(メールアドレス)と端末(Windows PC、iPhone/iPad、Android)があればOKなのですが、3DS単体じゃ無理なのがね…。 むしろプチコン3号入門書を待つ方が良いのか…。
0そうだね
プレイ済み
返信[4]
親投稿
bigslope bigslope
当初はPDFで公開されていたのですが、現在はGALAPAGOS STOREのみとなっているようです。 ただし、こちらはPDF版よりも高解像度で取り込まれています。
0そうだね
プレイ済み
返信[2]
親投稿
bigslope bigslope
なお、SMILEBASICとは一部文法が違う所があるので、そのまま打ち込むとエラーになるケースがある。 (BASIC SP-5030→SMILEBASICの変更点の例) ・当時の一般的なBASICには行番号があるのに対し、SMILEBASICは行番号が無いので、行番号へのGOTO文をラベルに変更する 10 PRINT "ABC" '命令の先頭にある数字が行番号 20 GOTO 10 '行番号10へ飛ぶ ↓ @10 PRINT "ABC" GOTO @10 ・イコールでの比較方法の違い IF A=0 THEN PRINT "Aは0です" →IF A==0 THEN PRINT "Aは0です" ・命令の違い CURSOR 0,0→LOCATE 0,0 …等。当時のパソコンにも、細かい命令の違い(解像度やスペックの違いによる)があり、プログラムの移植方法とかが話題になっていた。
0そうだね
プレイ済み