BASICで始めるプログラム

■ このスレッドは過去ログ倉庫に格納されています
1
垢版 |
04/11/15 14:58:03ID:WRw2R6g+
昔ながらの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
2
垢版 |
04/11/15 15:01:47ID:WRw2R6g+
その他の参考リンク(全て作りかけ)
SukesanのBASIC講座
ttp://www.students.chiba-u.ac.jp/~y9p1074/i/basic/basicent.htm
BASICクリエイターズルーム
ttp://www.geocities.co.jp/HeartLand-Suzuran/1752/basic_b.html
受験生のためのコンピュータ・BASIC講座
ttp://hp.vector.co.jp/authors/VA006094/basic/
3
垢版 |
04/11/15 15:04:10ID:WRw2R6g+
とりあえずツールの準備はできましたか?
僕自身は99BASICを使用しますが、
Windows2000だとインストールできないと言う意見もありますので、
N88BASIC、もしくは他のツールを用意して下さい。
お願いします。
4
垢版 |
04/11/15 15:15:44ID:WRw2R6g+
ツールの準備ができましたら、早速いじくりまわしてみましょう。
あんまり御託なんか聞きたくないでしょ?

99 Basic Interpreter for Windows (ver 1.19)
Copyright (c) 1999-2002 by Ida Takayuki
OK


とか出てますね。

とりあえず文字を書いて見ましょう。

「必死だな」と入力してみましょう

さあ早速実行です!

Syntax error
OK

と出ました

全然OKじゃありません。
何がOKだごるぁと思うのも無理はありません。
しかしこれは要するに簡単に言えばコンピューターが
「あんた間違えてるよ、OK?ウププ」
とか言ってくれているのです。

何が間違えなのかと言うと、あなたがコンピュータ様にわかる言葉でお話をしないからいけないのです。
簡単に言えばコンピュータ様はコンピュータの国から来たコンピュータ語しか喋れない外人さんなのです。

なのでただの日本語で喋りかけたからコンピュータ様は「あんた間違えてるよ、OK?ウププ」と
コンピュータ語で喋ったと言うわけですね。
5
垢版 |
04/11/15 15:24:37ID:WRw2R6g+
日本語が通じないなんてなんて面倒な奴でしょう!

しかしコンピュータ様はこちらがコンピュータ語で喋りかければ
出来る範囲で何でもやってくれる下僕のような物でもあるのです。

こんな奴に”様”をなど付ける必要はありません。
とりあえずコンちゃんとでも呼ぶ事にしましょう。

先ほどはコンちゃんに理解できる言葉で話しかけ無かった為、
「あんた間違えてるよ、OK?ウププ」などと言い返されてしまいましたが、
次にはコンちゃんに理解できる言葉で話しかけてみましょう。

print "必死だな"

と入力してエンターを押して実行します。

必死だな
OK


(先ほど書き忘れましたが、これはただの点滅です。カーソルがここにあるよって印ですが、
たぶんもうあまり書くことはないでしょう。要するに気にすんなと)

となりました。

おめでとうございます!
あなたはコンちゃんとの記念すべき最初のコミュニケーションを取る事ができたのです!
6
垢版 |
04/11/15 15:37:14ID:WRw2R6g+
この
print ”  ”

と言うのは文字を表示する為の命令文でして

print ”ひらがなちゃん”

print ”カタカナくん”

print ”漢字様”

print ”アルファベットだabc”

print ”数字も平気さ123”

と、色々な文字を表示させる事ができます。

色々な文字を表示させてみましょう。

あと

print ”  ”
print”  ”

半角スペースを抜いて書いてもコンちゃんに話は伝わりますが、
見た目として美しいと思う方を選びましょう。
コンちゃんは面食いではないのでブサイクでも受け入れてくれますが
普通の人はブサイクが嫌いです。
皆さんも嫌いだと思います。
だから美しく!エレガントに!書きましょう!
04/11/15 15:54:50ID:bkk726p0
そろそろいい?

ぶっちゃけ自分でページ作ったらどうよ。
2chだと文字のみだからわかりずらいべ。
8
垢版 |
04/11/15 16:07:33ID:WRw2R6g+
却下します。
ホームページを持つのなんて面倒ですし、
僕以外の人にも講師をして貰いたいですから。
04/11/15 16:19:59ID:o1Vlbcad
BASIC をやると最終的にはどんなゲームが作れるんですか?
10
垢版 |
04/11/15 16:33:08ID:WRw2R6g+
これぐらいなら行けるようになるみたいです。
http://www.sagami.ne.jp/tadaka/99Basic/sample.html

