• ベストアンサー

N88basicからVBScriptへの移行

普通のベーシックでPsetやCirlceやLineというのがありますが それをVBSで使いたいのですがどうしたらいいのでしょうか? 例えば 10 for t=0 to 100 step 0.1 20 x=t 30 y=t 40 pset(x,y) 50 next t これをVBSに書き換えるとどういう風に書き換えたら良いのでしょうか? VBSは表示させる画面がないのでグラフィックは出来ないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.4

★アドバイス >javascriptならできるのでしょうか?  ↑  なら『JavaScript』http://oshiete1.goo.ne.jp/c254.html で質問してみるとか。  私も『JavaScript』は使ったことがありますが、このスクリプトで N88BASIC と同等な  グラフィックを操作するのは無理だと思います。画像の切り替え程度が可能。 >スクリプトはHPに埋め込むことが出来ると聞いたものですから、 >スクリプトをやろうと思ったのです。よろしくおねがいいたします。  ↑  確かに VBScript も埋め込むことが出来ますね。  でもグラフィックの命令は VBScript にはないと思います。  N88BASIC ではお馴染みの命令ですけど。  何度も言うが N88BASIC、VBScript は別言語です。 >アニメーションのHPを作ろうと思った  ↑  それなら『VBScript』や『JavaScript』よりも  『Flash』を使った方がいい気がします。→http://oshiete1.goo.ne.jp/c564.html  『Flash』でプログラミングできる環境なら使ってみて下さい。  『Flash』とは→http://ja.wikipedia.org/wiki/Adobe_Flash  『Flash』はあまり詳しくないのでカテゴリを変えて質問してみて下さい。 ・以上。

参考URL:
http://oshiete1.goo.ne.jp/c564.html
melon2007
質問者

お礼

FLASHについて調べてみます。大変ためになりました。

その他の回答 (4)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.5

http://www.f.waseda.jp/takezawa/math/geometry/cyclo/gifcyclo.htm のHTMLコード見てみましたか?どんなブラウザでも見ることができます。 javascritで書いてあるみたいですが、gifでコマ数分のアニメーションデータを持っているみたいですよ。 javascriptもVBScriptもそういう用途には向きませんので、Oh-Orangeさんの言われるとおりFLASHをつかえばアニメーションはできる様になります。 しかし、プログラムで描画とはイメージが違いますね。 JAVAを使ったこちら↓がイメージに近いかも知れません。 http://ja.wikipedia.org/wiki/Java_Web_Start 私も詳しくありませんので、JAVAのカテゴリのほうでたずねてみてください。 http://oshiete1.goo.ne.jp/c253.html

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.3

★アドバイス >これをVBSに書き換えるとどういう風に書き換えたら良いのでしょうか?  ↑  N88BASIC と VBScript では文法が違いすぎます。  よって移植は不可能です。 >VBSは表示させる画面がないのでグラフィックは出来ないのでしょうか?  ↑  その通りです。 ・もし N88BASIC のソースを実行したいだけなら『99 BASIC インタプリタ』などの  Windows 上でも利用できるソフトを用意すれば良いです。  私は以前にこのソフト『99BASIC』を使ったことがあります。  使おうと思った理由は昔の N88BASIC の本に付いていたソースを実行してみたく  なったから。ゲームとかね。  http://www.sagami.ne.jp/tadaka/99Basic/→『99 BASIC インタプリタ』  http://homepage3.nifty.com/skis/n88/99Basic.htm→『99Basicインタプリタ 手引き書』  http://www.vector.co.jp/soft/win95/prog/se123748.html→『Vector』さん ・あと回答者 No.2 さんが紹介している ActiveBasic を使えばネイティブ・コードを  作成可能ですので実行時の速度が一番速いです。インタプリタではないので。  他にも  http://mis.edu.yamaguchi-u.ac.jp/kaisetu/n88basic_00/n88win.html→『N88互換BASIC for Windows95』  http://www.dennougumi.co.jp/products/basic98/ver5/index.html→『BASIC-98 Ver.5 製品情報』  ↑  これ製品版。 ・以上。

参考URL:
http://www.vector.co.jp/soft/win95/prog/se123748.html
melon2007
質問者

お礼

