• ベストアンサー

このプログラムは何言語?何のプログラム?

このプログラムは何言語?何のプログラム? 手掛かり的な情報は全く無いのです。 10 CLS:CGSET 1,0 20 DEF SPRITE 0,(0,1,0,0,0)= CHR$(1)+CHR$(0)+CHR$(3)+CHR$(2) 30 SPRITE ON 40 FOR X=0 TO 240 50 SPRITE 0,X,120 60 PAUSE 3 70 NEXT

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

  • ベストアンサー
  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.7

補足: 一応正確を記す為に 20 DEF SPRITE 0,(0,1,0,0,0)=CHR$(1)+CHR$(0)+CHR$(3)+CHR$(2) だと、たてに左右入れ替わった真っ二つ髭親父のスプライトとなります。 ちゃんと表示させると 20 DEF SPRITE 0,(0,1,0,0,0)=CHR$(0)+CHR$(1)+CHR$(2)+CHR$(3) この順番 「上左+上右+下左+下右」に対応していて [0][1] [2][3] が正常表示なら [1][0] [3][2] が質問者様が提示したイメージとなります。

kakibesuto
質問者

お礼

回答ありがとうございます。 大正解です。素晴らしいです。尊敬します。 類似のお兄さんですよね。 0,(0,1,0,1,0)このように1に変えると右向きに表示されますね。 ありがとうございました。

その他の回答 (6)

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.6

たびたびすいません。 やっぱりFamily-BASICでした。 V3で検証したところ、あらかじめ用意された「某ゲームで有名な髭親父」のスプライトが画面真ん中を左から右へ移動します。

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.5

どうもこれはANo.2さんのHu-BASICが正しいようです。 一般的にはファミコン用のFamily-BASICの方が有名かも MSX-BasicにはCGSETという命令はないので・・・一応MSXで動作確認してみました。 Family-BASICもあるのですがおしいれ深く入っていて出すのが面倒です。

  • tetsumyi
  • ベストアンサー率25% (1946/7534)
回答No.4

私もMSXbasicだと思います。 現在、このプロラムがWindows上でほとんどそのままで動く99Basicがあります。 http://www.sagami.ne.jp/tadaka/99Basic/

kakibesuto
質問者

お礼

回答ありがとうございます。

回答No.3

古いパソコン用Basicによるものですね。 SPRITE というのは、文字の表示機構をグラフィック表示に流用することで、貧弱なハードウエアでそこそこの画像表示(多くは、アクションゲーム用)をこなすものです。 20 DEF SPRITE 0,(0,1,0,0,0)=CHR$(1)+CHR$(0)+CHR$(3)+CHR$(2) ここで、外字定義と同じようなやり方で、ひとまとまり(概ね、画面上の1文字分)の画像パターンを定義しています。 40 FOR X=0 TO 240 50 SPRITE 0,X,120 60 PAUSE 3 70 NEXT このあたりの命令で、画面の左端(0, 120)から右端(240, 120) まで画像を移動させています。 移動させるに当たって、表だって表示されていたものを消す → 新たな位置に表示させる という手間を分でないのがミソですね。 PAUSE は、移動が早くなりすぎないように時間稼ぎをしているものです。

kakibesuto
質問者

お礼

回答ありがとうございます。 これを見ただけでどういう動きをするのか分かるなんてすごいと思います。

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.2

BASIC言語には間違いがないですが、種類はたぶんHuBASICだと思います。 処理は画面の色を変化させているだけかな?

kakibesuto
質問者

お礼

回答ありがとうございます。

  • heyboy
  • ベストアンサー率21% (1852/8730)
回答No.1

大昔の8ビット機のBASIC言語だと思われますが 「SPRITE」から察するにMSXかな?と思われます ちなみにSPRITEとは直訳すると妖精でして たぶん、画面を表示したりキャラクターにして 動かしたりする命令だと思われますけどね、、、。

kakibesuto
質問者

お礼

回答ありがとうございます。