相当の根性がいる気もしますが、(実際ソースを見ると凄い事になってます)
そうしたらもっと便利な機能がある他の言語に行くのもよし。

basic=基礎的と言うぐらいですから、初めてプログラムに触るには
うってつけかと。

実際、C言語だと
#include<stdio.h>

int main()
{
printf("文字を書くニョ");

return 0;

}

とか書かなきゃならないのが
print "文字を書くニョ"

だけで済むってのは簡単で良いじゃないですか。
11
垢版 |
04/11/15 16:39:05ID:WRw2R6g+
先ほど連続投稿ではじかれた所をぺたり。
ブサイクでも受け入れてくれると言いました。
本当にそうなのでしょうか。

試しに

pRiNT " "
prInt" "

と大文字小文字を分けて試して見ましょう。

おおっ!!受け入れてくれます!
コンちゃんの愛は無制限なのですね!!

しかし、ここで全角アルファベットどんを使ってみるとどうなるでしょうか

PRINT ” ”
でどうだっ!?

Syntax error
OK

となりました。
「いくら俺でも、こいつとだけは勘弁」
・・・そんな相手も世の中にはいると言うことでしょうか。
「って言うかお前女じゃなくて男じゃん!!」
みたいな感じですかね。

コンちゃんへの命令は基本的に半角スペースを用いましょう、と言うお話だったのさ。

今日のお話はこれまで。
04/11/15 17:14:25ID:QSekwSRF
このままこのスレを見てたら、トランプゲームタイプのネットワーク対戦ゲームは作れますか?
13
垢版 |
04/11/15 17:20:58ID:WRw2R6g+
千里の道も一歩からと言います。

Basicの先には
VisualBasic.netなんてのもありますし、
不可能は無いんじゃないかと。

ただ、僕自身がそんなレベルには無いので、
そういったレベルの講師様を召還するか、
僕が教えているうちにそういったレベルにまで到達できれば
このスレだけで話が完結しますね。
04/11/15 18:00:12ID:vQ10+i3j
>>9
http://www.jppass.com/lgp/
これを使えばけっこうなものができる。

http://www.geocities.co.jp/Playtown-Knight/2522/soft/bsooh.html
http://akiragoya.sakura.ne.jp/game/galshell_01/
http://www.interq.or.jp/saturn/takuhama/Shooting2.html

04/11/15 23:22:35ID:iEfH5u7g
BASICの現状と展望ってどうなの?
もれもN88-BASIC触ったことがあるし
当時どれだけパソオタの胸を熱くしたかも知ったうえで言うんだけど
もう役割は終えたと思うんだよ
今、99BASICから入る人ってまずいないと思う

あと落としてみてみたんだけど99BASICはBEEP音やめて欲すい
最近BEEP音てハードウェアエラーの時にしか聞かないから心臓とまるかと思った

懐かしいのは懐かしいんだけどね…
あえて言語名は出さないけどポストBASICの位置を獲得してる言語があるからねぇ
コンテストもにぎわってたみたいだし
応募作品いくつかみたけど、それこそ当時のBASICの臭いがぷんぷんしてました(いい意味で)
よかったねぇあのころは
04/11/16 01:37:16ID:mSns2ZwJ
懐古スレはここですか?
アマグラマーにとって最高のオモチャだったよね
けど今はもっとリッチな環境が無料で手に入ってしまうからね
BASICは過去の遺物でしかないのかも
>>1が連載する気ならそれなりに両スレとして育つこともありえるけど
04/11/16 05:04:24ID:O9qTWMGY
スレタイ
【マイコンBASICマガジンを懐古するスレ】
【DrDを偲んで初級BASIC講座を開くスレ】
のほうが人が集まったような気がしないでもない。
04/11/16 09:36:49ID:FfDwwv/x
手伝おう! Dr.Dの為に。影さんの為に!