ありがとうございます。どうしてスクリプトをやろうかと思ったと言いますと、http://www.f.waseda.jp/takezawa/math/geometry/cyclo/gifcyclo.htm のようなアニメーションのHPを作ろうと思ったからなのですが、javascriptならできるのでしょうか? スクリプトはHPに埋め込むことが出来ると聞いたものですから、スクリプトをやろうと思ったのです。よろしくおねがいいたします。

  • tetsumyi
  • ベストアンサー率26% (1857/7086)
回答No.2

N88basicから移行するのであればWindows上で動くBasicを使うことをお勧めします。 十進BasicやTinyBasicがあります。 http://hp.vector.co.jp/authors/VA008683/  これはFull-Basic系 http://www2.cc.niigata-u.ac.jp/~takeuchi/tbasic/  こちらはMS-Basic系です。 コンパイルして実行ファイルを作りたい場合はActiveBasicがあります。 http://www.activebasic.com/ ダウンロードからVer.2を使って#promptで多くのN88basic命令をそのまま実行できるようになります。 最近のBasicでは行番号は必要ありませんし構造化プログラミング対応となっています。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

標準のVBSでは無理ですね。 こんなの↓ http://www.vector.co.jp/soft/winnt/prog/se219120.html を使えば利用可能になります。 ただし、BASICのすべての該当関数があるとは限りません。

