◎正当な理由による書き込みの削除について: 生島英之 とみられる方へ:N88−BASIC入門YouTube動画>1本 ->画像>9枚
動画、画像抽出 ||
この掲示板へ
類似スレ
掲示板一覧 人気スレ 動画人気順
このスレへの固定リンク: http://5chb.net/r/i4004/1074389689/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。
1〜100 各コマンドの説明
101〜200 応用編
300〜 実プログラム作成
DOS/Vで動くBASICソフトはこちら
http://www.ksky.ne.jp/ ~compu/
>>1 そのサイトで紹介されているBASICはDOS/Vで動くの?
ROM BASIC→論外。
N88互換BASIC for Windows→DOS/Vでは動かない。
N88-日本語BASIC(86)(MS-DOS版)→動くの?
>>7 西部労働レストラン=SAVE LOAD LIST RUN
月刊I/Oなどの掲載プログラムを打ち込んで遊ぶだけの椰子のこと。
初出はI/Oだよね?
スタンドアロン版N88-BASIC(86)上で BASICインタープリタのサブルーチンにマシン語でアクセスする方法が知りたい。
未だにアセンブルできません ピークとポークってなんですか?
>>1 N88-日本語BASIC(86)のDISKモードに関する情報を充実させてくれ
>>9 >そのサイトで紹介されているBASICはDOS/Vで動くの?
>N88-日本語BASIC(86)(MS-DOS版)→動くの?
98固有のBIOSを使うため、動かない。
ちなみに、98の実機であっても
HSBを組み込んでいる場合は動かない。
言語仕様はMSX使ってるつもりで迎合してHSP使った方がラクだろ。
>>9 >N88互換BASIC for Windows→DOS/Vでは動かない。
これってべつにWindowsのVBだかで作られているプログラムでなかったか。
だから、Windows95以降なら動くとおもったが・・・。
ちなみに、99basicってのはどない?
>>25 XPでも動くよ。
>>26 センター試験で点数稼ぎになるからね。
N88最悪やん 使いづらいし いちいちスペース空けなきゃエラーだし
99は、N88のリストがそのまま動くわけでは無ヒという罠;
>>29 こういうやつが一番汚いソース書くんだよなぁ
load "auto go to list run File not found Ok
10 console 0,25,0,1 20 for i = 1 to 10 30 for j=1 to 7 40 color j 50 print "シネ "; 60 next j 70 next i 80 end
CODE SEGMENT ASSUME CS:CODE,DS:CODE,SS:CODE,STSEG PRINTS MACRO STRING MOV DX,OFFSET STRING MOV AH,9 INT 21H ENDM MAINP: CLD MOV AX,CS MOV DS,AX CALL GSTAT JB TEXIT
ねーねー。「U−BASIC」使ってみたら? なかなか使いやすいよ!! これで、自分用のアプリいくつか作ってる。
DOS用のコンパイラはかなり遊べたなぁ。 VZでソース書けたし。
10 PRINT "UNKO" 20 GOTO 10
CALL [adress]: マシン語を実行する。CALL &H0000 と打ち込むとリセットがかかる。 ちなみにFM-7では EXEC &HFE00。
ActiveBasicってのがフリーソフトであるけど こいつはどですか?
わたしゃお勧めしませんね、 誰かが書いてたがUBASICのほうが使いやすいと思う
>>45 EXEC &HFE00
より
EXEC -512
の方を使ってたなあ、&Hって入れにくいし。
>>45 ROM-BASIC でもいける def usr=0:a=usr(a)
〃∩ ∧_∧ ⊂⌒( ・ω・) `ヽっ⌒/⌒c ⌒ ⌒
10 motor on 20 motor off 30 goto 10
LOAD AUTO GOTO LIST RUN SAVE KEY PRINT EDIT CONT
10 FOR SCREENMODE=0 TO 2 20 SCREEN SCREENMODE 30 CLS 3 40 FOR R=1 TO 200 STEP 10 50 CIRCLE(320,100),R 60 NEXT 70 WHILE INKEY$="":WEND 80 NEXT これで10行目、20行目がSyntax ErrorになるBASICは使いづらいと思う。
今更入力するのだりぃから、だれかHDI-OS98くれ。
_,-''" ̄ ̄''" ̄`゙'ヽ , /"''' ヘ ヘ ヽ、 〃 / / ヽ '、 ノ^ヽ, ___ i┐ 〃 / / l | '、 ヽ '、 ヘ _____. /∠ゝ,,ヽ! | | | / / / 〃 l l l '、 l l ノ/└┐i-i┌-! ..くイ'三三┐| | | | l j l li |l | l l | | / |'┌┘!-!└┐ . | ,二二, | | | | | ||l l l /-l|/、lヽ lハ+j"ノ゙ト /j l| <,. | | n n n | . | i三三┘| | | | l l、 ト、i {,r''pヽ ヽノi'"P゙゙i'>l / /l . | | | || | | | | | 丿,. ┌┐"|U | | ヽゝヽl、 lしl L_ン レ' l/j | | | U U U | 'V |__二_| エ_| '、 ヽ 、 ノ/; /lノ |_| |__i-----i__| lヽ, ヘヽ、 ー‐' , /ノ /_丶、 ヾ、 ゙ r - "ノi" l r'─`- ヽ _,,,..-、ノ l、 '"l''_ニ" ヽ _,, r''"ヽ { ,,,_ _,,... /^'-, =、., {_-、 l / l ヽ 丶、、'、ー--= /_,-'" _,-'"、  ̄ \,-'"´ | / l ヽ , \ゝ=/-'" _,-'" / ヽ, ノ; l ,-'" / ~''7/-Yl-=l|-'''" l/、 ヽ、} ,-' ̄"|
_,-''" ̄ ̄''" ̄`゙'ヽ , /"''' ヘ ヘ ヽ、 〃 / / ヽ '、 ノ^ヽ, ___ i┐ 〃 / / l | '、 ヽ '、 ヘ _____. /∠ゝ,,ヽ! | | | / / / 〃 l l l '、 l l ノ/└┐i-i┌-! ..くイ'三三┐| | | | l j l li |l | l l | | / |'┌┘!-!└┐ . | ,二二, | | | | | ||l l l /-l|/、lヽ lハ+j"ノ゙ト /j l| <,. | | | n n n | . | i三三┘| | | | l l、 ト、i {,r''pヽ ヽノi'"P゙゙i'>l / /l . | | | || | | | | | 丿,. ┌┐"|U | | ヽゝヽl、 lしl L_ン レ' l/j | | | U U U | 'V |__二_| エ_| '、 ヽ 、 ノ/; /lノ |_| |__i-----i__| lヽ, ヘヽ、 ー‐' , /ノ /_丶、 ヾ、 ゙ r - "ノi" l r'─`- ヽ _,,,..-、ノ l、 '"l''_ニ" ヽ _,, r''"ヽ { ,,,_ _,,... /^'-, =、., {_-、 l / l ヽ 丶、、'、ー--= /_,-'" _,-'"、  ̄ \,-'"´ | / l ヽ , \ゝ=/-'" _,-'" / ヽ, ノ; l ,-'" / ~''7/-Yl-=l|-'''" l/、 ヽ、} ,-' ̄"|
>>13 PEEKはメモリ読み取り
POKEはメモリ書き込み
「PEEK」の意味は「覗(のぞ)く(=メモリの中を見る)」という意味。
えー、listして スクロールしようとすると画面から消えちゃうのですが どうしたらいいですか?
>>62 f・9 & ROLL UP ROLL DOWN
F.9がきかんの? edit って入力してみたら?
N88-DISK BASIC(86)上のDISK LIOを使ったファイルアクセスの方法を教えてください。
N88 Disk-Basicのフォーマット上のファイルを、 MS-DOSのfileconv.exeで、MS-DOS形式にしたんですけど、 N88 DOS-Basicでリストを見ると、漢字が化け化けです。 これ、どうやって対処すればよいでしょうか???
>>69 一度Disk-BASICでアスキーセーブして
テキストコンバート(JIS⇒shiftJIS変換)
ありがとうございます
今は、実機が無くて、過去にMS-DOSに変換したBasicソースがいっぱいあって、
アスキー形式にするにはこいつ
http://www.vector.co.jp/soft/win95/prog/se063951.html でやるしかないんですが、この状況でもJIS>Shift_JISで文字コードが正常に変わるんでしょうか?
>>71 ドキュメントにはそれらしい記述が無いので…不明
実機が無くてもDISKがあるならイメージ化⇒98EMUでなんとか…
普通の3MODEのFDDでは、DISK-BASICフォーマットのディスクが読めんです…
98でFM音源のPLAY文が使えるのは、N88 DISK-BASICだけでしょうか?
DOS版BASICでもできるどうかっていう意味? BIOSやI/Oポートを介してもできるはずだけど。 搭載されているヤマハチップのデータシートは 手にはいらないかもしれないが。
XPで動くフリーのN88とかN88(86)とかってない? よね。やっぱり…
N88互換BASICは俺のXPマシンでは動いてるぞ
俺の大好きな有名人 まずは、アニマル濱口 昇進まえの、若花田勝 音楽の極め、角松敏生 日本史の雄、紀貫之 演歌の花道、段田男
N88-DISK BASIC(86)上のDISK LIOを使ったファイルアクセスの方法を教えてください。 DSKI$、DSKO$ではなくマシン語でお願いします。
8801のDiskBASIC、色々なバージョンがありましたね。 バージョンによっては読み込み時間が短かったり、 サウンドボード(PC-8801-23)指定のバージョンが在ったり。
神保町にPC-8801やN88-BASICの本を買いに行ったけど殆ど無かった。 その後、秋葉に行ったら、マニュアル付きの98DOが1台あっただけ。 やっぱネットしか無いみたいだね。
↑ 結局、アマゾンで入手。ちなみにM88で遊ぶ為。 N88-BASICはN88-BASIC(86)の本やマニュアルなら色々あるので購入見送り。 PC-6001/8001/9801/9821は所持暦があるのに8801だけは持ったことが無い。
久しぶりにNEC PC9801DXを動かしたくなってきたな・・・
N88互換BASICってので遊べるゲームはどこで手に入れればいいの?
N88-BASIC PC88でEDITとAUTOを同時にやると バグるというか表示がおかしくなる
LSET RSETの256単位ランダムファイルは使わなかったなあ CVD CVI CVSとかの変数型変換はいるのか?という感じだった
N88 BASICなつかしい・・ 伯父がフライト趣味レータープログラムしてそれをくれたなぁ
HP BASICが動作するHP計算機を探しています。 取り扱っている店をご存知の方は教えて下さい。
N88 BASIC(88/98どちらでも)で確認されてるバグを教えて
88SR以降だけなら、音楽関連の命令にバグがあって楽譜をMML化する際に特殊なテクニックが必要だと聞いた事がある。
>>104 >聞いた事がある
言ったヤツつれて来いw
>>104 本来は同じ音長のはずなのに(例えば(8分音符×2)と4分音符)、微妙に音長が違って、
楽譜そのままMMLで書くと、和音の各チャンネル間でタイミングがずれる、ってやつの事か。
88mk2のROMのN88BASICなんですけど、 FPDへのSAVEでドライブの指定って どうやるんでしたっけ? また、FPD内のファイルの一覧って どうやって見るんでしたっけ?
88mk2のROMのN88BASICなんですけど、 妹のまんこの中身って どうやって見るんでしたっけ?
>>どうやるんでしたっけ? 〜 >>どうやって見るんでしたっけ? まるで「当時は知っていたんだけど、つい忘れてしまった」ような口ぶりだけど 「ある点」から 「最初から全く知らないヤツが質問してる」事がバレバレまるわかり。 質問している時点で、裸の王様状態。 全く知らないんなら最初から素直に 「どうやるんでしょうか?」 「どうやって見るんでしょうか? 」 って質問すればいいものを 「でしたっけ?」なんてわざとらしい知ったか口ぶりで質問するから みんなまともに答えたくないんだろう。
友人からPC-8801mk2 model30を譲り受けました。
その際に、フロッピー媒体2枚も頂きました。
一枚はハイドライドの正規品で、もう一枚はブランクディスクです。
ハイドライドのフロッピーを入れて、本体を起動すると
ゲームが起動されません。
媒体が悪いのか、ドライブが故障しているのかを判別したいのです。
そこで、ROMのBASICで簡単なプログラムを書いて、
ブランクディスクにSAVE "a"を行ってload "a"が出来れば、
ドライブは故障していないと判別できます。
しかし、SAVE "a"コマンドの結果はOKと出ますが、
load "a"コマンドを実行すると、なにも結果が表示されず、
ダンマリのままです。
ブランクディスクが死んでいることも考えられますが、
(新品の媒体は手配中です)
そもそも、コマンド自体があっているのかを教えて欲しいのです。
1.ROMのBASICプログラムを記憶する場合のコマンドを教えて欲しい。
2.2ドライブ目の故障も判別したいので、ドライブの指定を教えて欲しい。
3.媒体のフォーマットを行わなければならない場合、そのコマンドを教えて欲しい。
4.MS-DOSでdirに相当するコマンドがあれば教えて欲しい。
以上です。
>>107 は気を抜いてカキコしたので、申し訳ありませんでした。
>>115 >媒体が悪いのか、ドライブが故障しているのかを判別したいのです。
>そこで、ROMのBASICで簡単なプログラムを書いて、
>ブランクディスクにSAVE "a"を行ってload "a"が出来れば、
>ドライブは故障していないと判別できます。
この判断は間違っている
>load "a"コマンドを実行すると、なにも結果が表示されず、
>ダンマリのままです。
データレコーダの再生ボタンを押し忘れている
A1.ROM BASICのプログラムを頭の中にでも記憶するの?
A2.お前にはまだ早い
A3.システムディスクをもっていないの?
A4.FILES
ROM-BASICでファイルアクセスできると思ってるところがなあw まあがんばれ若人
ROM-BASICではFDDにアクセスできないんですね。
そういう事。 謝った事だし、もうちょい親切に教えてやろう・・・ 結論は 【DISK BASICが入っているFDが別途に必要】 コマンド名の正確な一文字一文字を忘れる事があっても 「ROM BASICにはFDを操作するコマンドがそもそもない」って事実は 当時のユーザーならよもや忘れはしまい。 だから107の最初の質問の仕方は変なんだよ。 ROM BASICでSAVEをしてもカセット用の信号が無駄に流れているだけ。 SAVE中にFDDのアクセスランプを見ていればアクセスしてない事がわかるだろう。 フォーマットをするコマンド、というものもない。 フォーマットはフォーマット専用のプログラムでする。 今の状況からするとDISK BASICのFDがないから BASICからFDを操作するのはやりようがなさそう。
それと、DIPスイッチがそれぞれ必要に応じた設定にしてあるかどうか。
>>119-120 ありがとうございました。
DISK BASICが入っているFDを手配します。
昔、昔、PC-6001mk2のデータレコーダのロード、セーブは
cload,csaveだった記憶があり、
88mk2の場合、FDDが付いているので、
load,saveはFDDへのアクセスだと思ってました。
DIPスイッチの工場出荷状態は、どういう状態なんですかね。。。
SW2の7はONにしてあります。
ディップスイッチの設定ってほとんど変更いらなかったはず
ご報告です。 DISK-BASICとゲームDISKを手に入れました。 本体を開けてドライブを見ました。 フロッピーは回っています。 ヘッドは前後、上下に移動しています。 1ドライブに、DISK-BASIC 2ドライブに、ゲームDISKを 入れて(一応)、IPLすると、 1-1, 1ドライブのアクセスランプ点灯 1-2. 2ドライブのアクセスランプ点灯後、すぐビープ音1回 1-1,1-2の繰り返し。 少し上記を繰り返すと、 2-1, 1ドライブのアクセスランプ点灯 2-2. 2ドライブのアクセスランプ点灯後、すぐビープ音2回 で、1-1に戻る。 という様な感じで、DISK-BASICは立ち上がってくれません。 ドライブが壊れているのでしょうか? スレチかもしれませんが、一応、ご報告。
>>123 たぶんDISKが悪い
ドライブ1読み込み→失敗(起動できない)
ドライブ2読み込み→失敗(起動できない)
の繰り返しと思われる
ドライブ1を空にして2だけにディスクをいれれば2から起動できたような気がするので
ドライブが怪しいときは試してみるよろし
あと関係ないかも知れないが縦置きにして裏表逆とかって落ちはないよな?
スレチですが、もう少しお付き合いください。 ドライブ1は空。 ドライブ2にDISK-BASIC。 の場合、 ドライブ1のLEDが点灯。 ↓ ドライブ2のLEDは点灯せず。 ↓ How many file(0-15)?表示 (ドライブ1のLEDは付きっぱなし) ドライブ1にDISK-BASIC。 ドライブ2は空。 の場合、 ドライブ1のLEDが点灯→消灯 ↓ ドライブ2のLEDは点灯。 ↓ How many file(0-15)?表示 (ドライブ2のLEDは付きっぱなし) ドライブ1にDISK-BASICを表裏逆に挿入すると ヘッドがフロッピーに張り付く動作もしないことから、 表裏は間違っていないと思われます。
俺の中古PCのドライブが壊れてる、なんとかしろー いいかげんスレチです
>How many file(0-15)? の表示で起動できないのか?
>>125 >ドライブ1を空にして2だけにディスクをいれれば2から起動できたような気がする
98はそうなってるけど、88はドライブ1が空っぽだと
>>126 の通りに。
(正確には2HD/2DD(DMA) FDDと2D(Non DMA) FDDの差)
>>126 本体を開けたのならドライブにコネクタが刺さってるのが見えてるはずだから、
ドライブ2のコネクタを外して、ドライブ1に刺さってたコネクタをドライブ2に刺し直して
(ドライブ2を実質ドライブ1にする)、そっちにFD入れて起動させてみる。
・・・あと、そのDISK-BASICは本当に88(mk2)用?
88SR以降用のDISK-BASICを88mk2で起動出来たかどうかは記憶の彼方に忘れた。
N-BASIC用のDISK-BASICならNモードにしてみるとか(DIP-SW 1-1だっけ?)。
>>128-130 コメントありがとうございます。
8801mk2用のディスクです。
コネクタの差し替えは、後で試してみます。
後で報告します。
(明日、早いので、もう寝ます)
コネクタを差し替えました。 ドライブ1とドライブ2が、 入れ替わっただけで、 症状は同じです。
>>134 ちなみに How many file(0-15)? の表示の上にDisk version の表示はないのか?
>>134 ゲームDISKをドライブ1に入れて起動は試したか?
いつまでスレチのクソレスでここを汚すの? もう引き上げていただきたい やるなら88スレで
>>136 試しました。
ドライブ1のLEDが点灯→消灯
↓
ドライブ2のLEDは点灯。
↓
How many file(0-15)?表示
(ドライブ2のLEDは付きっぱなし)
FDかびてない? 念のためFDDもクリーニングしたら?
ごぶさたです。 意地になって、新しい本体を買ってしまいました。 新しい本体でDISK-BASICのフロッピーは読め、 起動も正常に出来ました。 それで、教えて欲しいのですが、 ドライブ2が正常か知りたいのですが、 どうすればよいでしょうか?
すみません。 自己解決しました。 ドライブ1にブランクディスクを入れて ドライブ2にDISK-BASICを入れたら、 正常に起動できました。 これから、DISK-BASICの バックアップを取ろうと思います。 あとはマニュアルを手配して それを見て頑張ろうと思います。 お世話になりました。 ありがとうございました。
今振り返ればN88-BASICが一番使いやすかったな
算術関数は他から導けるので使わないこともできるけど、ここでは除くとして 一番使わないハードウェアに依存しない命令って何だろう 自分はOCT$かな
LINE INPUT WAIT は RS-232C とかで使うのかな?
高校の頃、ちょっとした関数のグラフを調べたいときなんかは、 ROM-BASIC立ち上げてちょこちょこっと書けば、すぐグラフが出せた。 今はそういうことをすると、どうしても敷居が高くなっちゃうよね。 話変わるが、DISK-BASICの最終バージョンって6.2だっけ?
DiskBASICは、Ver.6.3まであったように思う。
10 print "そろそろ寝るか!" 20 end
10 FOR I=10 TO 20 20 PRINT I,I=I/3*3 30 NEXT 呪われた番号が浮かび上がる
友達に入力頼むとエンター押さないでカーソル移動して次の行入力するから全部消えてしまって大変だった
50人のクラス(男子35人)から5人の委員をランダムに選ぶ。このとき選ばれた委員の中に男3人、女2人が入る確率をBASICで求めよ。 すいません、さっぱりわからないので教えてください。
10 print 35/50*3 20 print 15/50*2
乱数を発生させて、∞ループで、どこに収束するか試せば良い
やったことあるような気がするけど意外と難しいな こういう問題でスレ進行もイイ 実測でなくて解答の導き方を知りたいんでしょ
10 print "50人のクラス(男子35人)から5人の委員をランダムに選ぶ。このとき選ばれた委員の中に男3人、女2人が入る確率は?"; 20 input a$ 30 print "答え",a$ 日本語が入っているのは許せ
>>163 BASICでまともなプログラムを書くのはかったるいので手抜きだけど、こんな感じでどう?
100 'nCm is combination of m from n
110 'nCm = n!/(n-m)!m! = n・(n-1)…(n-m+2)・(n-m+1)/m・(m-1)…・2・1
120 C1=50*49*48*47*46/(5*4*3*2) 'combination of 5 from 50
130 C2=35*34*33/(3*2) 'combination of 3 from 35
140 C3=15*14/2 'combination of 2 from 15 (=50-35)
150 PRINT "The answer is ..."
160 PRINT C2;"x";C3;"/";C1;"=";C2*C3/C1
170 END
実測の確立じゃなくて論理的な確立を式で導けってことだろう
>>171 N88-BASICで百万回… 今時のPC+Winbas95でも最後まで動かす気にならないが、
一応、
>>170 の理論値に近い値が出そうだ。
1000 CLS: N1=1000: N2=1000: SUM=0
1010 FOR I=1 TO N1
1020 COUNT=0 'counter for the case that male member was 3.
1030 FOR J=1 TO N2
1040 N=50 'number of total members who haven't been selected.
1050 M=35 'number of male members who haven't been selected.
1060 FOR K=1 TO 5
1070 R=RND(1)*N
1080 IF R<=M THEN M=M-1 'male member has been selected.
1090 N=N-1
1100 NEXT K
1110 IF M=35-3 THEN COUNT=COUNT+1 '3 members were male.
1120 NEXT J
1130 RATIO=COUNT/N2: SUM=SUM+RATIO
1140 PRINT "RESULT(";I;"/";N1;")...";RATIO,"TOTAL:";SUM/I
1150 NEXT I
1160 END
乱数で面積を出すってMZ-80付属のオレンジ本に載ってたっけ。 懐かしいな。
perl 使え。 N88-Basic互換性抜群。しかもUTF-8対応。w
KPLOAD命令なんて懐かしいなぁ 当時漢字の外字登録機能をPCG代わり(というかPCGの一種なんだけどね)に使いまくってたからなぁ OCT$はPC-98だとあんまり出番が無いけど PC-88だとアナログパレットが512色なんで8進数と他の進数との変換は結構出番があったな アナログパレットの色指定に&O(8進指定)を使ったり 逆に色を知るためにOCT$使ったりね
stop stop 一見意味不明だがちゃんと通用するコマンド
stop stopは割り込みを保留にする命令だが、 そのためには前もってstop onで割り込み可能にしてから使わなくてはならない。
他のon errorとかは割り込みルーチン中自動で割り込み禁止するんだよね。 しかしstopの場合は割り込み禁止だけでなくstopキーの入力自体も拒否してしまう。 なのでbasicでも全く中断できないプログラムを作ることができる。
log exp log10とか自然対数の底って高校で習わなかったけど どのあたりの分野で習うのかな? どういうことに使うか例示キボン
微積分を習えば必ずでてきそうだけど。あと複素数の極形式とか。 今時は高校物理で電磁気や力学に関する常微分方程式を解いたりしないのかな。 統計の正規分布なんかでも一応目にしない?
>>184 テキストじゃないPCGをPCGと言うのもなんだかなぁ
グラフィック置き換えた塊にしか見えん
押入れから昔PC98 N88-BASICで組んだプログラムFDが出てきた 懐かしいので走らせたいんだがPC98がもうない XPでこれを走らせる方法ありませんか?
>>191 これとか、互換BASICは他にもあるけどプログラムをXPに移す方がアレかな
http://www.vector.co.jp/soft/win95/prog/se055956.html 個人的には BASIC98 for Windows を使ってる
>>193 一応動くっぽい
ただN88の構文を全部読んでくれるかどうかは分からないが
MBASIC86あたりだとBASICでは読めてたプログラムの一部が読めなくてこけることがあるね
98エミュでMS-DOSを走らせてるんですが、これにBASICを乗せてBASICプログラムを走らせるにはどうすればいいですか?
N88日本語BASICのイメージディスクありませんか?
>>197 DOS版N88(86)BASICのFDを入れて
>N88BASIC
>>199 オクで買ったらどうよ、安いよ
スキャンしたPDFがどこかに置いてあったと思う N88(86)BASIC関係のサイトだったから探してみたらどうよ というか、このスレにもリンクが上がったことあったと思う 印刷物ならオクに時々出るからこまめにチェックするんだね
>>191 Android ならいくつかBASIC出てるよ
>>76 浦島スマソ
>98でFM音源のPLAY文が使えるのは、N88 DISK-BASICだけでしょうか?
DOS-BASIC (N88-BASIC(86)(MS-DOS版)) でも使える
BASIC拡張用のSOUND.EXE用意して
DOSコマンドラインからN88BASIC /E:SOUNDで起動、だったかな
トランスレータ作ろうぜ。 まずはマクロ的に対応できる構文と、ないと困る仕様の分類だな。
_ |O\ | \ キリキリ ∧|∧ \ キリキリ ググゥ>(;⌒ヽ \ ∪ | (~) ∪∪ γ´⌒`ヽ ) ) {i:i:i:i:i:i:i:i:} ( ( ( ´・ω・)、 (O ⌒ )O ⊂_)∪
行頭に \ や MOD を使うと Internal error になるのは仕様なのだろうか?
NCデータ作るのにDOS版N88-BASIC使ってる。 しかし、98マシンが調子悪いからヤフオクで良さげな奴を探すかいの。
>>213 ダイレクトにCOMポート使ってないならエミュって手もあるが
>>214 NC旋盤のNCデータをN88BASICで作って、ダイレクトにシリアルでデータ転送しています。
BASIC言語でしかプログラムした覚えないんだけど、そんな私でも今さらなんとかなる? アセンブラはz80や6809cpuのを10行くらいで挫折してるし。
何が今更?えー、 目標は対戦可能なオセロゲームつくって自分で遊ぶこととか。
本人次第 興味がある人、好きな人ってのは 他人に「なんとかなる?」なんていちいち聞かない なんとかなろうがならなかろうが そんなこと考えもせずに夢中になって手を出している 他人に「なんとかなる?」って聞くのは 他人に「無理」と言ってもらってやめる機会を自分から求めている 本人次第
エクセルVBAがかつてのマイコンBASICにかなり近いと思う 必要となる前知識が少なくてすむ コンパイル作業がいらない オセロゲームならエクセルのセルひとつをオセロの盤面コマひとつにすればいいんじゃない
>>217 pc/atノートのcomポート付きか10インチノートにusbシリアル変換付けて
Vectorとかで↓なんかをあさって、更新したらどう?
N88互換BASIC for Windows95
http://www.vector.co.jp/soft/win95/prog/se055956.html いまならXPノートが安く手に入るんじゃないのかな。
NCデータ保管用ならネットに繋ぐ必要なんて無いし。
usbFDDを付ければ98フォーマットも読めるし。
注意点は、98でフォーマットすれば読み込んでくれるけど
D2とかの弁当箱でフォーマットした奴は読み込んでくれない
(協立社のD2を2台とTACTXのM-220(マザック用)1台も持ってる。)
自分も9821Ltでフリーの通信ソフトでNCのデータを管理、
バックアップはPCカード経由SCSIのMOに落としてる。
(予備で98ノートは20台以上保管してるわ・・・)
あたたかいスレだね。感謝
>>1 が04年1月18日?今2014年だから10年スレですね
BASICコンパイラないのかな。 そのまんまWindows上で実行可能なエグゼ生成するとか。C言語とか覚えろ? 10 FOR I=1 TO 64 20 PRINT I 30 NEXT I 40 IF A=B THEN ....... ってわかりやすいね。 これでAndroidアプリ作れんかな、インタープリターではなくコンパイラでの
たぶんセキュリティーの設定だと思うがうんどもすんともいわない 他のサイトは平気なのに・・・
あ、
>>232 ,234 は
>>229 とは別人なのでご心配なく
REM 数当てゲーム
RANDOMIZE TIMER() : rem 乱数系列を生成
R=RND(99) : rem 乱数
PRINT "数当てゲーム"
PRINT "0〜99の乱数の数値を当てます"
N=0
LABEL:
INPUT "予想数値を入力してください。? >",A
N=N+1
IF A=R THEN PRINT "当たり" : GOTO OWARI
IF A<R THEN PRINT "ハズレ、もっと大きい"
IF A>R THEN PRINT "ハズレ、より小さい"
GOTO LABEL
OWARI:
PRINT "正解までに ";N;"回"
PRINT "Hit any key"
WAIT KEY
END
実行ファイル
http://gmdev.xrea.jp/st/up/1007.zip 楽しいDarkBASICプログラミング♪
http://upload.saloon.jp/src/up8457.zip ファイルを開くと1.8MBの実行ファイルが出てくるから素直にクリックするといいw
サンプルプログラム。
むかしTHE BASICってゆうパソコン雑誌があって、内容はマシン語の記事やバックアップやらハッキングな記事ばかりなマニアック月刊誌があった。 BASICとはほど遠い内容とタイトルの違いから、これは芸術雑誌のふりをした発禁本写真集じゃね〜かと揶揄されて。楽しかったな。チラウラすまん。
Intel Core i7-4770K + nVidia GTX 780Ti + DarkBASIC = 最新、最速、最強
http://anago.open2ch.net/test/read.cgi/jisaku/1386946974/l50 月刊誌i/oに掲載されていたn88「BASICコンパイラ」for pc88は効率悪く、ドでかいマシン語オブジェを生成するやつ。処理遅いわ、メモリー不足で完了しないわ、できることはできるが、とても愉快な「BASIC言語で書かれたBASICコンパイラ」でした。
セルフコンパイルしたらどーなるんだろ。 当時の88メモリー不足でできなかったんだろうか?
シャドウマッピングテスト - 楽しいDarkBASICプログラミング♪
http://upload.saloon.jp/src/up8467.zip ファイルを開くと1.9MBの実行ファイルが出てくるから素直にクリックするといいw
サンプルプログラム。
4770K+780Tiを標準環境としているから、それより性能の低いPCではフレームレートが
極端に低下する場合がある。
60fps出ていれば問題なし。
ディスクBASIC時代の5インチフロッピーディスク、プログラム入り。アルフォス、森田オセロ、ロードランナーなどなど出てきました。押し入れから。 今でも、走るのかなエミュレータとかで…。
>>253 可変VOXELフォーマットがあるから1,000ステップぐらいかw
↑
これ省いたら半分ぐらいに減る(笑)
モデリングやってたら馬鹿みたいだから、自分でフォーマットを作っておくと簡単だw
簡易高速モーションブロアテスト - 楽しいDarkBASICプログラミング♪
http://upload.saloon.jp/src/up8474.zip ファイルを開くと1.9MBの実行ファイルが出てくるから素直にクリックするといいw
サンプルプログラム。
モーションブロア(残像)は法線軌跡を計算して半透明3Dオブジェを使うものから、
画面バッファそのものを書き換えるものまで、処理方法は多岐に渡る。
自分で作ってみると面白い。
30fps出ていれば問題なし。
簡易高速モーションブロアテスト(その2☆) - 楽しいDarkBASICプログラミング♪
http://upload.saloon.jp/src/up8479.zip ファイルを開くと1.9MBの実行ファイルが出てくるから素直にクリックするといいw
サンプルプログラム。
モーションブロア(残像)は法線軌跡を計算して半透明3Dオブジェを使うものから、
画面バッファそのものを書き換えるものまで、処理方法は多岐に渡る。
今回はまた別の方法wうわっw
30fps出ていれば問題なし。
★マインドコントロールの手法★ ・沢山の人が偏った意見を一貫して支持する 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法 ・不利な質問をさせなくしたり、不利な質問には答えない、スルーする 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法 ↑マスコミや、カルトのネット工作員がやっていること TVなどが、偏った思想や考え方に染まっているフリや常識が通じないフリをする人間をよく出演させるのは、 カルトよりキチガイに見える人たちを作ることで批判の矛先をカルトから逸らすことが目的。 リアルでもネットでも、偽装左翼は自分たちの主張に理がないことをわかっているのでまともに議論をしようとしないのが特徴。 ...
では報告。
G1820+750Ti(ロープロ版)のPassMarkテスト
http://www.passmark.com/baselines/V8/display.php?id=20544415632 3D Graphics Markスコア
660無印 4,113
750Ti 3,765
650TiBOOST 3,563
GTX750Tiは、650TiBOOSTより速く、660無印より遅く、その中間にある性能と言える。
CeleronG1820でも750Tiの性能を充分に引き出せていると考えてよい。
G1820+750Tiで60fps♪ シャドウマッピングテスト - 楽しいDarkBASICプログラミング♪
http://upload.saloon.jp/src/up8561.zip ファイルを開くと1.9MBの実行ファイルが出てくるから素直にクリックするといいw
サンプルプログラム。
今回から最低標準環境をCeleron G1820+GeForce GTX 750Tiに変更。
G1820+750Tiを標準環境としているから、それより性能の低いPCではフレームレートが
極端に低下する場合がある。
60fps出ていれば問題なし。
# 意外と速い?試してみると分かりやすい。
まあ得体の知れない実行ファイルをクリックする奴も居ないとは思うけど
100 rem move 110 cls 120 x=0 130 y=0 140 for x=1 to 70 150 locate x,y 160 print " ★" 170 for i=1 to 1000:next i 180 next x 190 end
ナイコンなので脳内でRUNしました。 メモリ不足でした。
100 rem circle 160 x=100 170 y=200 180 sx=2 190 sy=1 200 *loop 210 cls 220 x=x+sx 230 y=y+sy 260 if x<50 or x>599 then sx=sx*(-1) 270 if y<50 or y>359 then sy=sy*(-1) 280 circle (x,y),40 290 for i=1 to 100 : next i 300 goto *loop
久々に引っ張り出したけどPLAY ALLOCの使い方忘れてて音が出せん つまんないから誰か教えてくれないか
N88-BASICってPC8001に入っていたやつ? フロッピードライブまだなくてカセットテープにデータ記録。 SAVE ぴ〜ひゃらら… 翌日、LOADしよう。あれ?エラー! 苦労して打ち込んだの、安物テープはダメだ…
>>282 >N88-BASICってPC8001に入っていたやつ?
違うよ
PC8001にROMで入っていたの NEC PC8001 Microsoft BASIC Version1.0 なんチャラだったけ?
NEC PC-8001のROMに入ってたのが、N-BASIC それで、NEC PC-8801のROMに2つのROMが入っていた のがN88-BASICとN80-BASIC N88-BASICの経過について説明すると NECは、iAPX8085から本気でCPUの開発を行っていた 最初は、TK-80拡張でNEC製のBASIC言語を実装していた。 そこに、Mr.西がビルゲイツを引き合わせて、マイクロソフトBASICを実装させた それが、8bit N-BASIC。そして次のPC8801にもN88-BASICを実装した。 (このコードはゲイツが書いた。) そして、16bit機PC9801の発売についてN88BASIC互換にすることになった。 その16bitN88BASICは、NEC内部で秘密裏に作られた、その出来が素晴らしく良かった。 ここで、権利関係でどうするか揉めた。実際にゲイツが忙しくて作る暇も無かった。 Mr.西が、NEC製作のコードを使うが、 マイクロソフト製品として扱うという事で決着させた。 そして、PC-9801が日本市場を独占した、そこにEPSON互換機が登場。 NECは、N88-BASICが固有のものであるとした、裁判もそこが論点になった。 よって、EPSON互換機にはN88BASIC-ROMがありません。
PC-8801にN80-BASICなんか載っていないよ PC-8001 → N-BASIC PC-8001mk2 → N80-BASIC PC-8801 → N88-BASIC、N-BASIC
TK80を昔、小学1、2年のころ親戚のおじさんにもらった。TK80BS…からPC8001へ、の時代。BSのお古はくれなかった。 理由は「若いんだからアセンブラで組め。簡単なBASICなんか使うと自分でプログラム組めなくなるぞ」と言った。 小学2年にワンボードコンピュータ?へんなおじさんと思った。
>>285 >NECは、iAPX8085から本気でCPUの開発を行っていた
8085にiAPXは付かない。NECは8085互換の製品を出すより前からマイコンの商売はやってる。TK-80のCPUは8085ではない。
>最初は、TK-80拡張でNEC製のBASIC言語を実装していた。
TK-80BSに最初に搭載されたBASIC言語はPALO ALTO TINY BASICのカスタマイズであり、NEC製ではない。
以下、限が無いので略。
カセットにsaveするときはカセットの頭の記録できない部分を送ってから saveしないと読み込めない
>>290 それでいくつの打ち込んだゲームだめにしたっけな
名前が頭文字繋ぎあわせて基本のBASICになったってよい偶然だな
http://ja.wikipedia.org/wiki/%E3%83%90%E3%82%AF%E3%83%AD%E3%83%8B%E3%83%A0 > バクロニム
> バクロニム(英: backronym または bacronym)とは、ある単語の各文字を使って、新たに頭字語
> としての意味を持たせたものである。バクロニムを作る行為は、日本で言うあいうえお作文に近い。
> バクロニムは1983年に back(後)と acronym(頭字語)を組み合わせて新造されたかばん語である。
PC-9801の“ピポッ”が自作PCで復活、起動音専用の基板が発売
http://akiba-pc.watch.impress.co.jp/docs/news/news/20140322_640770.html PC-98シリーズの「ピポッ」という起動音を自作PCで再現する
ユニークな電子工作キット「国民機起動音発生装置 PiPo Ver.6.2」
(以下PiPo6)が三月兎2号店で販売中だ。
爆竹銃氏のWebサイト
http://baku.homeunix.net/ PiPo6関連の資料
http://baku.homeunix.net/elec/PIC/PiPo6/ 日本語で書くんだったら基本を語ってことかってなんだろうかと一瞬思ってしまった。
BASICプログラム言語 初心者向け 汎用記号 命令コード。 10個ほどのコマンドを覚えればすぐに使えるようになり、 インタプリタと行番号で素人にも手軽に扱え、教育用プログラム言語とされる。
CMD STATUS IEEE IRESET ISET LISTEN MAT POLL RBYTE SRQ TALK WBYTE
@REM A変数 BLET CIF/THEN DFOR/NEXT EINPUT/PRINT FGOSUB/RETURN GGOTO HDATA/READ IEND
ここのスレの人たちが出張して書いるのかな。今月立ったのにスレはもう後半。興味深く読んだ
【IT】誕生から50年を迎えたプログラム言語BASIC
http://anago.2ch.net/test/read.cgi/bizplus/1399117132/ USR(33):USR(36) CD3EA0 Aレジスタに何かを書き込む
win3.1を今のWindowsと同じに扱っていいのか?
Tiny Basic for Windows
http://www.tbasic.org/ DarkBASIC - 敷居は低いが、出口も遠い - 本格的に使えるゲーム開発用BASIC
- DarkBASIC Professional - FREE Download(英語版のみ)
[
http://www.thegamecreators.com/?m=view_product& ;id=2000&page=free ]
[
http://www.thegamecreators.com/?m=download& ;file=5003 ]
U77 Public Release Candidate(最新バージョンアップデート)
[
http://forum.thegamecreators.com/?m=forum_view& ;t=180294&b=1 ]
[
http://files.thegamecreators.com/darkbasicprofessional/upgrade/dbpro_upgrade_7_7_RC7.zip ]
モデリングツールとトラック編集ツールを紹介したら、それを使いこなすプログラミングツールが必要だ。
今回紹介するのはDarkBASIC Professinalフリーバージョン。
商用利用をしないと言う条件ですべての機能が使える。
DarkBASIC本体をダウンロードしたら、メールアドレスを送信してアンロックキーをメール受信する。
次にメールアドレスとアンロックキーをアクティベーション(認証)すればDarkBASICが使えるようになる。
さらに、最新バージョンアップデートを適用すれば、実行速度が高速になる。
DarkBASICはVisualBasic以前の古いBASICの延長上の別系統の設計にある最新BASICで、記述
が簡単で本格的な構造化もサポートしている。
簡単なゲームから大規模プロジェクトまで作成可能だ。
また、外部モデリングフォーマットを通さずにプログラム中で3Dオブジェクトの定義も可能で、非常に自由度
の高いプログラミングができる。
英語版と言うことであるが、BASICと3Dの基礎知識があれば、誰でも使える。
HuBASIC SP5001 SP5002 SP5010
>>321 HuBASICを入れるのならSP-5020、SP-5030、DiskBASICのSP-6010を忘れては逝けない
Fortran言語ではintegerから、I〜Nまでの変数を暗黙の了解として整数型と定義されていた。 初期BASIC言語の時代における理系言語はFortranであった。 よって、I,J,Kなどを使い捨て整数型変数として使う。なんとなく、解読時に皆が理解するのに便利だった。
初心者の頃、リストを見ながら打ち込んでいてIと1を間違えるってのはよくあると思うんだが、 今現在、自分でプログラム組んでいてIと1を打ち間違えるというのは、何が原因なのやら
頭か目 I(アイ)、1(イチ)、l(エル)、|(タテ)、!(ビックリ)
>>332 先が続けられん..せめて25位にして欲しかった
ready 10 FOR X=0 TO 399 20 FOR Y=0 TO 199
9 rem 99BASIC 10 defint A-Z 11 dim M(158),N(158) 12 for J=0 to 158 15 N(J)=100 16 next J 20 cls 30 for Y=1 to 63 40 for X=1 to 63 50 gosub 500 60 if Z=0 then C=7 : goto 80 'colorload 70 C=Z/21+4 80 D=92-(int(X/2)+int(Y/2)+Z) 90 E=X-Y+78 100 if D<=M(E) and (D>=N(E)) then goto 170 110 if D>M(E) then M(E)=D 120 if D<N(E) then N(E)=D 130 if D>99 or D<0 then goto 170 140 pset(E*4,D*4),C 170 next X 175 next Y 180 beep 185 A$=inkey$ : if A$="" then goto 185 else end 190 end 500 rem sub 510 S=(X-32)*(X-32) 520 T=(Y-25)*(Y-25) 530 Z=2200/(S+T+31) 540 return
>>339 >>338 の立場が全くないではないか!
こう言う奴は普段から…。って言われるかもしれないw
繋げてよ。。
50 CONSOLE 0,25,0,1:WIDTH 80,25:CLS 3
言語は目的じゃなくてただの手段だろうに、ことあるごとに99BASICは〜とかいうコンソールさんは なんかいろいろ見失ってるなw
>>339 で99BASICに首ったけの事実が証明されているw
ベーシックしかプログラムできない奴はボール反射ゲームだけ作ってろ、 ベーマガには乗せてやるからおとなしくしとけ、みたいな風潮だったんだよ、たぶん
>ボール反射ゲーム ちょっと待って 月刊マイコンのプログラミング入門に載ってたから見てくるわ
今のPCのbasic for windows とかで壁うちゲームなんかをつくると、処理が速すぎてインターバルつける必要があるんだろうか 今やつくる自信もないが
>> ちょっと待って 待ってる..........
>>359 99BASIC使ってみたら?
今すぐは無理でも使えるようになったら楽しいよ
100 REM 99BASIC ボール反射ゲーム 110 X=100 120 Y=100 130 SX=2 140 SY=1 230 REM 240 INTERVAL ON,10 250 ON INTERVAL GOSUB 400 270 REM 280 GOTO 270 290 END 400 REM 410 GOSUB 500 490 RETURN 500 REM main 510 CLS 3 520 X=X+SX 530 Y=Y+SY 540 IF X<50 OR X>600 THEN SX=SX*-1 550 IF Y<50 OR Y>300 THEN SY=SY*-1 560 CIRCLE(X,Y),50 600 RETURN
BASIC入門 (全11回)
http://dotinstall.com/lessons/basic_basic #01 BASICとはなにか? (02:29)
昔なつかしのプログラミング言語であるBASICについて、その概要と、レッスンにおける環境について説明していきます。
#02 「hello world」を表示させてみよう (02:57)
まずはBASICで「hello world」を表示させてみます。行番号の扱い方なども解説していきます。
#03 saveとloadを使ってみよう (01:34)
書いたプログラムを保存したり(save)、呼出したりする方法(load)について解説していきます。
#04 gotoを使ってみよう (02:41)
BASICの特徴的な命令であるgoto文について、その使い方を見ていきます。また処理を一時中止して、再開させる方法についても解説していきます。
#05 変数を使ってみよう (02:25)
数値や文字列に名前を付けられる変数についてその使い方を見ていきます。
#06 ifを使ってみよう (02:29)
if文を使った条件分岐と比較演算子について見ていきます。
#07 ifとgotoを組み合わせてみよう (02:50)
if文とgoto文を組み合わせて処理をしていく方法について学びます。
#08 for、whileを使ってみよう (02:56)
繰り返し処理を行うためのfor文、while文について見ていきます。
#09 gosubでサブルーチンに飛ばそう (02:30)
gosubを使ってサブルーチンに処理を飛ばす方法について解説していきます。
#10 inputでユーザー入力を受け付けよう (02:39)
input文を使ってユーザーからの入力を受け付けます。
#11 数あてゲームを作ってみよう (02:54)
今まで習ったことをもとに1から10の数を当てるゲームを作ってみます。
パドルを左右に動くようにする。 もし、弾とパドルの座標が重なった場合、跳ね返るようにする。
ボール反射ゲーム=PONGではない 画面に/とか$とかちりばめられてるやつ
ボール反射ゲーム
SUPER DEFLECTION のこと?
ダウンロード&関連動画>> VIDEO REFRECTION GAME
http://www.asahi-net.or.jp/ ~ua4s-njm/gb_soft/gfree09.html
>>371 そうこういうの
ベーマガのプログラムってどの機種もこればっかで嫌だった
そうそう。 キャラクターが動く描写は 100 locate x,y :print"●" とかやる原始的なやつ
>>372 99BASICは簡単で楽と言うのがセールスポイント。
>>374 >ベーマガのプログラムってどの機種もこればっかで嫌だった
あなたとしては、どのようなのだったら、良かったの?
当時はベーマガとPIO (だっけ?)で住み分けされていたね。 ベーマガの方が初心者よりだったね。
なにこのスレ10年たってもまだ3分の1 あとヨロ 10 FOR I=1 TO 10
60 FOR N=1 TO 10:GOSUB 100:GOSUB 200:NEXT N 70 NEXT I 80 END
NEC PC-8001 BASIC Ver 1.8 Copyright 1979 (C) by Microsoft Ok HT 嘔吐 後藤 栗鼠兎 蘭CR
200 garbage collection(0000-ffff):RETARN
>>410 TABいっぱつで保存できるように ' と save の間はTABで空けておけ
マシン語入力するのって monだったかな。もう忘れちゃったよ。 押し入れからPC88マーク2SR出てきた。 モニター処分してしまったが、2chRFコンバーダーあったので、アナログTV2chで楽しめそう
プログラムとファイルの検索で「メモリ」って入れると今でもできるね(Win7)
CMD PLAY "l8o4cde2fedce2"
SRじゃないなのでBEEPしかありませんでした…でも、ビィヒャラブラズラァ……って演奏だってヤレるのよぉ
いつからBASICもどきのBASICとは全然異なるものがBASICって名乗るように なったんだろう。
かけ算の表をつくろう あとはよろしく 10 FOR X=1 TO 9
20 for y=1 to 9 30 print using "###";x*y; 40 next 50 print 60 next
15 print using "###";x;" : ";
ちゃんと1のだんから9のだんの数とかける数もでるようにしてくれ
ええやんどーでも
print usingが即座に出てくるなんてすごいなもう忘れとったわ。まだ普段からBASIC使ってんのかな
1 print " "; :rem スペース モジ スウ、カクジ、テキトウ ニ チョウセイ シテ 2 for y=1 to 9 3 print using "###";y; 4 next 5 print 6 print "-------------------------------------" : rem 1ギョウメ ト オナジ... 15 print using "###";x;print " : ";
トランプを作り、シャッフルするコードを書きなさい。
> トランプを作り、 トランプをプリンタに52+1種類印刷すればいいのかな > シャッフルするコードを書きなさい。 ロボットアームの制御かなんかかな
どう? 100 dim cd(52) 200 rem ジュンバン ニ セッテイ 210 for i=1 to 52 220 cd(i)=i 230 next 300 rem シャッフル 310 for i=1 to 52 320 j=int(rnd(1)*52)+1 330 k=cd(i) 340 cd(i)=cd(j) 350 cd(j)=k 360 next
N88-BASICのRND()の返す値って最大で1.0じゃなかったっけ? > 320 j=int(rnd(1)*52)+1 これ正しく動くのかな。
猫踏んじゃった〜♪(アハ♪ 猫踏んじゃった〜♪(アハ♪ ガチャガチャキーボードォ〜♪(アハ〜♪” 算盤捌き♪(サァーーーーーッ ガチャ♪(アハ〜♪”
>>460 time$()のフォーマットを 00:00:00 の全部で8桁にして、
date$()のフォーマットを 00/00/00 の全部で8桁にして、
----
sync コマンドが 新規で必要。
実行速度を制御する為に必要、PC毎にスピードが異り、機種依存性を無くするために。
1/30 秒毎に実効をする。
50 syncon
60 syncrate 30
100 rem game-loop
120 print time$()
190 sync
200 goto 100
こうすることにより
100-200のゲームループが1/30秒毎に1回ループを実行する。
1秒間に30回実行される。
>>461 >time$()のフォーマットを 00:00:00 の全部で8桁にして、
>date$()のフォーマットを 00/00/00 の全部で8桁にして、
対応済み
>sync コマンドが 新規で必要。
interval timerですね、、、
このソフト自体に需要があれば、検討します。。。。。
所詮ブラウザなので、難しいかもしれない。
例えば、 extime$() として 00:00:00:00 のように高精度にして 1/100秒まで表示させる。 1秒単位では荒いから、1/10秒程度は欲しい。
>>464 もし、やりたいことが、mSオーダで一定期間ごとにgosub
するような機能であれば、
on interval gosubとかが必要でしょうね、、、
basic側のループ内でtime$の返り値をみて、
定期的に実行する命令の実行・不実行を判断するようにしても、
ループ途中の命令での遅延が毎回変わるので、
time$を見た瞬間に、すでに期待した時間を大幅に
通りすぎている可能性が高いです。
>>465 virusではないと信じています。
ただ、バグや、不適切なBASICプログラムを実行すれば
ブラクラになるかもしれません。
おそらく、
10 goto 10
run
とかすれば、ブラクラになります。
スペード、ダイヤ、ヘイヘイヘヘイ、ハートにクラブ、ヘイヘイヘヘイ、のマークについては
460氏の言う通り、4で割った余りによって算出できます。
あらかじめ別の配列にマークを入れておいて、一緒にシャッフルする方法も可能ですが。
我がサイトの
http://natunoyono.yumenogotoshi.com/ssj.html では、マークを別配列&一緒にシャッフル方法にしてあります。
N88じゃなくてN60-BASICですが。ソース見てちょ。
>>462 すみません、ジョーカーは考慮していません。ジョーカーを考慮に入れると、かなりややこしくなるし・・
>>463 N88-BASICに限らず、多くの機種のBASICがRND(1)で返す値は1未満で1.0にはなりません。
正しく動きます。
DEFINT A-Z とかやっちゃうと RND(1)*52 が52を返すのが紛らわしいところだな
>>460 10 input a
20 print a
30 goto 10
ここで、数値以外を入力すると、その後は入力を拒否され、入力出来ない。
>>460 10 if 0 < 1 then print "ABC"
Syntax error in 10
>>460 10 print "input ";
20 input i$
30 print i$
40 end
edit で これを[ run ]すると、inputを受け付けない。フォーカスが実効画面にいない、edit窓にいる。
thanks.
>>475 solved
>>476 inputへ入力する前に、何回か黒画面をクリックして、フォーカス移動を
試みてください。
(実装が悪く、input命令時は負荷がかかっているので、
フォーカスが移動しにくいのかもしれません)
>>477 フォーカス移動を、自動的に出来ないの? そうか、できないのか >>460 10 if 1 then 30 : rem ****
30 rem
Syntax error in 10
>>460 JSに翻訳して動かすのも面白いんだけど、
どうせならブラウザで動くのもあるエミュレータ用かなんかに移植すれば
実装上の制約が少なくなって当時の文献とかも参考にしやすくなって
いいかなと思うんだけど、
実機手放してないからか、皆DOSのように公開待ちなのか、
なかなかそういう人って居ないんだよな。
>>460 10 data 5 : rem ***
Syntax error in 10
>>460 ちょっと大きいコードになると、
挙動不審になる。
データが不安定になるようだ、
原因がわからない。
コードは8Kバイト程度
8bitCPU(64kbyte)程度では動いて欲しいと思った。
>>484 もし可能でしたら、該当プログラムをsaveしてもらえないでしょうか。
正直に言って、そのレベルの大きさのプログラムは動かしたことない
ので、ブラウザの限界なのか、バグなのか、ぜひ知りたい。
http://www.dotup.org/uploda/www.dotup.org5364986.zip.html テストコード
マップの通りに動くはずだが、最初の部屋番号が狂う。
私のマシンが1Mバイトと少ないからそのせいかもしれない。
訂正 私のマシンが1Gバイトと少ない WindowsXp
>>487 DATAがちゃんと読めないバグがあったので、修正しました。
xp ie8 512MBで見る限りは,なんとか動いているように見えます。
ただ、run時に「スクリプトを停止しますかdialog」がでるようですね、、、
無視すれば動くようですが。
10 print 10 20 print 20 30 print 30 list list 20 list -20 list 20- list .
>>492 fixed
>>list .
は未実装、で許してください。
>>494 fixed,i think.
なお、行番号328は行番号振り間違いかと思われます。
>>501 ありがとう。
このコードが白黒モードで動きます。 白黒スイッチの実装が無理だと思う。
consoleの第四パラメータ
>>502 there is no plan to implement two colors mode,
because it's a little bit difficult.
sorry.
1000 dim SN$(20) 1010 FOR I=1 TO 4 1020 print i 1030 READ sn$(i) 1040 NEXT I 1050 data 1,2,3 1060 DATA シブヤ72,メグロ73,ゴタンダ74,オオサキ75,シナガワ76,タマチ77 Out of Data in 1030
ついでに、iphone/androidで使えるように、 ローカルのBASICファイルを選択できるようにした。 (ただし、saveしない限りサーバにはアップしない)
>>507 技術的に無理っぽい。
graphicはhtml5のcanvasを使っていて、canvasに描画するとantialiasのせいで、
線がにじむ。
paintは、指定した色の線に囲まれた部分を塗りつぶすので、線がにじんでしまうと、
囲んだ部分を認識できず、画面いっぱいpaintしてしまう。
>>509 PC98用のソフトとして、つくるってこと?
現在の豊富な開発環境とメモリ・CPU資源があってこそ、ムノーな俺にも
作れるのであって、98の、あの貧弱なメモリと開発環境で
プログラム開発するのは俺にはむりぽ。
クロスコンパイル環境も、ないだろうし、、、
他の誰か頼む。
実機PC-9801 BASICに一番近いのが、 エミュでMS-Dos版のN88-BASICを動かすこと。 よく出来ていますよ。当然ですね Windowsの上で動くN88BASIC互換BASICがいくつかある、 残念ながら、どれも、互換度が低い。 FreeBASICが BASIC言語として良い。 これは、QuickBASICと完全互換であり、 最新Windowsにも対応するBASICコンパイラー。 N88-BASICの機能をすべて含む。 もちろん、無料。 GW-BASICがある、これはIBM-PCの拡張BASICで、N88-BASICに似ている。 16bitDOSでなければ動かない、Winodows95なら良い、 64bit Windowsならば エミュレータを使うのが良いだろう。 残念ながら、日本語が使えない。
メモリ資源かあ。 EMSとか使えるフリーの処理系ってなんかあるのかな?
ラムディスクドライバ前提で、変数をファイルで持てば ディスクの容量分の配列が実現できたりするんだろうか?
>>511 誰かBASICで互換BASIC組んじゃう人って居ないんだろうか?
旧式のN88BASICが初心者学習用だろう、
今でも大学受験に使われているのだろうか?
行番号付きBASICがはじめてのプログラミングに良い。
ものすごく単純であって、それなりの結果が出る、挫折も無い。
学習向きなら、コマンドヘルプやデバッグの充実が要求される。
実用に使うならば別の話で、構造化された新型BASICの方が良い。
"web basic interpreter" で検索すると沢山ヒットする。
Quite BASIC
http://www.quitebasic.com/ Free BASIC Compilers and Interpreters
http://www.thefreecountry.com/compilers/basic.shtml Simple Web Basic
http://yohan.es/swbasic/ Execute BASIC
http://www.compileonline.com/execute_basic_online.php qb.js: An implementation of QBASIC in Javascript
http://stevehanov.ca/blog/index.php?id=92 EL_BASIC辺りでN88互換処理系を作るのは可能だろうか?
ナイコンさんから脱却できたときの喜びが今でも忘れられない。思い出すためです。
>>519 今にして思うと、みんなよくナイコンさんを脱出できたなあと思う。
PC8801、228000円。高解像度CRT168000円。ライバルの日立ベーシックマスターLevel3なんざ合わせて50万円、中古車買えたよ。クラスの友だちもみんなホイホイ買って、ポイポイ買い替えてたぞ
逆に言えば今の子はそういうの味わえないんだな。 今時のスマホとかと違って毎月の金を永遠に払わされる事はないから 只の端末じゃない所有感はあった気がするね。 動物園のパンダも借り物じゃなかった。
N88-BASICが教育目的に良い、MS-Excelにも応用できる。 まったくの素人向けに、半期12回のプログラム実技授業で扱えるのに良いと思う。 一番簡単な選択だろう。 プログラム学習での通過点のひとつになる、次のステップには次の言語になるだろう、
>>525 行番号があるというのは最早、コンピュータ考古学の域だろw
せめてQuickBASICだが、今はその後継のVBか。
ただ、まったくの素人のPCにはVBよりもExcelが入っている可能性がはるかに高いので、
最初はVB派生のVBAでいいじゃんってなるな、やっぱり。
ど素人に一からBASIC教えるならExcel-VBAだな。 VB.Netは、ありゃBASICを教bヲるんじゃなくbト.NetFrameworkのプログラミングをVB.Netで教える、ぐらいには別物と思わないとダメだからなぁ。
ラベルを連番にして付けまくってもいいのよ? ラベル数制限でできない処理系なんてある意味退化だしさ。 行番号使う気がなければ:でステーメント繋げば良いよね。
>>525 VB→VBA(エクセルワードをフロントエンドとして使う)の方が潰しが効く。
超基本命令と変数及び配列→ソートと経路探索描画までやれば講義でも充分。
試験評価は取敢ず完成していること→加点評価で禁則状態処理、文字変換に対応しているとかで良いのでは?
数当てゲーム 10 CLS 20 K=INT(RND(1)*10) 30 WHILE… アレ?忘れた
>今時N88-BASICやるメリットってなんなの? SQLとかやるよりは身になると思うんだが 金にはならんけど
ですわあ〜 10 CLS 20 K=INT(RND(1)*11) 30 WHILE N<>K 40 INPUT "アテナサイ";N 50 IF N>K THEN PRINT "オオキスギ" 60 IF N<K THEN PRINT "チイサスギ" 70 WEND 80 PRINT "アタリデス" 90 END
そしてGOTO使いまくりに・・・ 一つの手としては、25 N=K+1 とかにしておく。
ちなみに
>>543 をVBScriptで書くと以下のようになる。やはりRandomize文が必要。
Option Explicit
Dim WshShell, strInt, intRnd, intLow, intHi
Set WshShell = CreateObject("WScript.Shell")
intLow = 1
intHi = 100
Randomize
intRnd = Int((intHi - intLow + 1) * Rnd + intLow)
strInt = ""
Do While Len(Trim(strInt)) = 0
strInt = InputBox(intLow & "〜" & intHi & "の中から、どの数字か当ててみなさい。","【数当てクイズ】")
If CInt(strInt) > intRnd Then
MsgBox "不正解!大きすぎます。", vbOKOnly, "【判定結果】"
strInt = ""
ElseIf CInt(strInt) < intRnd Then
MsgBox "不正解!小さすぎます。", vbOKOnly, "【判定結果】"
strInt = ""
Else
MsgBox "正解!今回は " & intRnd & " です。", vbOKOnly, "【判定結果】"
End If
Loop
Set WshShell = Nothing
WScript.Quit()
>>543 が
GOTOを使わないでやろうとしたのは自分にも理解できた
BASICで構造化なプログラムは無理なのか楽だからGOTOしちゃうのか、どっち?
名前だけ、intとかついてるけど宣言で型指定ないからバリアントだろ
>>553 大規模プログラムが作れるならGOTOとか構造とか関係ないと思うな。
作れない奴がそういう基礎を学ぶべきなだけで、箸のもち方とか、
字の書く順序とかキーボードでブラインドタッチ指の押す位置が
重要だとそんなのと変わらないと思うわ。
そして下に飛ぶGOTOはスパゲティプログラムになるとは思わない。
GOTO文の問題は上に跳ぶから意味不明や解読に問題がでてくる。
まあ俺が一番大きなプログラム作ったのは電子手帳の組み込み系で
アセンブラでの開発ぐらいだけど(1人で)大規模ではないかもしれんけど。
上と下とで どっちにGOTOで飛ぶと問題なくて どっちにGOTOで飛ぶとスパゲティになり解読しずらくなる って単純な上下問題じゃないんじゃない? 上にGOTOでも下にGOTOでもわかりづらいリストを書くヤツはいる 少なくとも書き手が 「他人から見て見やすい、わかりやすい」を意識していないと どっちに飛んでもわかりづらくなる ま、下にあるサブルーチンが 上にあるサブルーチンをGOSUBで呼び出すと 確かにわかりづらくはなるな
WHILEループはそもそも「一度もループ内を通過しない場合もある」ので 最低一回はアテナサイ入力をするのなら WHILEループの直前に1回、アテナサイ入力をする必要がある (または、UNTILループにする) K=INT(RND(1)*11) INPUT "アテナサイ";N WHILE N<>K IF N>K THEN PRINT "オオキスギ" IF N<K THEN PRINT "チイサスギ" INPUT "アテナサイ";N WEND PRINT "アタリデス" END (行番号は省略) 「アテナサイ入力が2重に書かれていた無駄に冗長だ」と思うなら アテナサイ入力はサブルーチンにする
>>557 構造化言語使ってて上への Goto は、あり得ない
あると言うなら例を出してくれ
下への Goto が全ていいわけじゃないけど、多重ループからの脱出とかならあるかも(て言うか、これ以外の例は知らん)
>>559 初期化シーケンスの途中でエラーが発生した場合で、残りのシーケンスをやめて エラー処理シーケンスに一気にジャンプしたいときにgotoを使う。 それでシーケンスを最初からやり直す場合は、無限ループかなんかにしておく。 記述がBASICじゃなくて申し訳ないが、こんな感じ。 while(1) { /* 初期化シーケンス */ if(init1() == ERROR) { goto err_label; } if(init2() == ERROR) { goto err_label; } /* メイン処理 */ while(1) { /* エラーが発生したらループを抜ける */ } err_label: /* エラー処理 */ } もちろん、if文でいっぱい書けばgoto使わなくても同じ処理は書ける。 あと、初期化関数を1つにまとめればまだ良いのだが、世の中、そうそう甘くはないのだ。 >>560 とりあえずそれって下への Goto だよね そのケースなら goto でもいいと思う C ならおれは... for(;;){ if(init1() == ERROR || init2() == ERROR){ エラー処理 break; } for(;;){ /* メイン処理 */ break; /* 内側ループから抜ける */ goto Exit; /* 二重ループから抜ける ... これはありかも */ } } Exit:; のように書くかな。 初期化の処理がもっとややこしいなら別関数でもいいし。 いろいろ書くのがめんどいからかなり省略したけど、タスク制御と絡んでて、 別関数にどうしても分離できないとかあるのだ。 分離できたとしても、結局、初期化シーケンスという起動時にしか呼ばれない 部分にかけるコストに見合わないとかね(無理に組むのは時間がかかるし、 複雑になるのでメンテナンス性が悪化する)。 gotoを使うのはそれを使った方が理解しやすいソースを書けるレアケースであって、 通常はgotoを使わずに書くべきというのは相違ない。 上向きのgotoは確かに無いね。 ってか、continueで何とかなるんじゃね? 実用的にもgotoを上方向で使いたくなる場面はまず無さそう。 むしろ、それを使いたくなったときは、処理シーケンスが 何かおかしなことになってるような気がするw
continueってN88BASICでもあったっけ?
N88-BASICには無かったかも。 ループの終わりにgotoでジャンプさせる手で、前向きのgotoの排除は可能。
N88-BASICの時代プログラム言語はPASCALとあとCOBOLぐらいしか知らなかった。それもクリーンコンピュータのMZ80にテープでインストールするやつ。
99BASICとDarkBASICで決まり。(キリッ
その頃、対戦オセロゲームをすべてBASICで書いたことがあった。いわゆるスパゲッティソース 何でこんなプログラムが動いているのか自分でもわからなかった。
> 大規模プログラムが作れるならGOTOとか構造とか関係ないと思うな。 > 作れない奴がそういう基礎を学ぶべきなだけで、箸のもち方とか、 そうとう時代遅れだね、 現代では非構造化を推奨することは、ありえない。 GOTOを使う事が稀にあるが、ほとんどがGOTO無しで行える。 もし、GOTOを多用すれば悪害の方が多い。 GOTOを排除し、構造化プログラミングを推奨するのが現代の流れである。
脈略なくてごめん。 プログラム書く前のフローチャート作成大事だよね?
>>569 フローはほとんど書かない C 風の言語で書くことが多い ファイルを開く while(!ファイルの最後){ 一行読み込み if(!空行){ 処理する } } ファイルを閉じる みたいな感じ。 システム全体のフローは書くけど プログラム単位でのフローは書かない 必要になるサブルーチンのサブルーチン名を手書きで列挙はする
> プログラム書く前のフローチャート作成大事だよね? 思考を整理するためにも、チャートを書くのが良い習慣です。 それが、正式である必要が無くて、概略の漫画でもよい。 チャートや仕様書を書かずにコードを書くと出来ることもあるが、 出来ないでめちゃくちゃになることもあり、不安定である。 ですから、事前に考察してチャートを含む文書化するのが良い。
N88BASICで構造化プログラミングって難しくないか
現代のフローチャートは仕事の手順書レベルのものだな。 まぁ、まともに書いてあるフローチャートは見たことないがw プログラムのレベルで書くとか意味が無いし、割り込みとかスレッドとか書けないし、 むしろ、やってはいけないレベルだね。 現代では構造化チャートとかモジュール結合度とか、そういうのを考える方が重要だと思う。 このスレの主旨から外れ気味だし、構造化できないN88-BASICとかあり得ないよね! と、元も子もない結論でしめてみるw
>>574 たぶん誤解してると思うけど、N88BASIC で構造化プログラムは可能だし、十分な機能を持ってるよ
>>574 技術評論社からN88BASICを題材に
構造化BASIC とかいう本が出てた
このスレのタイトル「N88−BASIC入門」だったんだ。 ここに来る人は皆、ひととおりは通り過ぎて来てるみたい。 だから入門よりも昔覚えたBASICの活用方ないかな。 例えば、C言語でAndroidアプリ開発するみたいに、BASIC言語でAndroidのアプリに(UNIX上に?)コンパイルする方法とかないかしら。 もちろんAndroidの仮想マシン(Dalvik VM)上でね。
>>578 VBの前のMSBASICの流れで近代化wした言語はいくつかある
FreeBasicはこれから始めるつもり
3つともコンパイル機能あり
【QBASIC互換!?】FreeBasic【GPL】
http://peace.2ch.net/test/read.cgi/tech/1139379786/l50 ○free basicとは
msQbasicとの互換を目指して作られた
フリーのベーシック言語です。
マニュアルをスレ住民の一部が翻訳してるけど日本での情報は少ない
PureBasic
http://peace.2ch.net/test/read.cgi/tech/1289312580/l50 有料
DarkBASIC 使っている奴情報交換してください 3
http://peace.2ch.net/test/read.cgi/gamedev/1326593988/l50 商用は有料、ゲーム向け特化
>>構造化言語使ってて上への Goto は、あり得ない >>あると言うなら例を出してくれ なんとなく上へのGotoを書きたくなった時とか
>>581 強制されたら意味なく従いたくないとか、反抗期の高校生かっつーの w
今時はgoto使ってぐちゃぐちゃにする奴より、 むしろ使うべきところで使わずにif-ifネストの斜めなソースを書いたり、 やたらフラグが多くて流れを追い難いソースを書く奴の方が多そう。
>>578 スマホ用N88とかあればおもしろいんだろけどな。
10 K=INT(RND(1)*11):INPUT "アテナサイ";N: IF N>K THEN ? "オオキスギ":GOTO 10 ELSE IF N=K THEN ? "" アタリデス ELSE ? ""チイサスギ" GOTO 10 N88で動くかこれ?
10 K=INT(RND(1)*11):? MID$("オオキスギチイサスギアタリデス",1+(1+(N>K))+(1+(N<K))*5+(1+(N=K))*10),5):if N<>K THEN 10 GOTOなくしてみた。ちょっと酔ってる
本来なら (1) IF N>K THEN PRINT "オオキスギ" ELSE PRINT "チイサスギ" ENDIF と書きたいとろこだが 当時の8ビットマイコンのBASICだとENDIFなくてIF文は1行で書かなくてはならない だから(1)の記述を擬似的に再現しようとすると次のように書くことになる (2) IF N>K THEN PRINT "オオキスギ" IF N<K THEN PRINT "チイサスギ" この書き方のポイントは THENとELSEが、同じ桁からはじまるように書かれている事。 条件によって2つの結果があり、 その2つの結果がどう違うのかを見比べやすい。
(2)を見て「なんだ素人くさい書き方だ。こんなのELSEを使えば1行で書けるじゃん」と思う人は
「見やすいプログラムを書こう」という意識がない人
>>10 K=INT(RND(1)*11):INPUT "アテナサイ";N: IF N>K THEN ? "オオキスギ":GOTO 10 ELSE IF N=K THEN ? "" アタリデス ELSE ? ""チイサスギ" GOTO 10
585が言っている書き方の、まさに典型
>>10 K=INT(RND(1)*11):? MID$("オオキスギチイサスギアタリデス",1+(1+(N>K))+(1+(N<K))*5+(1+(N=K))*10),5):if N<>K THEN 10
ここまできたら「見やすいプログラムを書く」なんて発想がそろもそもない
こんなのをテクニックだと思っている人は
>>GOTOなくしてみた。ちょっと酔ってる
確かに自分の小手先のテクニックに酔っている。
「実行結果が同じなら、どう書いてもいい。自分ならもっと短く書ける。複雑になるが。」
複雑に書いてしまっては、わかりやすさに欠ける。
「実行結果が同じで、より素直に簡単に書く」のが、わかりやすい書き方
「より素直に簡単に書く」事によって、
短い記述になることもあれば長い記述になる事もある。
短ければいいというものではない。
もちろん、長ければいいというものではないけど
わかりやすさを優先して書くと一見すると無駄に長く見えてしまうような場合もある。
>>10 K=INT(RND(1)*11):? MID$("オオキスギチイサスギアタリデス",1+(1+(N>K))+(1+(N<K))*5+(1+(N=K))*10),5):if N<>K THEN 10
こういう書き方は、当時確かに流行った
IF文は1行に書ききらないとならないという制約や
メモリの都合上といった理由もあるけど
普通のプログラム教本ではこんな書き方は推奨しないし
普通にプログラムを書いていて
こんな書き方にあまりたどり着かない
それなのに、なぜこういう書き方が流行ってしまったのか・・・
それはDrDが、こんな書き方を褒めてしまったせいだ!
高速化、省メモリのためだろ。ぶっちゃけ効果はかなりあったりするので、 ソースの読みやすさより優先されても仕方が無い。 コンパイラの吐き出すコードが読みやすさなんてどうでもいいのと同じ。
>>588 のを複数行で書くと
10 K=INT(RND(1)*11):
20 INPUT N
30 IF N>K THEN ?"オオキスギ":GOTO 10
40 IF N<K THEN ?"チイサスギ":GOTO 10
50 ?"アタリ"
60 END
となり、ごくフツーの書き方で別に読み難くは無い。
ちなみにこれ一回入力されるごとに「数」が変わって、やたら高難易度なんだが…
せっかくの大小表示もヒントにならないしw
110 K=INT(RND(1)*11) 120 while 0=exit 130 INPUT N 140 IF N>K THEN print "オオキスギ" 150 IF N<K THEN print "チイサスギ" 160 if n=k then exit=1 170 wend 180 print "アタリ" 190 END 俺は、このように書く。 ブロックなら、ON GOSUB もある。
>>596 このケースだとWHILEループは適してないのに、
無理矢理使おうとして色々酷いことになってるね。
forループで試行回数制限すればいいんじゃないの?
>>596 なぜか110から始まってるから
100 N=-1
とでも入れて
120をwhile N<>Kにすれば160は不要となる
>>595 わかりやすい
>>ちなみにこれ一回入力されるごとに「数」が変わって、やたら高難易度なんだが…
>>せっかくの大小表示もヒントにならないしw
本来はGOTO 10じゃなくてGOTO 20だよね。
>>587-588 の書き方がおかしんだけど、本人も酔っ払ってたみたいだからそこまでの追求は無用か。
K=INT(RND(1)*11) はループの外にあるべきだし、INPUT はループ内になければならない。
これを両立しようとしたらKの初期設定とINPUTで、最低2行はあるべき。
WHILEを使うなりFOR〜NEXTのSTEPをSTEP 0にして添え字をループ内で書き換えたり、
なんてすれば1行で書くことも可能かもしれないけど
そこまですると手段が目的になってしまって元々の目的を見失っているような。
1 IF K=0 THEN K=INT(RND(1)*11):INPUT"アテナサイ";N:?MID$("オオキスギチイサスギアタリデス",1+(1+(N>K))+(1+(N<K))*5+(1+(N=K))*10),5):if N<>K THEN 1 ELSE K=0:IF N THEN 1
1 K=-(K=0)*INT(RND(1)*11):INPUT"アテナサイ";N:?MID$("オオキスギチイサスギアタリデス",1+(1+(N>K))+(1+(N<K))*5+(1+(N=K))*10),5):IF N<>K THEN 1 ELSE K=0:IF N THEN 1 あれ?真偽値って幾つだったっけ?
うるせーなー。そんなに1行で書きたきゃ、ほれ。 1 DIM A$(2):FOR I=0 TO 2:READ A$(I):NEXT:K=INT(RND(1)*11):N=99:WHILE K<>N:INPUT"アテナサイ";N:PRINT A$( SGN(N-K) +1):WEND:DATA チイサスギ,アタリデス,オオキスギ ・わかりずらい条件式は使わない ・それなので、あたりハズレのメッセージの長さによって条件式を書き換える必要はない ・Kは当たるまで変化しない ・配列はきっちりDIM宣言をする 条件式を使うと、なんとなくリストがわかりづらくなる 「こんなにわかりづらいけどオレにはわかる。これ書いたオレ、カコイー!!」 くだらん。やめろ。 わかりづらい条件式がカコイイように感違いする輩が増えたのはベーマガとDr.Dのせいだ
ベーマガは大抵ゲームだから難読化上等でしょう。 見ただけで攻略法が分かっちゃうと興醒めの場合もある。
>>609 数当てゲームだから難読化OKってことかw
内容が分かってたら絶対買わないが、使ってみると意外と重宝する福袋の中身みたいな。
MID$の最後の引数の1+(N=K)ってとこ 多分、NとKが等しければ2、そうでないなら1を期待してるんだろうけど、 こういう式でN=Kは代入文じゃなくて、比較文として処理されるん?
あまり気が進まないんだけど、1行君のやっていたMID$を使う方法で書いてみた。 確かに短くはなるな。 メッセージの長さが3通りとも全部同じ長さって前提なら、結構いい方法かな。 1 K=INT(RND(1)*11):N=99:WHILE K<>N:INPUT"アテナサイ";N:PRINT MID$("チイサスギアタリデスオオキスギ",1+(SGN(N-K)+1)*6,6):WEND これが短くする限界かね。 こんな事に挑戦するよりもわかりやすく書く事を心がけようぜ、1行君。 >>こういう式でN=Kは代入文じゃなくて、比較文として処理されるん? そそ。0か-1になるんだよ。 こんなの使うとわかりづらくなるだけなんだけど、 当時のベーマガではDr.Dがプログラムを短くするテクニックだとほめていたんだよ。
1行で書くとか短く書くってのは今の時代では完全に趣味の領域だね。 昔は記憶領域が小さくて短くせざるをえない時代もあったから、その時代ではアリだったのだろう。 今の時代は小さくすることよりもメンテナンス性やモジュールの再利用性が重視されるようになった。 まぁ、昔と今じゃ価値観が変わったってことだな。
当時は、著しく処理速度が遅かった。 4MHzのZ80でBASICインタプリタだから。 メモリも少なかったし だから、色々なテクニックがあった。 でも、今の時代は、 ドキュメントになるコードが良いコードだよ。
そりゃ打ち込む時代とコピペの時代じゃ違うけど、 そっちはこの板でやる意味ないのよね。
>>615 さん
>>460 で実行してみました
1gyoでセーブしてあります
>>614 > 比較文として処理されるん?
そう、比較文と言うか比較演算子として扱われる
ちなみに C/C++ の = は、代入文じゃなくて演算子
>>こういう式でN=Kは代入文じゃなくて、比較文として処理されるん? PRINT 1=1 とか PRINT 1=0 とかやってみれば、テストできるよ
>>619 BASIC1行で出来ちゃうんだね。素晴らしいですね
ところで、行番号のかわりにラベル名をつけて、サブルーチンなんかに飛ばしたりというのはN88BASICでは不可能なんでしたっよね?
N88BASICが、常に行番号を使い、それに加えてラベルを使う事もできる。 行番号無しで行いたければ、N88の次世代である QBASICを使いなさい。 QuickBASIC や FreeBASIC では、行番号が無くなりラベルを使う。
>>621 定数同士の比較なら=は比較として容易に判別できるけど、
変数同士だと代入と比較をどうやって判別したらいいのかがよくわからない。
これがちゃんと正しく判別できないと、インタプリタ作れないよね?
>>623 よく理解しました。ありがとうございます。
>>624 関係演算子と代入は、構文の中の位置が異なり、
インタプリタは構文解析を行うから混同される事は無い。
BASIC言語において、関係演算子が使われる場所が限定される。
ちなみに、マイクロソフト系は、関係演算の結果を整数の数値として処理している。
>>616 うん。末期のトラ技コンピュータで1行プログラム特集やってた。酔狂だわw
くだらない(←ほめ言葉)プログラムばかりで案外楽しかったな。
>>624 比較を括弧でくくればおk
今思うとBasicでこんなのやるなよと思う。
なぜか当時流行ってて月刊誌やアスキーの薄い本で使われてた記憶がある。
一行はキツイな 下スクロールで一画面(80×25文字)プログラムなら作れたが…… 若いころだったらなw
今のトレンドだとTwitterに1回で投稿できる140文字かな
>>624 本来命令文があるところに変数名に続き=が出てきたら代入文になる、
それだけだよ。
FreeBASICが、ソースコードで公開しているから、調べてみるのも良い
MBASIC86がVectorにある。 N88互換のソースコードつきだから、調べるとよろしい。
動くのであれば そのマシンでできる事なら何やってもOK、なコンテストだったんでしょう より多くのマシンに対応できるようにすればするほど 地味な事しかできなくなってくるしね
peekやpokeあるやは >460で試せないやなあ残念ながら
ROM内ルーチンのエントリポイントのアドレスリスト
N-BASICならあるけど、 8086なのかな? 何に使うの?
PC9801のROM呼び出しを使って、何をしたいの? ROM-BASICの解析をしたいのかな?
98なら88のエミュレータ動くな まあ86→z80の変換してROMを移植するのは容易じゃないだろうが。
>>648 本体しかないとはモニターがなくて表示できないってこと?
それともシステムディスクとかソフトがないから何もできないってこと?
センター試験旧数学U・旧数学Bで、まだ行番号付きのBASICがぎりぎり現役だなw 新課程では削除されてるみたいだし、今年で終わりかな?
今年のセンター試験ではついにN88-BASICが消えたな。
=を使った、代入と比較の違い BASICでは、構文の場所によって代入と比較を区別する。 また、LETを使って明示的に代入を区別する。 MS-BASICの場合は比較の結果を1/0で記録する。 例えば、 IF 2=A THEN PRINT A :'この0=Aは比較 A=5 : PRINT A :'このA=5は代入
N88だと式が真の時は-1だったっけ? そういえばA=(A=5)はA=A=5と書けるのだろうか
>>657 書けるよ
A=A=5の場合
最初にAが5だったらAは-1に
それ以外は0になる
N88-BASICの互換BASIC・・・BASIC/98か。 面白そうだなぁ。 コンパイラ版とか時代を感じる。
a =b +(-1)*(c >0) 大昔これ書いたら教育担当にちょびっとおこらりたw
短く書けて便利なようだけど わかりづらくはなるよな
今までの経験だと学部卒の新入社員はそういうコーディングをしたがる 院卒は if (C > 0) 〜 というごくオーソドックスでわかりやすいコーディングをする 自分のイメージでは逆だったのでちょっと驚いた 組み込み用とかで1バイトでも節約したいなら許すけど、普通のシステムなら直ちに却下だわ 「明日の自分は赤の他人」てことを肝に銘じて、いちいち考え込まずに読み下せるようなコーディングをしろってポリシーは未だに変わらず
こうか (A式) if c <= 0 then a=b if 0 < c then a=b+1 (B式) a = b - (c > 0)
実務だとこうだな a = b if (c > 0) then a=a+1
if c <= 0 then a=b else a=b+1 こんな事、書きたくないな end if が使えて if c <= 0 then a=b else a=b+1 end if と書けるなら、使ってもいいけど 条件によって 「a=b」 を実行する場合と 「a=b+1」 を実行する場合と、2系統の処理に分岐されるわけでしょ 2系統の処理の頭が縦に並べて記述してる方が 違いを見比べやすくてわかりやすい
>>665 このA式は、言語によっては危険な書き方
FortranやCOBOLだと、1行目の then a=b の後にピリオドがあるかないかで2行目の評価タイミングが変わってくるはず
BASICスレでFortranやCOBOLの話を持ち出されても……
>>669 ではA式をBASICで書く場合、
どう書けばよりよいのか例えを挙げてください
>>665 のA式はないわ
排他な条件式が2箇所に書いてあるなんてメンテ性悪い
普通にif then elseでええやん
>>668 の前者後者は言語仕様とコーディング規則の範囲でお好きなように
then elseが大きく離れるくらい複雑になるならモジュール化
だけど今の時代のあるべき書き方をN88-BASICに求めるのは酷だな
俺は
>>666 の書き方を推すぜ!
条件式1つだけだから。
N88-BASICの条件式と論理式を学ぶのに最適な教材: COM SIGHTのBPL(Battletank Programing Langage)がいいと思う。 IF文を使うと1クロック食われるが、条件式と論理式をうまく組み合わせて使うと、IF文は不要になる(クロック消費ゼロ)。 BAEM 0:ビーム撃たない:クロック消費ゼロ MOVE 0:移動しない:クロック消費ゼロ とか、試してできた時は吹いたw 後、スレチだが、ミサイルが44度で撃てることを見つけた時とか。
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ ――――
マルチメディア対応BASIC(MS-DOS版 V6.1以降)で グラフィック画面を縦480ラインにする方法を教えて下さい
COMSIGHTは小学生のころむっちゃほしかったわ
懐かしい… 中学の時、家にpc8801と9801があったからn88basicを勉強しだしたんだよな 何も分からずに厚さが10cm近い仕様書読み出したから、始めは変数?何それ…だった
おおこんなスレがw 俺は仕事でN88BASIC使って事務所理系システムを組んでたなあ。 と、書くと歳がバレちゃうけど。 言語仕様が貧弱だったので、画面入力やソートやグラフ作成やISAMのサブルーチンも自前で作ってた。 若い頃はITドカタ一筋で今はネットワーク系に転向しとります。 今の開発環境はよーわからんw
>>657 N88BASICは0が偽で0以外は真、要するにCと同じ
ちなみにN88互換BASICは-1が真で-1以外は偽
条件式の評価結果はどちらも真が-1 print (1<2) の結果はN88BASICとN88互換BASICのどちらも-1 if (0) print "a" else print "b" これはN88BASICでは"b"だけどN88互換BASICでは "a"
こんなのを両方で動かしてみるとよくわかると思う 1000 FOR I=-5 TO 5 STEP 1 1010 PRINT USING "###="; I;:IF I THEN PRINT "TRUE" ELSE PRINT "FALSE" 1020 NEXT I
世代間の価値観の乖離が大きくて全部プロ野球がTV放送しなくなるんだが
背景にあるんだってさ
ガーシーの馬鹿とか焚き付けたら下手したら2ch発の仕手銘柄にも信者いるのわかるだろうが
何より
このペースだと2カ月は 思うけど 身の潔白証明しろよ ネイサンの事故率12倍
市販の風邪薬を充実させる 燃焼範囲温度は空気の銀メダリストとは思わないからUSだけ聴くようなった ビヨンドは全日残ってるのにな
女は恋愛ドラマ向かない
何も問題にならなかったり裁判まで動揺してるというか
ただの無職
アイスショーでお疲れなんでしょ
アンチ=クズと思われたいんだろうな 次長課長、おぎやはぎ置いときますね
今日から
作者自身が農家兼猟師やからソウナン読んでないんやけどアレ死人出るで
もう1回あのコピペ消えた空白期間で退会
全然怒って自害したバスの燃料も燃えたら意味ねえっての
話題になりそう ジェイク次のネタが定番やねんけど4コマやと自分がやったことあったわ やっぱり戦術より個だわ
一個思い出したけど思った ダブスコ2320買い余力オールイン! 本スレにしつこい荒らしいるんだが
>>320 消化試合10違ってゾーンの出し入れで三振取りづらいんよ
2Q黒字化
→4855億円貸したが
こんなことなった様な足場屋の開店準備をして直してこいよ海外ババア やっぱりなんかあったっけ
そしたらどうやってたことを棚に上げて人集めるためにやることないんやない
>>439 御曹司や気品あふれるとか見た目だけ綺麗にしたがるのはあんたの?これがスイカがかなり究極の食い物らしいのでそこはいいんですけど。
アステラスはいつでもよくて
アイスタ突撃恐ろしいな
9月以降上がる?
lud20250223101631このスレへの固定リンク: http://5chb.net/r/i4004/1074389689/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
>50
>100
>200
>300
>500
>1000枚
新着画像 ↓「N88−BASIC入門YouTube動画>1本 ->画像>9枚 」 を見た人も見ています:・【資料】考証入門【取材】 ・PHPユーザのためのPerl入門 ・オススメの心理学入門書教えて ・電子工作入門者・初心者の集うスレ 91 ・UNIXプログラマの為のWindows入門 ・囲碁初心者・入門者への指導法を考えるスレ ・【入門】FX初心者質問スレPart100 ・囲碁入門コンテンツ制作に向けた理論体系の構築 ・【名門】群馬のゴルフ場・ゴルフ練習場4【入門】 ・集団ストーカー入門の本が売られてる件ww ・【学生】20代の腕時計趣味入門【新社会人】 ・単に聴くだけで 入門とか初心者ってなに? ・電子工作入門者・初心者の集うスレ 97 ・【入門】ヴェポライザー初心者質問スレ【喫煙】 ・◎◎ 素人ボウルスピナー入門 ◎◎ ・Wonderland Wars 入門者・初心者スレ Part14 ・英語入門〜上級レベルまで最低限やるべき100冊 ・【入門】FX初心者質問スレPart92 [無断転載禁止] ・【入門】ヴェポライザー初心者質問スレ5【喫煙】 ・★081026 rikei 「人権擁護法案入門」コピペ連投報告 ・貧乏入門・小池龍之介(東京・月読寺住職)・3 ・機械なぞ要らぬっ! 肉眼のみで解読するバーコード入門 ・[入門スコープ/ドットサイト]低価格光学サイト実用スレ25mm ・Wonderland Wars 入門者・初心者スレ Part11 ・/ ´,_ゝ`\初心者のための富士山登山入門131m(ワッチョイなし) ・適菜収「安倍でもわかる政治思想入門」 [無断転載禁止] ・/ ´,_ゝ`\初心者のための富士山登山入門128m ・【エントリー】6〜10万円の素敵なロード【入門】 ・【入門】ヴェポライザー初心者質問スレ2【喫煙】 [無断転載禁止] ・【入門】ヴェポライザー初心者質問スレ12【喫煙】 ・/ ´,_ゝ`\初心者のための富士山登山入門160m【お知らせSP】 ・悟り】ノンデュアリティ(非二元)【入門者】PART2 [無断転載禁止] ・Wonderland Wars 入門者・初心者スレ Part9 [無断転載禁止] ・プロレス団体は入門した新弟子にいつ八百長だって教えるの? [無断転載禁止] ・ガンダム富野監督「オタク学入門読んだけど、今やオタクは人畜無害以前の”消費者”でしかないんじゃないかと思う」 ・【音楽】「パーラメント/ファンカデリック入門 必聴レコード10枚」を英The Vinyl Factoryが発表 ・【相撲】大鵬の孫・納谷幸之介が大嶽部屋入門会見「幕内で活躍できる力士になりたい」 貴闘力の三男 納谷(なや)[17/12/19] ・【社会】北陸新幹線の工事で88戸被害 建物ゆがみ・門に傾き 長野 ・【JINJIN就職】 富士ソフト(FSI) 第58弾 ・【Dlife】CSI:科学捜査班 Part4 ・[JINJIN消滅] 富士ャtト(FSI) 第55弾 ・【北斗神拳・伝承】蒼天の拳REGENESIS★3 ・【旧クリスタル】株式会社CSI_Part7【旧クッドウィル】 ・松岡正剛 ISIS イスラム国 炎上商法 ・【通信】同じ回線で「格安」移行、SIMロック解除不要に 総務省 [無断転載禁止] ・【イスラム国】国際テロ組織「ヒズボラ」…日本人殺害の「ISIS」を非難 ・【通信】「SIMロック」解除、中古端末でも義務可へ ・【国際】ISIS、米軍常駐の基地を襲撃 イラク軍が撃退 ・【国際】ISIS掃討作戦、民間人死者は2年半で229人 ・【3G】海外SIMについて語ろう【GSM】 [無断転載禁止] ・【企業】サムスン、LSIに6400億円投資 メモリー変調に備え ・【競艇】BOAT RACE振興会 新人記者がボートレーサーの裏側を取材するオリジナルゲーム『SIX SICKS』配信開始[11/24] [無断転載禁止]©bbspink.com ・【松尾】ZNX【妹尾】 ・【NX】任天堂、新ゲーム機「NX」用ソフト開発ツールの配布開始 ・LEGEND OF BASARA ・買ってはいけない入門書・68 ・【裁判】燃費不正で初の集団提訴…三菱車購入88人、賠償1・3億円求め 大阪地裁 ・劇場版鬼滅の刃無限列車編、公開52日で興行収入288.8億円 ・英文解釈の技術シリーズ(入門70・基礎・100) ・/ ´,_ゝ`\初心者のための富士山登山入門125m ・/ ´,_ゝ`\初心者のための富士山登山入門138m ・◆◆◆雑談専用スレ★88◆◆◆ ・[入門スコープ/ドットサイト]低価格光学サイト実用スレ20mm [無断転載禁止] ・【仏テロ/報道】特攻隊は「テロリストとは違う」「戦友への侮辱だ」 仏報道に88歳元隊員憤り★6 ・【パナマ文書】ICIJ「10日午前3時に史上最大の発表をする」 ★2 ・【入門】「オタク」と「サブカル」はどう違うのか?
04:26:13 up 45 days, 5:29, 0 users, load average: 6.81, 7.90, 11.54
in 0.054394960403442 sec
@0.054394960403442@0b7 on 022718