みたいな……
19
垢版 |
04/11/16 09:39:13ID:TmDiOozj
>>18
手伝ってくださいますか?
20
垢版 |
04/11/16 09:39:54ID:TmDiOozj
おお、俺のID DiOだ。
JOJO厨としては嬉しい限り。
04/11/16 09:55:47ID:FfDwwv/x
まあ…それなりに手伝います。
22
垢版 |
04/11/16 09:58:14ID:TmDiOozj
じゃあそれなりに宜しくお願いします〜
23
垢版 |
04/11/16 09:59:09ID:TmDiOozj
昨日は文字の表示の仕方をやりました。で、今日は計算のやり方を学びましょう。

コンピュータってのは電子計算機などと呼ばれております通り
計算をする為に生まれ、計算をする為に死んでいく・・・悲しい男よ・・・
と言うような訳でもありませんが、まあ基本なので。

print 1+1

と入力してみましょう。

2
OK
と出ましたね。
1と1を足した結果を表示してます。
1と1を足したのだから当然2と出る訳ですね。

ここでちょっと思い出して下さい。
文字を表示するのには
print "文字"
って入れましたね。
そんな感じで

print "1+1"

と入れて試してみると

1+1
OK

と言う結果が出ます。
「"」チョンチョン(ダブルクォーテーションとか言いますけどチョンチョンでも何でも好きに呼べば良いと思います)
で囲んだ部分は計算等の処理をしないで、そのまんま表示される訳ですねー。
24
垢版 |
04/11/16 10:00:21ID:TmDiOozj
では計算の仕方がわかった所で色々試してみましょう。
どのプログラムにも言える事でしょうし、
どのアプリケーションにも言える事ですが、
色々と自分で触って試してみると「あー、こう言う事ねー」「んー、これは駄目なんだー」
と言う事がわかって良いです。色々試して見ましょう。
楽しいですよ。

計算の基本である加減乗除(たし算、ひき算、かけ算、わり算)を一気に並べます。
実行して試してみてね。

たし算
print 100+200

ひき算
print 300-200

かけ算
print 4*5

わり算
print 6/3

いわゆる加減乗除は以上の通りでできます。
加減乗除オールスターズ!


「+」と「-」はそのまんまですね。
「*」と「/」は普段使うような記号ではありませんが、イメージはしやすいと思います。
04/11/16 10:08:39ID:IOLqNrdg
文章が冗長すぎ。
26
垢版 |
04/11/16 10:19:14ID:TmDiOozj
>>15
まー、HSPとかも良いんでしょうけどー
HSPスレも初心者スレ並に多い事ですしー。

それにBASICの場合は既に多くの有能なプログラマを
排出していると言う実績もある上に、ある程度以上の
年齢の方なら誰でも知ってる、と言う事でも
最初に触れる言語としてはやっぱり良いんじゃないかと。

>>16
懐古しながら、新規のBASICユーザーに色々とご教授下さい。
まー、BCCとか高性能なコンパイラが無料で手に入る状況ってのは
ある意味天国みたいな状況と言えないこともないですが、
初心者には設定するだけでお腹が一杯みたいな部分もありますからね。
一応、しばらくは不定期で連載続ける気です。
>>17
実は僕がべーマガを読んでた訳じゃあないので・・・
最近何冊か手に入れたんですけどね。
http://basicmagazine.homeip.net/

>>25
冗長でない文章で講義して下さると助かります。

あと昔のPC板にあった良さげなスレです。
PRINT("BASIC デマターリカタルスレ。")
http://bubble2.2ch.net/test/read.cgi/i4004/1009478372/
04/11/16 10:19:51ID:MtdQ2fsE
平日の昼間から元気なレスお疲れ様です
28
垢版 |
04/11/16 10:56:57ID:TmDiOozj
やー職場で暇なんでー。

もう少しすると年末調整やら何やらで忙しくなるんですけどねー。
29
垢版 |
04/11/16 14:04:37ID:TmDiOozj
また良さげなスレを見つけました。

昔のPC板
第1回昔のPC板杯プログラムコンテスト
http://bubble2.2ch.net/test/read.cgi/i4004/1008847300/
30
垢版 |
04/11/16 16:23:38ID:TmDiOozj
明日は代入とかやると思います。たぶん。