関連するQ&A

  • basicでの三角関数のグラフの書き方??

    active basicを使って、sinxのグラフを書こうとしたのですが、出来ません。以下のようにやってみたのですが、x軸と平行な点線が描かれるだけ…。 100 cls3 110 line(50,550)-(1050,550) 120 line(550,50)-(550,1050) 130 for i=0 to 360 140 x=i/360:y=sinx 150 xw=500*x+550:yw=500*y+550 160 pset (xw,yw) 170 line -(xw,yw) 180 next i 990 end どこを直せばいいのか分かりません。初心者なので…。 どなたか分かる方がいらっしゃったら、教えてください。 宜しくお願いします。

  • BASICでの波形合成

    学校でのBASICの宿題で、複数のSIN波を合成する問題で 100 CLS 3:LINE(0,240)-(640,240),7 110 INPUT"基本波の周期は";C 120 INPUT"基本波の振幅は";W 130 INPUT"基本波の移送は";F 140 INPUT"第何倍音まで計算する";N:DIM A(N),B(N) 150 FOR I=1 TO N 160 PRINT I;:INPUT "番目の倍音の振幅は";A(I) 170 PRINT I;:INPUT "番目の倍音の移送は";B(I) 180 NEXT I 190 FOR K=0 TO 360/C*2*3.14159# STEP 3.14159#/90 200 X=C*K-F:Y=-(W*SIN(K))+240:LINE-(X,Y),4 210 NEXT K 220 FOR G=1 TO N:PSET(0,240),3 230 FOR H=0 TO 360/C*2*3.14159# STEP 3.14159#/90 240 X=C/(G+1)*H-B(G):Y=-((A(G))*SIN(H))+240:LINE-(X,Y),3 250 NEXT H,G ここで描いたSIN波を合成した波を描く方法が分からない状態です。 どうにも解決できないのでここに質問しました。どなたか分かる方がいたら教えてください。

  • グラフを書きたいのですがどのようにして使うかわかりません

    FOR I=-200 to 200 FOR J=-200 to 200 X(0) = I / 100 ; Y(0) = J / 100 FOR N=0 to 1000 X(N+1) = X(N)^2 - Y(N)^2 + X(0) Y(N+1) = 2*X(N)*Y(N)+Y(0) IF X(N)^2 + Y(N)^2 > 4 THEN PSET(I,J) WHITE ELSE IF N = 1000 THEN PSET(I,J) BLUE ELSE NEXT N END IF NEXT J; NEXT I というグラフを書くプログラムがあるのですがこのプログラムの使い方がわからなくて使えないのでどのようにすれば見れるのか教えてください。

  • 消す軌跡と残す軌跡

    For t = 0 To 6 Step 0.01 Picture1.Line (0, 0)-(Cos(t), Sin(t)) Picture1.Cls Picture1.PSet (Cos(t), Sin(t)) Next t アニメーションで Line文の描く軌跡は消したいのでClsを使ったのですが Pset文の描く軌跡は残したいのです。 その場合どうしたらいいのでしょうか? 上のプログラムですとline文の軌跡もPset文の軌跡も消えてしまいます。

  • 十進BASICでのsin(x)の近似のグラフ化について

    十進BASICを使っています。 sin(x)=x-x^3/3!+x^5/5!-... について、グラフで確かめようと思いプログラミングしてみたんですが、3行目でt=36以上にするとグラフが描かれなくなってしまいます。 どこを直せばt>35でもグラフが描かれるようになるのか教えていただけないでしょうか。よろしくおねがいします。 LET w=30 LET s=0.1 LET t=30 DIM p1(t) DIM p2(t) SET WINDOW -w,w,-w,w SET POINT STYLE 1 DRAW AXES0 FOR n= 1 TO t LET p1(n)=(-1)^(n+1) LET p2(n)=2*n-1 NEXT n SET LINE COLOR 15 FOR x= -w TO w STEP s LET y=SIN(x) PLOT LINES: x,y; NEXT x PLOT LINES SET LINE COLOR 1 FOR x= -w TO w STEP s WHEN EXCEPTION IN LET y=0 FOR n= 1 TO t LET y=y+p1(n)*x^p2(n)/FACT(p2(n)) NEXT n PLOT LINES: x,y; USE PLOT LINES END WHEN NEXT x END

  • 十進BASICのグラフィック表示についてなのですが・・・

    グラフィック画面にy=sqr(1-x^2)のグラフとy=-sqr(1-x^2)のグラフを描くプログラムを作りなさい。ただし、 set window -1.5,1.5,-1.5,1.5 としなさい という問題で 私が書いたプログラムは SET WINDOW -1.5,1.5,-1.5,1.5 DRAW axes DEF f(x)=SQR(1-x^2) DEF g(x)=-SQR(1-x^2) LET h=0.01 SET LINE COLOR 9 FOR x=-1 TO 1 STEP h PLOT LINES:x,f(x);x+h,f(x) NEXT x SET LINE COLOR 10 FOR x=-1 TO 1 STEP h PLOT LINES:x,g(x);x+h,g(x+h) NEXT x END なのですが、 DEF g(x)=-SQR(1-x^2) のところでエラーが出ます。 どうすれば、改善されるか思いつかないで教えてください。 よろしくおねがいします。

  • Tiny Basicでのグラフィック。。

    適当な大きさのグラフィック画面に、横軸-2πから2π、縦軸-3から3までの範囲で、sin、cos、tanのグラフを書け Line (x1,y1)-(x2,y2),CやGLocate (x,y) を使うのはわかるんですが どうしてもできません。。 とりあえず僕はGScreenを(200,100)の大きさでやろうとおもってるんですがとりあえず、 ForeColor="Blue" Line (x1,y1)-(x2,y2),14 GScreen(200,100) ここまでしかできなくて。。 助言お願いします

  • 99BASICで五目並べを作りたいのですが…

    サブルーチン*CHECK_TABLEは、味方の色(COL:0が黒、1が白)の数を 上から、右上、右、右下、下、左下、左、左上の8つの方向を順番に 数えるプログラムなのですが、上手く動作しません。 出来かけのソースを載せますので、誰か、助けてください。 100 '最初のプログラム(2009/03/18-05:44:23) 110 DIM MASU(640/32,480/32):CLC_X=23*32:CLC_Y=20*32:JUNBN=1 120 DIM CHKTBL_X(7):DIM CHKTBL_Y(7):DIM C(7) 130 CHKTBL_X(0)=0:CHKTBL_Y(0)=-1 140 CHKTBL_X(1)=1:CHKTBL_Y(1)=-1 150 CHKTBL_X(2)=1:CHKTBL_Y(2)=0 160 CHKTBL_X(3)=1:CHKTBL_Y(3)=1 170 CHKTBL_X(4)=0:CHKTBL_Y(4)=1 180 CHKTBL_X(5)=-1:CHKTBL_Y(5)=1 190 CHKTBL_X(6)=-1:CHKTBL_Y(6)=0 200 CHKTBL_X(7)=-1:CHKTBL_Y(7)=-1 210 PALETTE 8,(150,0,0) 220 *MAIN_LOOP'メインループ-------------------------------------------------- 230 CLS 3:SCREEN 3,5,0 240 GOSUB *DRAW_TABLE 250 GOSUB *GET_CLICK 260 SCREEN 3,1,0 270 GOTO *MAIN_LOOP '-------------------------------------------------------- 280 *DRAW_TABLE 290 LINE(0,0)-(640,480),8,BF '背景色を塗る 300 FOR I=0 TO 640/32 310 FOR J=0 TO 480/32 320 LINE(I*32,J*32)-(I*32+32,J*32+32),7,B '升目を描く 330 CX=I:CY=J 340 IF MASU(CX,CY)=1 THEN CIRCLE(I*32+16,J*32+16),16,0:PAINT(I*32+16,J*32+16),0 350 IF MASU(CX,CY)=2 THEN CIRCLE(I*32+16,J*32+16),16,7:PAINT(I*32+16,J*32+16),7 360 NEXT J'マスの値に応じて円の色を変える 370 NEXT I 380 RETURN 390 *GET_CLICK '------------------------------------------------------------- 400 'GET MOUSE 0,SW,MOUSE_X,MOUSE_Y 410 GET MOUSE 2,SW,CLC_X,CLC_Y 'クリックした座標を取得 420 IF CLC_X<>0 AND CLC_Y<>0 THEN CX=CLC_X\32:CY=CLC_Y\32 '32で割る 430 IF MASU(CX,CY)=0 AND FLAG=1 THEN MASU(CX,CY)=JUNBN+1 '順番通りにマスを反映させる 440 NUM1=CX:NUM2=CY:COL=JUNBN+1 450 GOSUB *CHECK_TABLE 460 FOR I=0 TO 7 480 IF C(I)>4 THEN WINCOLOR=JUNBN+1:GOSUB *WIN 485 PRINT "C(";I;")=";C(I) 490 NEXT I 500 MOUSE ON,2:ON MOUSE GOSUB *CHANGE_JUNBN 510 RETURN 520 *CHANGE_JUNBN 530 JUNBN=JUNBN XOR 1:FLAG=1 '順番を反転させる 540 RETURN 550 *CHECK_TABLE '----------------------------------------------------------- 560 FCOL=COL '味方の色 570 FOR I=0 TO 7 580 CHECK_X=NUM1:CHECK_Y=NUM2:COUNT=0 '指定の座標からチェックする 590 FOR J=0 TO 100 600 IF CHECK_X<0 OR CHECK_X>640/32 THEN GOTO *BK 610 IF CHECK_Y<0 OR CHECK_Y>480/32 THEN GOTO *BK 620 IF COUNT>0 AND MASU(CHECK_X,CHECK_Y)<>FCOL THEN GOTO *BK 630 IF COUNT>0 AND MASU(CHECK_X,CHECK_Y)=FCOL THEN C(I)=C(I)+1 640 CHECK_X=CHECK_X+CHKTBL_X(I):CHECK_Y=CHECK_Y+CHKTBL_Y(I) 650 COUNT=COUNT+1 660 NEXT J 670 *BK 680 NEXT I 690 RETURN 700 *WIN '------------------------------------------------------------------- 710 IF WINCOLOR=1 THEN PRINT"黒が勝ちました。!" ELSE PRINT"白が勝ちました。!" 720 RETURN

  • データを別なプログラムでも利用したいのですが

    例えばAのプログラムで for x=1 to 10 y=x-5 next x として(x,y)の値を何らかのファイルとして保存し 別なプログラムBでそのデータを利用して picture1.pset(x,y) と作りたいのですが、このときはどのように作ればよいのでしょうか 宜しくお願いします。VB6を使っています 最初のプログラム(A)では↓こんな風に作るのかなと思いますが… Open "C:\WINDOWS\デスクトップ\実験.dat" For Output As #1 For x = 1 To 10 y = x-5 Write #1, x, y Next x Close #1

  • BASICからC言語に

    BASICで for I=1 to 5:line input #2,w$:next I line input #2,COMMENT$ と書かれているプログラムをC言語に書き直したいのですがどのようにしたらいいのでしょうか?

専門家に質問してみよう