Pascal の初心者用の質問・相談所
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGコンソールのみ。GUI は扱いません。
「Cをやったけど難しいので、やっぱりPascalからぼちぼちやるぅ」という人向け。
コンパイラダウンロード
http://www.vector.co.jp/vpack/filearea/win95/prog/pascal/index.html
ちなみにDelphiは
「モナーの *やさしい* Delphi質問スレ」
http://pc.2ch.net/test/read.cgi/tech/1003113413/
0082デフォルトの名無しさん
NGNG>pascalとcならpascalがシンプル
どっちもどっちなんじゃ?
この二つじゃ。
0083デフォルトの名無しさん
NGNG文字列や配列の扱いは マシンから見たらcがシンプルだけど人から見たらpascalがシンプル
0084デフォルトの名無しさん
NGNG制御構造だと
Pascal場合
if
case
for
while
repeat..until
Cの場合
if
for
switch
while
do..while
同じようなもんでしょ。
演算子はCの場合、配列とかポインタ関連もすべて演算子の
カテゴリに入ってるから仕様書をみると数が多いように見えるけど
実際に使用すると、Pascalに比べてとくに複雑と感じないし。
008583
NGNGCのfor文は簡素じゃないでしょ?
while文にしてもpascalは論理型しか書けないけど cは数じゃない?
コンパイラ側から見たら 全部が数ってのはシンプルかもしれないけど
型が区別されてる方が人間から見たらシンプルだと思うんだけどなあ
それと cのreturn は文だけど pascalのexitは手続きで予約語じゃないとか
まあ似たようなもんだけどさ
0086デフォルトの名無しさん
NGNGたとえばPascalのforだったら、私は使いはじめのころはどうして
順序型しかつかえないのか、どうしてグローバル変数は使えないのか、
疑問に思いましたし、
ずいぶん慣れてからも to と downto の使い分けで、ケアレスミスを
してました。
PascalとCがどちらがシンプルかってのは、まあ主観の問題ですね。
実際に問題、大差ないと思います。
0087デフォルトの名無しさん
NGNGFreePascalのマニュアルみていたら「Graphユニット」があって線を引いたり
円を描いたりできるみたいです。これってTurboPascalから引き継がれたユニット
だと思う。
問題は「Graphユニットの初期化」ってやつ。
基礎的なことが分かりません。なぜ、このユニットだけは初期化という作業が
必要なのですか?またサンプルコードをみても「何でこんな常套句が必要なのか
わからない」といったコードがあります。そもそも初期化って何????
それから「グラフポートをOpenしたらCloseせよ」って何?
文字色を変えたりするのは「Crtユニット」を使うわけで、そちらはサンプルを
見てもだいたい意味が分かるのですが・・・。
0088デフォルトの名無しさん
NGNG2. 昔はハードウェア毎に異なる(デバイス)ドライバを,アプリケーション毎に読み込んでいたから。
DOS はグラフィックボードの管理はしないのだ。
3. 古いアーキテクチャで作られた物が,現代の人にとって易しいとは限らない。
古けりゃ簡単,ってことなら古文/漢文で苦しむ人はいないよな。
0089デフォルトの名無しさん
NGNGBASICから入った人には文字列でつまずかないだけでもPascalの方がやさしい
・・・と思う
009087
NGNGエラーがでます。integerで宣言されるinitGraphで使用する変数を、shortintで
宣言するとエラーが消えてサンプルアプリができました。あとは少しずつ
手続きや関数を書き足して調べてみます。
0091デフォルトの名無しさん
NGNG>>83 TurboPascal系はレジスタ渡しで関数呼べるのでPascalのほうがマシンよりでは?
0092デフォルトの名無しさん
NGNGなんでファイルをいちいちOpenしたりCloseしたりしなくてはならないのですか?
なんでFindFirstしたらFindCloseしないといけないのとか。
なんでAllocしたらFreeしないといけないのとか。
と似たようなものですな(w
0093アライグマPascal
NGNGWindowプログラムもつくれますよ。
0095デフォルトの名無しさん
NGNGここから Turbo Pascal 5.5 がダウンロードできます。
割れではないです。
0096デフォルトの名無しさん
NGNGTurbo Pascal 5.5 との互換性がどれぐらいあるのか、
誰か説明できる人いないかな?
0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNGObject PascalはTPのほぼスーパーセット。
ライブラリは除く。
0099デフォルトの名無しさん
NGNG何これ?
0100デフォルトの名無しさん
NGNGコンパイル&実行までできました!
あとはTurbo Pascalの本買ってこよ。
Pascal そのものの本はあんまりないけど、Turbo Pascal の本はいっぱいあるし。
010191
NGNGテンプレートそろえてエディターがRADのものがあれば
FreePascalのほうがdelphiよりよさそうですね、
要は一般的なサンプルが少なくて古典的なものばかりだということなんでしょうか
GUIアプリでGLUTあたりをかますものであれば大体なんでもできそう
0102デフォルトの名無しさん
NGNGDelphiは 実行時型情報と
DLL にコンパイルして設計時にも動作するコンポーネントという概念
それをサポートするツールが組み合わさってRADになってるんだから
0103デフォルトの名無しさん
NGNG0104アライグマPascal
NGNGくどいけど、Win32環境でのプログラミングならDev-Pascalを使った方が、
素のFreePascalを使うよりFreePascal&統合開発環境である関係上多少使いやすい
とおもいます。
GUIのためにGTKをつかうひな形が用意されているのですが、GTKをまったく
知らないので私は使いこなせない状況です。
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG俺はフリパ。
同じく、FreeBSDはフリビ、
でもFreeDOSはそのままフリードス。
0108デフォルトの名無しさん
NGNGみんな7か6対応の本ばっかりで、5対応の本があんまりない。
漏れがダウンロードしたのは5だから、できれば5の本がいい。
それとも、7と5であんまり変わってないなら、7の本を買おうと思うが、そのへんどうなんでしょう。
0109デフォルトの名無しさん
NGNGは4までが対象だけど、これでは古すぎるかな
0110デフォルトの名無しさん
NGNG5.5と7の違いがよくわからん。
0111デフォルトの名無しさん
NGNG「TURBO PASCAL 5.5 OOP GUIDE」BORLAND刊」
というのを見つけた。そうだ。ボーランドの本を使えばいいのだ。
まだ売ってるのかわからんが。
0112デフォルトの名無しさん
NGNGオブジェクト指向を使わないのなら、TP4-7は大して変わらないと思われ。
0113デフォルトの名無しさん
NGNGありがとう。そんなら、7の本を買う。
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNG言語がフリーでも意味ないじゃん。
『Oh! Pascal!/Book and Pc/DOS Disk』
Doug Cooper (著); ペーパーバック
通常4〜14日以内に発送
価格: ¥9,093
『Turbo Pascal』
Elliot B. Koffman (著); ペーパーバック
通常4〜14日以内に発送
価格: ¥9,600
手数料: +¥960
『Using Turbo Pascal 6.0 - 7.0』
Julien Hennefeld (著); ペーパーバック
通常4〜14日以内に発送
価格: ¥10,260
手数料: +¥1,026
『Turbo Pascal』
Samuel L. Marateck (著); ペーパーバック
通常4〜14日以内に発送
価格: ¥14,467
『Turbo Pascal, an Introduction to the Art and Science of Programming (The Benjamin/Cummings Series in Structured Programming)』
Walter J. Savitch (著); ペーパーバック
通常4〜14日以内に発送
価格: ¥8,933
手数料: +¥894
0116デフォルトの名無しさん
NGNGこれだけ読んで、
高いといっても5000から6000円程度だろ
とレスを付けようとして続きをみてびっくり。
それぞれ1000ページくらいの大作なのだろう。
0117デフォルトの名無しさん
NGNG無理にメリケンの本を買おうとするから高いのであって
ニポーンの本で我慢(?)すればそこまで高くはないよ
0118デフォルトの名無しさん
NGNGどの本も大昔の書籍だってこと、わかっているのかな?
なぜ Delphi ではなく TurboPascal を求める?
0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNG自分で制限可能だよ。
まあやろうとしてることはコイツらと変わらんが
Delphiで小さな実行ファイルを作ろう
http://pc.2ch.net/test/read.cgi/tech/1009080085/
0121デフォルトの名無しさん
NGNG弘法筆を選ばず。本質が見える人は GUI がついていても道を見失うことはない。
初心者であれば手軽に手に入る,最新の道具で入門をしなされ。
0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNGVCLによらない素のpascalで遊べます
コンソールが不要な SDK方式でのGUI を作りたければ、
コンソールアプリを選んだ後 {$APPTYPE CONSOLE} を自分で削除すればいいのです
0124デフォルトの名無しさん
NGNGつまりデバッガを使いたければDOSモードへ行かねばならない。
これからPascalを始めようとする人には、あまり向いていないと思うよ。
0125デフォルトの名無しさん
NGNG作るのは貴方の勝手です。ご自由に・・・
0126デフォルトの名無しさん
NGNGふむふむ、確かにFreePascalでもGraphユニットやCtrユニットが用意されているね。
Turboとの互換を考慮してとおもうけど。
GraphDeviceあたりの型を、エラーを参考にShortInt型に書き換えるだけで、きちんと
グラフィックが描ける。英語版のTP5.5をゲットしてDosプロンプトで動かすより、
こちらの方が簡単みたい。
>122
私もTPやFPをネタにコツコツとHPを作ってみようと思っています。
0127デフォルトの名無しさん
NGNGガセ。正しく環境を作れば動く。
DPMI 関連の資料をよく読んで。
0128デフォルトの名無しさん
NGNGC:>TP
:
:
C:>JP
C:>EXIT
0129デフォルトの名無しさん
NGNGUSモードじゃ日本語つかえんぞゴラァ!
0130デフォルトの名無しさん
NGNGじゃしょうがない。US モードにするしかないだろ。
0131ふむふむ(納得)
NGNGないので、日本語文字列はWriteLnなどの手続きでコンソール上に出力することしかできない。
0132124
NGNG今まで知らなかった。ご指摘ありがとう。
DOSプロンプトのプロパティで「必要に応じてMS-DOSモードを実行」を外したら動いた。
>>131
DirectVideo := False;
とすれば、Crtユニットによるテキスト出力がBIOS経由になるから、
DOS/V BIOSのおかげで、Writelnで日本語文字が出力できるようになるよ。
GraphユニットのOutTextでの日本語出力は、無理そうだね。
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG1) FILE-> 新規作成->その他->コンソールアプリケーションを選びます
すると
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
begin
{ TODO -oUser -cConsole Main : この下にコードを記述してください }
end.
とソースが表示されます
program Project1; uses SysUtils; はボーランドによる拡張ですから取り去ってかまいません
{$APPTYPE CONSOLE} も取り去ってかまいませんが、代わりにコンパイルオプションでコンソール
アプリである事を指示する必要があります
結局、最初に書くアプリは これでいいでしょう
{$APPTYPE CONSOLE}
begin
writeln('こんにちは');
readln;
end.
この2行を入力した後、F9 を押せば実行出来ます
0135ふむふむ(納得)
NGNGふむふむ、自分はまだGraphユニットとCrtユニットを完全に理解していなかった
ようです。サンプルコードを希望します。
自分はPC-9800シリーズ用のTP6プロフェッショナル版をもっていますが、
引っ越しのどさくさでソフトはあれど、マニュアルをすべて無くしてしまったのです。
TP6のマニュアルに書かれていたクラスの概念はとても分かりやすかっただけに、
すご〜〜〜〜く、残念です。
だれかGraphユニットとCrtユニットの詳しい解説をサンプルを使って説明して
くれませんか!!
0136デフォルトの名無しさん
NGNGDelphi IDEを使わない方法を説明します。
まず メモ帳でも好きなエディタでも、 ファイル名.pas としてファイルを作成し
begin
writeln('こんにちは');
end.
と3行入力し、保存して下さい。
コマンドラインから
DCC32 -CC ファイル名.pas として改行すれば
ファイル名.exeが作成されます
0137デフォルトの名無しさん
NGNGuses SysUtils ;が 追加された状態では、abort; Ansi/Unicode文字列処理や時間などの関数が追加されます
0138デフォルトの名無しさん
NGNGWindowsの場合、コンソールにグラフィックを表示する事は出来ません。
そこで、別窓を出してグラフィックを出すか
あるいは、BMPファイルを作成して後でビュアーで見るという方法が簡単です
Delphiのフォーム機能をグラフィック画面としてコンソールアプリから使う方法を説明します
0139デフォルトの名無しさん
NGNG新規作成でフォームを作成して下さい
そして以下のように入力して実行してみて下さい
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
Forms,//<----この行を追加
Unit1 in 'Unit1.pas' {Form1};
begin
Form1:= TForm1.Create(nil); //<<--この行以下を追加
Form1.Show;
Form1.Canvas.Ellipse(20,20,100,100);//円の描画
Form1.Caption:= 'こんにちは';
readln;
end.
実行すると、コンソールと同時にタイトルがこんにちは となった フォームが表示された筈です
このフォームはクリックに応答しませんし、他の窓に隠れると再表示もされません
が、とりあえずこれで遊ぶには十分に便利な筈です
0140124
NGNG>TP6のマニュアルに書かれていたクラスの概念はとても分かりやすかっただけに、
おお、同意。なんか執筆者のすごい熱意が感じられる文章だった。
Crtユニットを使って日本語を出力する例。
TP5.5、Win95のDOSプロンプトにて確認しました。JPモードで実行して下さい。
program test;
uses Crt;
begin
DirectVideo := False;
GotoXY(30,10);
TextColor(Red);
Write('こんにちは');
end.
2バイト目が'のコード番号と一致するような日本語文字を文字列中に入れる場合には注意。
コンパイラがその'を文字列の終わりと認識するのを防ぐため、'を一つ追加してやる必要がある。
0141デフォルトの名無しさん
NGNG0142動物アイゴー協会
NGNG0143デフォルトの名無しさん
NGNGそこで、コンソールアプリからBMPファイルを作成して表示させる方法を説明します
まず、新規作成でコンソールアプリを新しく作った後
uses
windows, //WindowsのAPIを使います
ShellApi, //ShellExecuteを使う為に
Graphics, //TBitMapを使う為に
SysUtils;
var bmp:TBitmap;
begin
bmp:=TBitmap.Create;
with bmp do try
Width :=100;
Height:=100;
PixelFormat:= pf1bit;
Canvas.Ellipse(1,1,100,100);//円を描く
Canvas.TextOut(5,5,'こんにちは');
SaveToFile('temp.bmp');
finally free;end;
ShellExecute(0,'Open','temp.bmp',nil,nil,SW_SHOW);
end.
として実行してみて下さい
このコードはコンソールを使用していませんから、コンソールアプリである必要もありませんから
{$APPTYPE CONSOLE} も取り去って大丈夫です
0144デフォルトの名無しさん
NGNGWindowsでは複数の窓があるように見せていますが、実際の表示デバイスはせいぜい1つです
他の窓に隠された部分が また表示されるのは、アプリケーションが努力しなければなりません
その為の仕掛けをメッセージループと呼びます
窓はメッセージを受信する仕掛けをもち、再描画しろというメッセージにしたがって画面を自分で
描くわけです。
また、キーボードが押された、マウスが押されたもメッセージにより処理されます。
Delphiでは application.ProcessMessages; で明示的にそのメッセージループを呼び出す事も
出来ます。コンソールアプリでapplication.ProcessMessages;を定期的に呼び出せば、作成した
フォームはマウスを受け付ける事が出来るようになります。が、それをしても >>139のように描画
処理をベタに書いたのでは 他の窓に隠れると2度と表示出来ない事にかわりはありません。
この部分をイベント駆動にしなければならないのです。
それがフォームにある OnPaintイベントです。
0145デフォルトの名無しさん
NGNGDelphi6のIDE上で F1を押せば知りたい情報は殆ど出て来る筈です
bmp.PixelFormat:= pf1bit; はモノクロビットマップを作るという意味になります
その他の多色形式はヘルプを見て下さい
ShellExecuteは 作成した temp.bmpをそのパソコンに設定された方法で
開くためのAPIです
円以外のグラフィック描画命令は TCanvas でヘルプを見て下さい
線の色の設定や線の太さは Canvas.Pen で設定します
面の 〜 は Canvas.Brush で行います
文字の〜は Canvas.Fontで行います
0146デフォルトの名無しさん
NGNGひょっとして穂積○平さん?
0147ふむふむ(納得)
NGNGサンキュー
今、FreePascalでGraphユニットを使って日本語をなんとかグラフィックと
混在表示できないか検証中です。やっぱ、outTextでは文字化けしますね。
(Win2000のコンソール画面で検証)
0148デフォルトの名無しさん
NGNGそれはもうコンソールアプリじゃないよ
そこらへんやりこむにはインラインアセンブラ使うしかなくなるしさあ
pascalの勉強ならDelphi6パーソナルで始めたらいいじゃない
0149デフォルトの名無しさん
NGNG禿同。
コンソールアプリでもない機種依存アプリでしかない。Windows が動かないほど
古いマシンでの話ならともかく Win の DOS-BOX で動かそうとしているようだから
意図がわからない。
本質的なプログラムをしたいなら、Graph がどうこうとか言ってる場合じゃないとおもうが。
0150ふむふむ(納得)
NGNG>149
私も含めてTPやFPを使っている人は、これで飯を食っているわけじゃないとおもいますけどね。
ただ、知的好奇心を満たすため、また昔を懐かしみたいがために、前記のツールでコツコツとコードを書いて
遊んでいるとおもいます。
>148
私はアセンブリ言語はサパーリわかりませんので、インラインアセンブラは未体験ですけど、
使いこなせたらおもしろそうですね。
>148
我が家には486・33MHzマシンもペン150MHzマシンもあります。再利用を考え中です。
FPですが、LinuxやDOS、OS/2、旧バージョンはアミーガでも稼働できるそうなので、
ツールになれたらそれらのOSでも楽しめそうです。(私はOS/2も持っています)
個人的にはBeOS(瀕死状態ですが)、今後発表される予定のFreeBeOSにFPが移植されたら
有り難いのですが・・・・。
0151デフォルトの名無しさん
NGNG0152148
NGNGワンダーウイッチ開発をTPで出来るように環境を整えるとかの方向なら面白いとは思うんだけど・・・
0153デフォルトの名無しさん
NGNG486の33Mを生かしたいなら kylixやればいいのに
486では開発出来ないだろうけど、作った実行ファイルは実行出来るだろうに
0154ネタsage
NGNG♪神サマありがと〜お、ボクにともだちをくれ〜て〜〜〜。
♪パスカルに〜あわせてくれて、パスカルに〜あわせてくれて
♪パスカルに〜あわせてくれて、パスカ〜ルにあわせてく〜れ〜〜て〜〜
0155デフォルトの名無しさん
NGNG>119 :デフォルトの名無しさん :02/02/02 00:00
>だってDelphiなんて、GUIだとか余計なことがイパーイついてて本質が見えないじゃないか。
ってのがあるから、「Graph/CRT でごそごそやるくらいなら Delphi つかったら?」
といっているの。いまどき SVGA どまりのグラフィクスでもないでしょ?
0156ふむふむ(納得)
NGNG♪ごめんね素直じゃなくって。夢の中なら言える。
♪思考回路はショート寸前。あなたに会いたいよ。
「美少女戦士セーラー・パスカル」
ヘジに替わってデバッグよ!
>153
kylixはFreeBSDでは動かないのではないかと思います。
私はlinuxよりFreeBSD派です。(ごめんなさい)
それより486でlinuxやFreeBSDを使うということはXはあきらめろ
ということになりそうです。
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGDelphi以外でPascalの勉強だろ?
0159ふむふむ(納得)
NGNGDelphiでもTPでもFPでも、とにかく手持ちの処理系を使った
Pascalの学習さ。
0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNGなんでそんなに突っかかるのか小一時間(略
0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNGwin2000のコンソール画面(JPモード)では文字化けします。
対策はやっぱり、旧Winと文字コードの取り扱いがちがうから無理でしょうか?
0164ヒロシ
NGNG0165アライグマPascal
NGNG昔のTurboPascalを思い出す懐かしいやつです。
今年の8月頃Openの予定です。
0166424
NGNG(SRC以外で)
ガチャポン戦士3作りたくなった
0167424
NGNGすいません、逝ってきます。
0168デフォルトの名無しさん
NGNGこの壮大な計画を遂行するため、424は立ち上がった、、、
歴史は動き始めた、、、
0169424
NGNG逝ってきます。
0170アライグマPascal
NGNGコンテンツが激貧なのでURLは秘密です。古いPascalの簡単なサンプルを
公開・保存する場にしたいと思っています。
0171デフォルトの名無しさん
NGNGNECRT.TPU という、CRT互換unitをダウンすれば、日本語だって出力可能
おいらは統合環境は使わないから、これで問題なし
0172デフォルトの名無しさん
NGNG楽しみにしているぞゴルァ。
>>171
フランスのBorlandからわけのわからないメールが届くようになるという
諸刃の剣。
0173アライグマPascal
NGNGそれともなくなったのか?
0174アライグマPascal
NGNG0175デフォルトの名無しさん
NGNG「ヘルプを見て下さい」ばかりだと、このスレ意味なしだと思いません?
コンソールアプリにこだわりながら、なおかつ、TCanvas を論じている
こと自体に無理があるのでは?
0176アライグマPascal
NGNG利用して以下のソースをコンパイル。
program test;
uses Graph;
var
GraphDriver:smallint;
begin
GraphDriver := Detect;
InitGraph(GraphDriver,30012,'');
SetColor(4);
circle(300,200,100);
readln();
CloseGraph;
end.
画面に赤い円が表示されたら成功。(懐かしいでしょ)
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNGいまさらなつっこみで悪いんだが・・・
absolute変数があったり、
「Mem[****] := ****」とか「Port[**] := **」なんてことができたり
inline手続きがあったりするので
PascalはCよりもっと危険なのでは?
Cじゃメモリの番地を直接指定して書き込みするなんてことはできない
ポインタを介して間接的なやりかたでやらねばならないぶん、
Pascalよりも安全性はほんの少し高いとも言えないか?
Delphiはともかく、DOS時代のTurbo Pascalなんて、
ハードウェアを直接いじるような目的で使われることが多かったし、
実際、procedureの中身はアセンブラソースをasmとendで括っただけなんていう
ほとんど高級アセンブラ的なPascalの使い方をしてるソフトが
数多くまかり通ってたものだが
0179デフォルトの名無しさん
NGNG>PascalはCよりもっと危険なのでは?
なんでやねん。
危険なのは(言語を問わず)ハードを直接操作することでしょ。
高級なことやりたいんなら危険専用の命令である
inline/absolute/asm使わなければそれで十分安全性を確保できる。
それに対してCは高級・低級ともにポインタ使わざるを得ないから
高級な目的で書かれたコードですら安全とはいいかねる。
0180デフォルトの名無しさん
NGNGXXX 言語はインラインアセンブラがあるから、特権命令も記述できるので
一行でハングアップするコードがかける。危険!
ということもできそうだが、さすがにこれには同意しまい?
0181アライグマPascal
NGNGソースをもっていませんか?ベーマガに載っていた、1画面プログラムみたいなものです。
音やスプライト機能はできないと思いますが、なんとかPascalで書き直してみたいと
思っています。ここにソースをアップしてみんなで考えたら、勉強のネタとして
おもしろいと思います。
0182デフォルトの名無しさん
NGNGI=0TO212:P=PEEK(I+800):PSET(P,I),IMOD3+2
:NEXT:FORI=0TO7:VPOKE30721+I,255:VPOKE30
736+I,24:NEXT:OPEN"GRP:"AS1:SOUND6,18
2 DEFFNS=RND(1)*175+25:DEFFNR=(INT(RND(1
)*10)-5)/10:C=FNR:D=FNR:G=FNS:H=FNS:Y=99
3 LINE(E,200)-(E+20,212),1,BF:FORI=2TO4:
COLOR=(I,0,I*2-2,I*2-1):CIRCLE(G-I,H-I),
(6-I)*2,I:PAINT(G-I,H-I),I:NEXT:LINE(G,2
00)-(G+20,212),5,BF:SOUND7,183:X=120:E=G
4 S=STICK(0):A=(S>5ANDV>-8)-(S>1ANDS<5AN
DV<8):B=((S=8ORS=1ORS=2)ANDW>-8)-(S>3AND
S<7ANDW<8):V=V+A+C:W=W+B+D:X=X-V:Y=Y-W
5 VDP(24)=(Y+149)MOD255:PUTSPRITE0,(X,Y)
,10,0:PUTSPRITE2,(X,Y+B*9),ABS(B)*9,2
6 PUTSPRITE1,(X+A*14,Y+8),ABS(A)*9,1:IFP
OINT(X+8,Y+18)=5THENN=N+1:BEEP:GOTO2
7 SOUND8,-(S>0)*13-(S/2=S\2)*2:IFX>4ANDX
<238ANDY>-10ANDY<194THEN4ELSEFORI=0TO50
8 D=RND(1)*31:SOUND6,D:SOUND8,15:VDP(24)
=ABS((Y+D\3+144)MOD256):NEXT:Y=Y+(Y<0)*Y
9 PSET(80,99):PRINT#1,"GAME OVER";N+1
10 SOUND8,0:FORI=0TO255STEP.5:Y=Y+I:Y=Y+
(Y>255)*Y:VDP(24)=Y:NEXT:POKE-869,1:RUN
■ このスレッドは過去ログ倉庫に格納されています