リンク追加です
http://homepage2.nifty.com/kasayan/bindex.htm
04/11/16 16:27:15ID:IOLqNrdg
Oryaaを髣髴させるな。
あっちもBasicだったし。
32(´Д`)
垢版 |
04/11/16 17:22:08ID:VIxObihF
セーブの場所にパソコン本体を指定してもうまくセーブできないみたいで、
ロードしてもファイルがないって言われます。
なんでですか?
save"c:\test"って感じでやってるんですけど。
33
垢版 |
04/11/16 17:34:25ID:TmDiOozj
>>32
えーと、99BASICを使用しているって事で良いんですよね?
試しに実行してみました。

save "\c

で、Cドライブに保存されますので

save "\c\test

ってな感じで良いかと思われます。
34
垢版 |
04/11/16 17:38:14ID:TmDiOozj
ごめんなさい。
なんかtestと言うフォルダを作ったら駄目になったー。

ちょっと待っててね。
04/11/16 17:46:29ID:MtdQ2fsE
>>34
それは当たり前ジャマイカ?
(パスの話ならフォルダとファイルは同等でしょ?)
36
垢版 |
04/11/16 17:48:03ID:TmDiOozj
save "\c

だとCの一番上にセーブされますね。
ただtestというフォルダを作って、
その中にデータをセーブするやり方がちょっとわかりませんでした。
ごめんなさい。

わかったらまたお知らせしまーす。
37(´Д`)
垢版 |
04/11/16 18:30:30ID:VIxObihF
>>36
なにもフォルダもつくらずに
save "c:\hello"としたらセーブできました(ロードもちゃんとできました)

いろいろ手間取らせちゃってすいません。
ありがとうございました。
38
垢版 |
04/11/16 18:32:47ID:c1wTVCJh
あいあい。
良かったでつ。
39(´Д`)
垢版 |
04/11/16 18:33:27ID:VIxObihF
ブロック崩しをつくりたいです。安西先生・・。
40
垢版 |
04/11/16 18:35:27ID:c1wTVCJh
検索してみますた。

BASIC海にようこそ
http://www.sic.shibaura-it.ac.jp/~p02078/index3.html
41(´Д`)
垢版 |
04/11/16 18:44:44ID:VIxObihF
>>40
あ、ありがとうございます!
04/11/16 19:52:25ID:fcqxyC5l
今日の講師 1   (ID:c1wTVCJh)

今日の生徒 名無し(ID:VIxObihF)
                     1名
43名前は開発中のものです。
垢版 |
04/11/16 23:05:33ID:fcqxyC5l
>1さんは>15あたりの意見に対しては何も言わないんですね
スルーですか?
44
垢版 |
04/11/16 23:16:55ID:c1wTVCJh
>>43
一応>>26で一度レスはしてますけど。
>>15の意見のどのような部分に対してどのようなレスをすれば良かったんですかねー。

BASICの現状も展望もお好きなように考えて下さい、としか言いようがないですね。
役割を終えたと思うのは個人的な意見ですが、
僕はプログラムの楽しさを知る取っ掛かりとしては
”いまさら”だろうが何だろうがBASICが一番良いと思ったんですよ。
HSPとかが良い人は自由にそちらに行けば良い訳で、別に強制している訳じゃないですから。

BEEP音は昔のBASICでも出る訳で、ワザワザ鳴らさなければ鳴るようなものでも無いと思うのですが
自分で鳴らしておいて「止めて欲しい」などと仰るのは、なんだかなあ、って感じです。

こんな感じのレスしかできませんが、何か問題ありますか。
04/11/16 23:31:52ID:+DPLQEuC
>>43は注意力散漫
04/11/16 23:32:56ID:fcqxyC5l
>44
あ、しまった見逃してた
>1さんスミマセンです
04/11/16 23:52:20ID:rt9OVmJT
>>1で紹介されてたのはいまいちそそられないんで(スマソ)
ゲーム専用機と化してたMSXでチャレンジしようと思ってるけど
良いですか?
と言っても行番号系は触ったことないのでしばらくROMりますが。
04/11/17 00:24:16ID:Ip8+XdEf
>>14は無視かよ。
立派なBASICなのに。
4947
垢版 |
04/11/17 01:44:52ID:D+qlxGKt
いやー、せっかくこういうスレが立ったから、Mファンの1画面プログラム
みたいなのを組んで晒してみたいなと思い立っただけなので。
(そしてハードを突っつくのにちょっと興味があったから)
ちなみにそれ系スクリプトは、以前にYGSを愛用していましたよ。
50
垢版 |
04/11/17 13:18:20ID:IOCnedLT
次に、代入って奴をやってみましょう。
中学生になって、算数が数学と名前を変えた時に
この辺ですっころんだ人も多いかと思います。

