BASICで始めるプログラム
■ このスレッドは過去ログ倉庫に格納されています
昔ながらのBASICでプログラムを始めてみませんか。 基本的にこのスレを見るだけで話が完結するようにする予定です。 初心者スレは乱立しておりますが、ここはあくまでBASICオンリーで 話を進めて行きます。 とりあえず最初にBASICのツールを準備しましょう。 ツール 99BASIC http://www.sagami.ne.jp/tadaka/99Basic/ N88互換BASIC for Windows95 ttp://www.vector.co.jp/soft/win95/prog/se055956.html 参考リンク はじめてのプログラミング講座 ttp://www.light-staff.com/prg/prg.html 関連スレ 【初心者歓迎】スレを立てる前にココで質問を【Part6】 http://pc5.2ch.net/test/read.cgi/gamedev/1094627404/ 【N88?】 99BASIC 【MSX?】 http://pc5.2ch.net/test/read.cgi/tech/1099847305/ N88-BASICの神業 http://pc5.2ch.net/test/read.cgi/gamedev/1007371918/ ズブの初心者がゲーム作れるまで勉強するスレ http://pc5.2ch.net/test/read.cgi/gamedev/1005132370/l50 今日から必死で〜 http://pc5.2ch.net/test/read.cgi/gamedev/1064146178/l50 【目標ない奴】おまいらに課題を与える。【集まれ】 http://pc5.2ch.net/test/read.cgi/gamedev/1026148930/l50 いやー、せっかくこういうスレが立ったから、Mファンの1画面プログラム みたいなのを組んで晒してみたいなと思い立っただけなので。 (そしてハードを突っつくのにちょっと興味があったから) ちなみにそれ系スクリプトは、以前にYGSを愛用していましたよ。 次に、代入って奴をやってみましょう。 中学生になって、算数が数学と名前を変えた時に この辺ですっころんだ人も多いかと思います。 まー、僕がそうなんですけどぅー。 だいたい代とか名前につくのが良くないですね。 田代まさ(略)とか代々木アニメー(略)とか ・・・それはともかく やって見ましょう! a=1 と入れます OK これでaと言う箱の中に1と言う数字が入った事になります。 いきなり箱とか言われても「はぁ?」と思う方もいるかと思いますので、説明しましょう。 同じ内容を let a=1 と書く事ができまして、 let と言うのは貸家と言う意味だそうで(エキサイト翻訳でもそう言ってたしー) なんと言いますか、コンちゃんの頭の中はだだっ広い荒野で、 そこに家畜である所の1くんを放牧しても、 どこにいるのかわからなくなっちゃうのです。 なので、1くんを監禁というか、ぶちこんでおく檻、っていうか家が必要なのです。 永住させる訳でもないので、貸家を用意して、そこに1くんを入れておきましょう。 他にも家畜をぶちこんでおく家が欲しかったりもするので、 貸家には名前をつけておきます。 ここではaと言う名前の家に入れて置きましょう。 「貸家 aに1くんをぶちこんでおくよ。」 と言う意味なのです。 今は貸家と説明しましたが、要するに物を入れると言う イメージさえつかめれば貸家でも箱でも山崎ハコでも どのようにイメージされてもかまいません。 要するにイメージが掴めりゃあ良いんですから。 で、aの中に1くんを入れた所で、次に b=2 と入れましょう。 あれ?「let」が無くなってますね。 実はこのletは書かないでも全然かまいません。 一々「貸家 let」なんて書いておくのは面倒ですね。 人間だって一々要らない物を書くのは面倒ですし、さらには実はコンちゃんまでも面倒がってしまいますので、 むしろ書かない方が良いです。 これで、aの中には1が、bの中には2が入った事になります。 これを代入と言います。 で、代入した所で、次は計算式も作ってみましょう。 c=a+b と書きます。 なんで a+b=cと書いちゃ駄目なのかと言うと、そう言う文法上のルールがあるから、って感じですかね。 文法のルールや細かい部分を間違えると意味を取り違えてしまったり、 プログラムそのものが動かなくなってしまう事があります。 これは日本語でも同じですね。 「僕は昨日女性の姿を描きました」が 「僕は昨日女性の姿でカキました」となったら 意味が違ってしまいます。 気を付けましょう。 で、c の中身はa+bになった事になりますので、 print c と入れると 計算結果の 3 OK が表示される事になります。 今日はこの辺でおしまいです。 明日はやるかどうか微妙ですが、次回は 行とかgotoとかをやる予定です。 まあ好みですからー。 冗長なのが嫌なら、そうでない講義をお願いします。 暇なのでこんなのを書いて見た。 文句を言う人はこれででも遊んでて下ちい。 10 input "クマー!が現れた!どうする?(1:戦う 2:逃げる) ";a 20 if a=1 then color2:print "ヌッ殺されますた":goto 50 30 if a=2 then print"しかし回り込まれてしまった!":goto 10 40 print "選びなおしてね":goto 10 50 print "ゲームオーバー:color 7:end 今日の講師 1 (ID:IOCnedLT) 今日の生徒 … 0名 >だいたい代とか名前につくのが良くないですね。 >田代まさ(略)とか代々木アニメー(略)とか 冗長でもなんでもいいけどさ、こういう事とか、あまりにも寒いギャグとかは止めようぜ。 好きで書いていることかもしれんけど、荒らされる原因にもなりかねないからね。 個人的には応援しようと思うスレなので、面倒になって逃げ出さない事を祈っとくよ。 文句だけ書くのもなんだから、QBASICだけど、ここまでできるってHPを紹介しとく。 ttp://www.yamagame.com/ すまん、いつのまにかsageのチェックボタン外れてた・・・・・・。 吊って来る。 今日は行番号とgoto命令文をやります。 「ぬるぽ」 「ガッ」 と書きたいとして、 print "ぬるぽ""ガッ" と書いてみます。 ぬるぽガッ と続けて表示されてしまいました。 改行されないでそのまま続けて表示されてしまいました。 微妙に考えていた事とは違うようです。 そこで以下のように書きなおしてみます。 10 print "ぬるぽ" 20 print "ガッ" さて、ここでエンターキーを押せば、今まででしたらすぐにプログラムが実行されてしまいましたが、 今回の場合エンターキーをどれほど押しても、ひたすら改行されるだけになってしまいます。 どうやってプログラムの実行をすれば良いのかと言うと、 run と入れて見てください。 ぬるぽ ガッ と実行されたはずです。よくプログラムを走らせる、などと言うのはこのrunから来てるんですね。 左側に10とか20とか数字が入ってますね。 これが行番号と言うもので、プログラムは基本的にこの数字の順番に実行されて行きます。 数が1,2,,,,と細かく区切らないのは、後で追加する項目が出ても安心なようにです。 これで多い日も安心ですね! 次に 10 print "ぬるぽ" 20 print "ガッ" 30 goto 10 と、入れてみる前に!注意点があります。 このプログラムはいわゆる”無限ループ”と言うものになっております。 実行してると、ひたすら ぬるぽ ガッ ぬるぽ ガッ ぬるぽ ガッ と繰り返し続けるようになっています。 これはプログラムの流れが 10行目 ぬるぽ と書くよ 20行目 ガッ と書くよ 30行目 10行目に 行ってね と言う流れになってて、いつまで経ってもこの流れから抜け出す事ができないからです。 仕方がないので慌てず騒がず、ctrl + c を押してプログラムを終了させましょう (ブレイクって言います、プログラムの流れの中で組んだりもします) 今日はおしまいです。明日は何をしましょうね。 >>58 それは単にあなたが止めさせたいだけの話のようなので、寒かろうがなんだろうが却下します。 まぁ、プログラムに触った事がない人の為に、と思って、色々と概念を説明するとなると、 どうしても文章が長くなってしまう物だと思いますが、 段々とそう言った話はしないように(って言うかできないように)なって行くと思うので心配しないように。 そもそも、こんな過疎板で荒らしをするのは暇人の私怨程度の物なので恐れるに足りませんな。 それと何度も言ってますが、文句を言うなら、文句の出ないような文章で、あなたが講義して下さい。 文句を言うだけじゃつまらないでしょう。 あなたが講義をすれば、とても素晴らしいものになるんでしょうから、僕も冗長な文章で講義なんてしないで済みますし。 是非お願いしますね。 >>60 誰がどう考えてもプログラム初心者向けの講義をして下さい。頼みましたよ。 今日はこんな感じの事をやりましょう。 モナー1が現れた! モナー2が現れた! (中略) モナー10が現れた! と書く方法です。 実は、これまでの講義の内容で、既にやろうと思えばできるようになっています。 10 print "モナー1が現れた!" 20 print "モナー2が現れた!" 30 print "モナー3が現れた!" と言う風に書けば良いのですから。 だけど一々全部書いて行くのは面倒ですね。 そこで、for 〜 next と言う命令文を使います。 以下の文章を書いてみて下さい。 10 fot i=0 to 10 20 print "モナーが現れた!" 30 next i モナーが現れた! モナーが現れた! モナーが現れた! と表示されたはずです。 数を数えてみましょう。 1,2,3・・・ あれ?11匹のモナーがいる事になりますね。 表示したいのは10匹です。 これは「for の後の i=0が出発点となって順番にゴールが10で、その数字になるまで繰り返せ。」 と言う命令文でして、0,1,2,3,と続けている訳ですから、 1から10ではなくて、0から10の数だけ繰り返しをしているので、 11の数がある事になります。 出発点かゴールの数を変えれば良い訳です。今回はゴールの数を変えますね。 10 for i=0 to 9 20 print "モナーが現れた!" 30 next i これで、ちょうど10匹になりました。 そうそう、next i ってのはfor とセットになっている物なので、あまり気にしないで良いです。 だけど無いとエラーになっちゃいますので、付けておきましょう。 次にモナーに番号を振りましょう。 番号を連続で表示させる方法として、 10 for i=0 to 9 20 a=a+1 30 print a 40 next i と書きます。 これで1から10までの数字が表示される事になりました。 a=a+1と言うのは、aと言う小屋の中に、1を足すぞ。と言う表示です。 イコールだからと言って同じ数字と言うわけではなく、代入していくんだぞ、と言う事なんです。 aに1を足す、1になる→繰り返し1を足す、2になる→繰り返し1を足す、3になる→10になるまで繰り返す で、その結果を30行目で表示させる。 と言う命令文になっております。 この二つの文字を10回表示させる命令文と数字を順番に10回表示させる命令文を合体させれば、 考えていたような結果が得られそうですね。合体してみると以下のようになります。 10 for i=0 to 9 20 a=a+1 30 print"モナー"a"が現れた!" 40 next i 30行目のprint の中身が少しわかりづらいですかね? "(チョンチョン)で囲まれた所は文字を表示する部分で、aは計算の結果を表示している訳ですね。 "ここから文字を表示する、ここまで→"aは計算の結果"ここから文字を表示する、ここまで→" と言う感じになっております。自分で色々試してみて、理解を深めてくださいね。 今日はこの辺で。 10 for i=0 to 9 20 print "モナー",i+1,"が現れた!" 30 next i の方がスッキリ …それはそうと printって型が変わるとき,が必要だった気が…まあ僕がN88互換BASICなのが悪いのかもしれません >>69 なるほど、そっちの方がすっきりしますね。 ( , )とか( ; )で囲った方が良いのかなー、と思いましたが、 >>68 のままで走っちゃったので、 なんで囲むのか、とか説明するのが面倒になっちゃったので、 無しでやっちゃいました。 >>69 のようにする場合だと、ちゃんと囲まないと走りませんね。 フォローありがとうございます。 先生!!このスレ見てBASICでプログラミングをしたくなってきますた!! 前回は10匹のモナーが出てきましたね。 さてどうしましょう?逃げましょうか?皆ひっぱたきますか? 今回は何らかの選択肢を作りましょう。 10 input "1か2を選んで押して下さい";a 20 if a=1 then print "1を押したね":goto 50 30 if a=2 then print "2を押したね":goto 50 40 print "1か2以外を押しやがったな!やり直しだ!":goto 10 50 end こんな感じが基本でしょうか。 inputはキーボードの何を押したか判定する命令文です。 10行目の内容を説明します。 「 " 」チョンチョンをつける事で、同時にprintみたいに文字を表示させる事ができます。 で、表示の内容は、これから何を選択したら良いのか、と言う事を表示します。 今回は1か2を選択させます。 更に「 a 」と言う空き部屋を作りました。 20行目では「if」と言う命令文も出てきましたね。 これは「もしも」って事ですので、以下の内容と併せて もしも「 a 」 の中身が1だったら と言う事になってます。 で、「 a 」の中身が1だとしたら、"1を押したね"と表示して 50行目に行け。 って書いてある訳です。 大丈夫ですかね。 30行目の内容は20行目とほとんど変わりませんね。 40行目ですが、 「 a 」の中身が1でも2でも無かった時にここに来ます。 実は20行目や30行目の最後に「50行目に行く」と言う指令が出ていない場合は、 1や2を選んでもここに来てしまうんですけどね。 とにかく、40行目に来てしまうと言う事は、 1や2以外の数字を押してしまった時と言う事になります。 想定外の答えを入れられた時にはどうするのか、と言う事も一応考えている訳ですね。 で、想定外の答えなので、やりなおしをさせる事にしました。 50行目のendでこのプログラムを終了します。 今までは無しにしておりましたが、プログラムは「ここから始まりだよ」「ここで終わるよ」 と言う事をちゃんと命令しておくものなのです。 これからはちゃんと終わりを書いておきましょうね。 説明を忘れていましたが、:(コロン、点々とか呼んでもよし、キョンシーズみたいですが)をつけるとある程度続けてプログラムを実行する事ができます。 ではでは、今やったプログラムをちょっと変えるだけで選択肢とその結果の表示ができますね。 10 input "モナー達をどうしますか?(1:全員ひっぱたく 2:逃げるよ!)";a 20 if a=1 then print "モナー達は「逝ってよし!」と叫んで、泣きながら家に帰っていきました":goto 50 30 if a=2 then print "しかし回り込まれてしまった!":goto 10 40 print "1か2以外を押しやがったな!やり直しだ!":goto 10 50 print "あなたは「さあ!殺伐と牛丼でも食いにいくか!」と言いましたとさ" 60 end 今日の所はお終いです。 次は何をやりましょうね。 他の講師の方が来てくれると本当に助かるんですけど。 更に補足です。 「 ; 」(セミコロン、点とチョン)と「 : 」(コロン、点々とか呼んでもいいですが、スイカ頭とか呼ぶと他の人たちにわかりにくいのでちょっと駄目かも) は似てますがちょっと違います。 気をつけてくださいね。 LOCATEを使い 簡単なテキストアドベンチャー はどうでしょうか? >>1 >10 input "1か2を選んで押して下さい";a それだとreturnが必要だから、こうじゃないの?↓ 1 for i=0 to 255:i$=inkey$:next 2 print "1か2を選んで押して下さい"; 3 i$=inkey$:if i$="" then 3 4 a=val(i$) 昔はよくやったなぁ まだ、inkey$は早いだろ… 256回も解放してるが…初心者には何の事やら解らないだろうし… 最初のは 1 if ""<>inkey$ then 1 の方が機能的 >>77 おお、良いっすね。 フォントのカラーを変えるとかgosub辺りも 使って行くと良い感じな気がします。 実は今から出張してしまうので、代わりに講義してくれたりすると助かりますです。 >>78 一応初心者にもわかりやすい部分から説明してますです。 inkey$も当然、そのうち触れるとは思いますけど、 受験生さんのおっしゃるとおり、まだちょっと早いかと。 一応定期的にそれまでやった講義の内容をまとめました。 ・print "" ・基礎の計算、加減乗除 ・代入の基礎、letは省略可能 ・行の概念、goto命令文 ・for 〜 next ・input ・if 〜 then ・end 次回辺りからはフォントの色変更、locate、gosub等を使って 簡単なテキストアドベンチャーを作りながら、BASICプログラムへの理解を深める。 と言う流れになる予定ですが、 「これをやった方がわかりやすいんじゃない?」 と言うのがありましたら、講義をお願いします。 講義をして下さる方は誰でも先生ですから。 宜しくお願いします。 >>80 了解しました。 では…基本の文字色変更から 例文: 10 for a=1 to 7 20 color a:print "代理講師を任された!" 30 next a さて…新しい命令が有るのが解りますか? そう、color命令です。 このcolor命令は多様な使い方が有りますが、取り合えずは color 色番号で文字色が変更出来ることを覚えて下さい。 色番号は 0が黒 1が青 2が赤 3が紫 4が緑 5が水 6が黄 7が白 となっています。 色番号の秘密 次のようにイメージしてください 3つのスイッチがあります スイッチは左から緑赤青の順でならんでいます さらに緑=4、赤=2、青=1というなぞの数値を持っています ここから紫の番号が何番か知ることができます 紫は赤と青の合成色です スイッチにすると緑OFF赤ON青ONです ここでONになったスイッチのなぞの数値を足してみます 赤と青がONなので2+1=3ですね そう紫は3です 試しに黄色はどうでしょう 黄色は緑と赤の合成色です 緑ON赤ON青OFF なぞの数値をスイッチにあわせて足していきます 4+2=6 黄色は6ですね こういったルールで色番号というのは決められています 丸暗記でもいいですけど、豆知識程度に覚えておくといいと思います おなじく教わりたい。 BASIC、ポケコン使って子供の遊戯王カード用プログラムとか書いてるけど、ほんとに基本的な文法使うだけで冗長なプログラムになってるし。もっとまとまった感じのカッコイイプログラム書きたいので、講師のかたがたよろしくです! ソースさらせば誰かがきっと助言してくれるよ。 85とかいまさらBASICで何やりたいの? 色々な意見が有るようですが 私は代理講師なので……何とも言えません ただ、恐らくスレ主様は見てくれている方がいらっしゃる限り止めないと思うので、私も止めません。 さて、本日はlocate命令です 例: 10 width 80,20 '画面のサイズをN88BASICに合わせる 20 for loops=0 to 19 30 locate loops*4,loops '位置確定 40 for wait=0 to 999:next wait 50 print "ニヤ" 60 next loops 実行してみて下さい ニヤが画面を斜めに切るはずです 新しい命令は二つ width命令は画面サイズを変更する為の命令です。N88BASIC環境に合わせるため よこ80文字、たて20文字の設定にしています。 locate命令は文字を表示する位置を指定します。上記の設定にすると左上の座標が0,0となり右下の座標が79,19となりますね。 とりあえずノルマを終わらしちゃいますか。 と言うことでgosub命令もやりましょう これでだいぶ冗長的なコードから脱却できますよ。 例: 10 width 80,20:cls '画面を綺麗に 20 '階乗(m!)を求める 30 *main 'メイン 40 input "入力値の階乗を行います。整数m=";m 50 gosub *factorial 60 print "結果は";Ans;"になりました。" 70 goto *main 100 *factorial 110 Ans=1 120 for loops=m to 1 step -1 130 Ans=Ans*loops 140 next loops 150 return コードが長めなので詳しくは次に書きますが、重要なのはgosub 〜 returnです。 このようにして、N88BASICは見かけ上、コードを分割する事が出来ます。 gosubラベルでプログラムは指定されたラベルへ飛び、return命令でgosubが実行された所に返ってきます。 ああ!画面サイズ! いや…あの〜 N88互換BASICではwidthを変更すると文字サイズでなくウィンドウがリサイズされるんですよ。 う〜済みません。 ども、ただ今戻りました。 受験生さん、講義ありがとうございました。 文字色の変更、とてもわかりやすかったです。 一応受験生さんの講義に補足をさせて頂きますと、 コメントと言いまして、プログラム中で、何を行っているのかを わかりやすくする為に書き込む時に使うのが 「 ' 」チョン、これです。 改行するまでが、コメントとして扱われます。 あまりに細かくコメントを書くこともありませんが、 ある程度何をやっているのか、大雑把でかまいませんので、コメントを書くと良いです。 次に僕なりのlocate の説明を。 locateは文字の座標の位置を示す命令文で、 座標の基本は受験生さんの仰る通り、ウィンドウの一番左上の角っちょがX軸(横軸)0、Y軸(縦軸)0になります。 数学とかで習ったのとはちょっと違う部分がありまして、X軸は、数字が増える度に1つ分づつ右に増えるので、わかりやすいのですが、 Y軸は数字が増えるほど、上ではなく、 ” 下 ” に向かって行く事になります。 わかりやすいように以下のプログラムを書いてみました。 10 for i=0 to 9 20 x=i:y=i 30 locate x,y 40 print "x"x,"y"y 50 next i わかりづらい人の為に下のように書いておきました、要するにやってる事はこう言う事です。 10 locate 0,0 20 print "x 0""y0" 10 locate 1,1 20 print "x 1""y1" 'これを10まで繰り返す えーと、 x 0 y0 x 1 y1 x 2 y2 みたいに表示されたはずです。 x の位置が 横。 y の位置は 縦。 どうでしょう?少しわかりづらいですかね? 自分で試してみるとわかりやすいかもしれません。 ともあれ、locateを使うと文字の位置を自由に変えることができると言うことがわかりましたね。 今日はこの辺で。 明日は、受験生さんのやって下さったgosubと、ウィンドウのサイズ変更等をやるかもです。 受験生さんは、受験生さんで、お好きなように講義を進めて下さって結構ですので、どうかお願いします。 >>1 はもういいよ。 文書がだらだら長くて判りにくいし。 >>94 の下の部分の行数が失敗でしたね。 10 locate 0,0 20 print "x 0""y0" 30 locate 1,1 40 print "x 1""y1" 60 locate 2,2 70 print "x 2""y2" 80 locate 3,3 90 print "x 3""y3" こんな感じですね。 場所を指定して、XとYの場所がわかるようにしてあります。 0、X1,X2,X3,X4,X5 Y1 Y2 Y3 Y4 Y5 みたいになるほうがわかりやすかったですかね。 >>96 だから、なんであなたが文章のまとまったわかりやすい講義をしてくれないのかが、不思議で仕方ないのですが。 あなたが講義してくれれば皆が幸せなはずなのに。 別に文章が長いと感想抱いたからって、 文章が書けるわけないだろうて やー、人に言うぐらいなら当然、できて然るべきなはずですから。 センセー講座のリクエストです。 ネタ切れの時にでもやって頂けると嬉しっす。 飛び先に行番号しか指定出来ない( *ラベルが使えない)BASICで なるべくスパゲッティーにならないようにするノウハウをご教示下さい。 まず、変数表を作る 次に飛ぶ番号にコメントでサブ名を書く 飛ばす方も どこに飛ばすかコメントを書く なるべく細かく分けるべし 拡張性を持たせたいなら、サブ内はサブ内のみの変数を使うべき。渡す変数もそのサブ用に用意 疑似構造化がアンチスパへの道 >>47 さんはどのようなソフトを製作中なのでしょうか? お手伝いしますよ! 暇ですから orz 20年前を思い出させるスレやな・・・ 次スレは「Z80で始めるプログラム」にしれ。 受験生さん、丁寧な解説有難うございます。 MSX-BASICは古雑誌のプログラムリストを打ち込む事くらいでしか 使ったことがありません。 あんな短いソースで立派にゲームになってしまうのが不思議です。 前にミニゲームでも作ってみようとしたけど、言語の制限が結構 厳しくて途方に暮れてしまいますた。 とは言え、こういう箱庭的環境はなかなか新鮮です(リアルタイムに 体験しなかったせいか、憧れのような感覚を持ってる)。 講義が済んだら自作もやってみようかって思ってます。 明日、とか予告しておいてさぼっちゃいました。 まあのんびりやりましょう。 しかも予定していた内容とは違う事を書きます。 えーと、今日やる命令文は結構数が多いです。 だけど、結構どれも関連していると言うか、まあ使う機会が多いと思います。 命令文って程の物でもないような物もありますが。 cls と入れてみましょう。 画面が綺麗さっぱりしました。 これは「CL」ear 「S」creen クリアスクリーンの略らしいです。 プログラムの中で、画面を綺麗にしてから、描画をする時とかに使います。 次にコーディング(タカタカとプログラムを打ち込む事)をして、実行した後に、 今まで打ったコード(プログラムの中身)を見たい時には list と打ちます。 今まで打ったプログラムが表示されたはずです。 これは基本的には表示されるだけですんで、修正をしたい時には edit を使います。 「あー、もうだりぃ!最初からやり直す!!」とか言うときには new を使います。 new を使うと、今まで打ったコードが完全に無くなります。 やり直す時にだけ使いましょう。 プログラムの中で使うと、プログラムを実行している途中で、全てのプログラムを消してしまうと言う恐ろしい命令なので、 やり直す時ぐらいにしか使いませんが。 次に、保存の方法です。 save と打つだけです。簡単簡単♪ 保存したデータを呼び出す方法も、もうわかるでしょう? load と入れるだけです。 基本的な物ばかりですが、絶対に覚えておきたいのはclsぐらいで、 他の物は「こういう事ができるんだ」程度の事だけ知っておいてもらえば、 皆さんが必要になった時にだけ、このレスを見直すなり何なりして、使っていくうちに覚えると思います。 次回こそ予定通り、gosub等の説明になると思います。 変数を箱に例える教え方なんだけど 全くの初心者は箱(変数)に値が1つしか入れれないということを教えないと いくつでも箱(変数)に入ると思う人間がいる 例えば、 a = 1 a = 2 print a で 2 しか表示されないのは何故? 1 も入れたのに〜〜ってなるw >>110 代入が LET 文であることは、BASIC のいい点の1つだと思う。 あと、値に名前をつけると教えた方が経験的に混乱が少ない。 >>112 数学は等式 こっちは代入 数学で>>110 の式はありえない 4つの数字をいれて大きい順に並べ替えて表示する プログラムを教えてください!! こんな感じ? 長いことBASIC使ってないから細かいところは忘れた N=4:DIM A(N) ' 入力 FOR I=1 TO N:INPUT "数字を入力してください。";A(I):NEXT I ' 大きい順にソート FOR I=1 TO N-1 FOR J=I+1 TO N IF A(I)<A(J) THEN SWAP A(I),A(J) NEXT J NEXT I ' 出力 FOR I=1 TO N:PRINT A(I):NEXT I END >>1 またBASICで構造化もオブジェクト指向も理解できない連中作るつもり? やるならそこまでやってくれよ。ガンガレ。 3くらいまでBASICじゃなかったっけ。 半リアルタイム進行でめちゃくちゃ遅いの。 99BASIC って2DのDirectXが使えるじゃん CMDモジュレータ法式で自作OCXのAPIを作れば 3Dだって出来るのでは 入力OCX命令の引数と戻り値 のアクセス方法の一覧表を公開アップして欲しいな 99BASIC 超大大好き >>1 は消えたみたいだな。 誰か他の講師キボンヌ 今日図書館いってみたらBASIC関係の本があったから借りたら すげープログラムだった 10 'ohanasi 20 CONSOLE ,,1,1:cls 3 30 COLOR 6 40 PRINT "こんにちは!" 50 PRINT "きみ、おとこのこ?" 60 COLOR 3 65 INPUT R$ 70 IF R$="ウン" OR R$="うん" THEN F=1 ELSE F=0 80 COLOR 6 90 PRINT "なまえは、なんていうの?" 100 COLOR 3 110 INPUT R$ 120 COLOR 6 130 PRINT "そう、";R$; 140 IF F=1 THEN PRINT "くん"; ELSE PRINT "さん"; 150 PRINT "ていうの。ぼくパソコン。よろしく。" 160 PRINT "じゃーね、さよなら。" 165 COLOR 7 170 END まあ暇だったらやってみて >>127 IFを使った判断の練習プログラムとかじゃなきゃ 65 INPUT "1、はい 0、いいえ";F で70消したらいいんじゃない? RENUM くらいしてもいいとおもうけど >>128 さん付けで呼ばれるだけだろ しかしシュールな会話だ HAL9000 は遠いな 携帯BASIC ttp://satoo.jp/ 携帯ではじめるBASIC 暇があいたらちょこちょこやるだけでもおもしろい N88互換BASIC for Windows95、XPにインストールできないorz。 RAINBOW.DIBがないって言われたって……。 >>137 そこで、ActiveBasicじゃよ。 >>137 僕のXPでは普通に使えてるよ 今も使ってる最中だよ 初心者ですが、長いプログラムをコピー&貼り付けで 取り込むことはできませんか。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる