MK計算機でのプログラミング:グラフィックゲームの作成方法

iOSでプログラム可能な電卓に関する記事を読んだ後、懐かしさの攻撃を受けて本棚に登り、長い検索をした後、プログラミングノートと自社開発のゲームを備えた古いノートを見つけました。

フェルトペンを使用した最初のページでは、ほとんどすべての庭を作った人々のサイトのURLが誇らしげに落書きされていました。 定期的に参照します。

録音の始まりはプログラミングの基本です(コードはMK-61用に作成されましたが、同様のデバイスで動作します)。
対応するモードに切り替えるには、-Fを押して終了します-。

プログラムを書くときに使用した基本的な手法は、レジスタを操作することでした。
レジスタに書き込むには、P→Xボタンを使用してX→Pを出力します。たとえば、72 P→X 1を押すと、数値72がレジスタRG1に書き込まれ、X→P 1はレジスタRG1からレジスタXに値を出力します。

レジスタXの内容は常に画面に表示されます-これはスタックレジスタ(X、Y、Z、T)の1つです。 スタックレジスタを操作するには、次のコマンドを使用します。
-↑​​(レジスタXからY、YからZなどの内容をコピーします)。
-(XおよびYレジスタの内容を入れ替えます)
-CX(レジスタXの内容を消去)

また、if関数も積極的に使用しました。キーFx = 0、Fx = / 0、Fx <0およびFx> 0がこれに関与しています。 構文:
Fx#0(条件が満たされない場合にジャンプするステップ)(条件が満たされた場合の次のコマンド)。

この記事で構文について詳しく読むことができます。

最も興味深いものに移りましょう。 当時、そしてそのような状況下では、私の会社は誰もプログラムするデバイスを持っていませんでした-私たちは電卓で一時間を費やし、本当に気に入りました。 他の子供たちと同様に、私たちは遊びたいと思っていましたが、「inv」関数(論理反転)が数字を記号「G」に変換できることに気付きました。 「E」または「C」。「8-EC」を表示して電卓を時計回りに回すと、人間のように見えるものが表示されます。

画像

そのコードはノートに最も美しく描かれていましたが、 「Lamer Andrew meets America」と呼ばれていました。

「VO SPを押して漫画を見る、モンスターを撃つ(BP 53)、敵の車を破壊する(BP 74)」ことができます。 死亡した場合、シンボル「8 *****」、勝った場合は「ECC」が表示されます。 このゲームでは、フロントとトップの複数のタイプを一度に使用できます。 簡単です。

レジスタの値に、コマンドP(たとえば、80013 inv P 0)が「アニメーション」と入力されました。

登録する「通常のビュー」の値詳細表示の意味
080013 inv80013 inv
18インチ8インチ
281インチ81インチ
3801 inv8573 inv
4800077 inv857 inv
580109 inv81308333 inv
680108 inv81300876 inv
78077099 inv8570757 inv
88015 inv8135 inv
980105 inv81305 inv
a、b5インチ5インチ
c807799 inv857757 inv
d80779 inv8577333インバ


コード自体(操作「P→x」、「x→P」、「S / P」の記録を減らすために「IP」、「P」、「SP」として指定されている)はシンプルで長い:

000 1
001 2
002
003
004 ^
005 5
006 -
007 F x>o
008 17
009 5
010 5
011 5
012 5
013 7
014
015 2
016
017 2
018 2
019 2
020 5
021
022
023 ^
024 1
025 +
026
027 5
028
029 5
030 5
031 2
032 2
033
034 2
035 2
036 2
037 2
038 6
039
040
041 ^
042 1
043 +
044
045 6
046
047 6
048 6
049 2
050
051
052 56
053 8
054 9
055
056 2
057 2
058 2
059 4
060 4
061 4
062 4
063 7
064 7
065 7
066 7
067 7
068
069 7
070 7
071 4
072
073
074 87
075 7
076
077 7
078
079 7
080
081
082
083 ^
084 2
085 +
086
087
088 D
089
090 D
091 D
092 4
093
094 6
095
096 5
097 5
098 5
099
100
101 0
102


したがって、私たちのプログラムは、主に「アニメーション」表示演算子(レジスタ値のシーケンス)、停止および無条件ジャンプ演算子で構成されています。 たとえば、私たちの小さな男は次のように「シュート」します。



画面への新しい出力の前に、実際の電卓は一瞬それを消しました-これは「射撃」により多くを与えました。

シンプルですが、私たちは結果が本当に好きで、両親は私たちに手紙を書いてくれました:)

十分にプレイされていませんか? 同じノートブックの2番目の(そして最後の)コードはtamagotchiです (はい、グラフィックもあります):

[1] [1] [1] [1] [1] [\] [] [^] [2] [0] [-] [Fx>/=0] [19] [8] [0] [0] [1] [3] [K] [\] [] [^] [1] [+] [] [\] [] [] [^] [1] [0] [-] [Fx>/=0] [35] [3] [\] [D] [^] [1] [5] [-] [Fx>/=0] [44] [3] [\] [8] [^] [1] [0] [-] [Fx>/=0] [] [53] [3] [] [] [D] [B^] [2] [-] [D] [C/] [6] [7] [8] [] [] [B^] [2] [-] [] [] [] [9] [] [] [8] [^] [3] [-] [8] [\] [4] [\] [B] [] [B^] [10] [-] [Fx>/=0] [93] [2] [1] []


幼少期に英語としてとった言語から翻訳された指示:

\を押します-Andreyが表示されます。 もう一度C \ Pを押すと、プログラミングが開始されます。 いくつかの数字が表示されます-これは彼のプログラムの結論です。 C \ Pを押します。 5つのプログラムの後、Andreiは5年成長します。 あなたの目標は、Andreiを支援して20に増やすことです。

1.彼を養います。 PSU 65とC \ Pを押します。 彼は食事をし、空腹率は低下します。 比率が10に達すると、彼は死亡し、素晴らしいビデオが表示されます。

2.彼と一緒に歩きます。 PSU 84とC \ Pを押します。 彼は歩いてトイレに行きます。 「反歩行」係数の値が10に達すると、彼は死にます。 ビデオで!

3.睡眠。 アンドレイが疲れたら、BP 75 S \ Pを押します。 起動するには、C \ Pを押します。 ビデオ付き。

4.医師の診察を受けます。 アンドレイが10歳になると、彼は医者に診てもらう必要があります。 PSU 55 S \ Pを押します。

勝った場合-「8 EU」、負けた場合-「8 ----- 8」が表示されます。 アンドレイは成長するにつれて変化します!

楽しんでください。

さまざまな著者の多数のゲームが、たとえばここにあります: http : //lordbss.narod.ru/pmk.html

UPD:mk61.narod.ruには壊れたリンクがあります(c:\ mysite-私は若くて愚かだった)、残念ながら、今それらを修正することは不可能です。 11年間、メールは繰り返し変更され、パスワードは失われました。

Source: https://habr.com/ru/post/J125484/


All Articles