まー、僕がそうなんですけどぅー。

だいたい代とか名前につくのが良くないですね。
田代まさ(略)とか代々木アニメー(略)とか

・・・それはともかく
やって見ましょう!

a=1 と入れます

OK

これでaと言う箱の中に1と言う数字が入った事になります。


いきなり箱とか言われても「はぁ?」と思う方もいるかと思いますので、説明しましょう。
51
垢版 |
04/11/17 13:18:53ID:IOCnedLT
同じ内容を

let a=1

と書く事ができまして、
let と言うのは貸家と言う意味だそうで(エキサイト翻訳でもそう言ってたしー)

なんと言いますか、コンちゃんの頭の中はだだっ広い荒野で、
そこに家畜である所の1くんを放牧しても、
どこにいるのかわからなくなっちゃうのです。
なので、1くんを監禁というか、ぶちこんでおく檻、っていうか家が必要なのです。
永住させる訳でもないので、貸家を用意して、そこに1くんを入れておきましょう。

他にも家畜をぶちこんでおく家が欲しかったりもするので、
貸家には名前をつけておきます。

ここではaと言う名前の家に入れて置きましょう。

「貸家 aに1くんをぶちこんでおくよ。」

と言う意味なのです。

今は貸家と説明しましたが、要するに物を入れると言う
イメージさえつかめれば貸家でも箱でも山崎ハコでも
どのようにイメージされてもかまいません。

要するにイメージが掴めりゃあ良いんですから。

52
垢版 |
04/11/17 13:19:50ID:IOCnedLT
で、aの中に1くんを入れた所で、次に

b=2

と入れましょう。
あれ?「let」が無くなってますね。
実はこのletは書かないでも全然かまいません。
一々「貸家 let」なんて書いておくのは面倒ですね。
人間だって一々要らない物を書くのは面倒ですし、さらには実はコンちゃんまでも面倒がってしまいますので、
むしろ書かない方が良いです。

これで、aの中には1が、bの中には2が入った事になります。
これを代入と言います。

で、代入した所で、次は計算式も作ってみましょう。

c=a+b

と書きます。
なんで a+b=cと書いちゃ駄目なのかと言うと、そう言う文法上のルールがあるから、って感じですかね。

文法のルールや細かい部分を間違えると意味を取り違えてしまったり、
プログラムそのものが動かなくなってしまう事があります。
これは日本語でも同じですね。
「僕は昨日女性の姿を描きました」が
「僕は昨日女性の姿でカキました」となったら
意味が違ってしまいます。
気を付けましょう。
53
垢版 |
04/11/17 13:20:36ID:IOCnedLT
で、c の中身はa+bになった事になりますので、

print c と入れると

計算結果の

3
OK

が表示される事になります。

今日はこの辺でおしまいです。

明日はやるかどうか微妙ですが、次回は
行とかgotoとかをやる予定です。
04/11/17 14:00:25ID:Cxzojokr
ほんっとに冗長な文章だね。
55
垢版 |
04/11/17 14:04:51ID:IOCnedLT
まあ好みですからー。
冗長なのが嫌なら、そうでない講義をお願いします。
56
垢版 |
04/11/17 15:26:20ID:IOCnedLT
暇なのでこんなのを書いて見た。
文句を言う人はこれででも遊んでて下ちい。

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



04/11/17 18:31:19ID:fLjZv7nh
今日の講師 1   (ID:IOCnedLT)

今日の生徒     …    0名
58名前は開発中のものです。
垢版 |
04/11/18 00:28:28ID:TWrmiXDB
>だいたい代とか名前につくのが良くないですね。
>田代まさ(略)とか代々木アニメー(略)とか

冗長でもなんでもいいけどさ、こういう事とか、あまりにも寒いギャグとかは止めようぜ。
好きで書いていることかもしれんけど、荒らされる原因にもなりかねないからね。

個人的には応援しようと思うスレなので、面倒になって逃げ出さない事を祈っとくよ。


文句だけ書くのもなんだから、QBASICだけど、ここまでできるってHPを紹介しとく。

ttp://www.yamagame.com/
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況