3つのコンピューターゲーム(各30バイト)

Shifticida (32バイト)と世界最小のレーシングゲーム (58バイト)に触発されて、私は最小のx86コンピューターゲームを作ることにしました。 1つのゲームの代わりに、3つが判明しました。 残念ながら、彼らはレースほどクールではありませんが、それぞれ30バイトしか占有しません。



推測する



二人用のゲーム。 最初のプレーヤーがキーボードのボタンを押します。 その後、2番目のプレーヤーは、最初のプレーヤーと同じボタンをクリックするまで、キーボードのボタンを使用します。 2番目のプレーヤーがあまり長く苦労しないように、画面にプロンプ​​トが表示されます。 目的のボタンが見つかると、ゲームは終了します。



;;-



int 16h ;;

mov bl, al ;;



still: ;;

int 29h ;;



mov al, 13;;

int 29h



mov ah,1 ;;

int 21h



cmp al, bl ;;

je true ;; , true

ja big ;; , big



; , , , bl,

mov al, '-' ; "-"

jmp still



big:

mov al, '+' ; "+"

jmp still



true:

int 20h ;;









バシュ



対戦相手がコンピューターである古典的な数学ゲーム。 ルールは次のとおりです:15本のスティックがテーブルにあり、1から3まで順番に取る必要があります。



ゲームは現在のスティックの数を画面に表示し、キーボードからの入力を待ちます(1、2、または3を自由に押してください)。 人が移動した後、コンピューターもいくつかのスティックを取り、スティックの残りの数を画面に表示します。 ゲームはスティックで終了し、勝つと画面にハートが表示されます。 注意:キーボード入力はフィルタリングされないため、一度に15本または200本のスティックを使用できます。 コンピュータは、同様の状況にある生きている人と同じようにこれに反応します(非常に気分を害する可能性があります)。



;;



mov dl, 15 ;; dl



still: ;;



mov al, '|' ;;

mov cl, dl ;; ,

disp: ;; cl

int 29h ;; 29h

loop disp



mov ah, 1 ;;

int 21h



sub al, '0' ;; ASCII-



cmp dl, al ;; - ,

je win



sub dl, 4 ;; 4

jns still ;; ,



jmp fin ;; -



win:

int 29h ;;



fin:

int 20h ;;









残念ながら、2回目以降、Bashでのプレイは退屈になります。



片腕の盗賊



このプログラムは、画面上の文字を一度に1つずつ、左上隅にスクロールします。 現在の文字を修正して次の文字に移動するには、右矢印キーを押します。 3つの同一のキャラクターを入手できる場合は、非常に古いコンピューターを使用しているか、非常に幸運です!



;;



push 0b800H ;;

pop ds



mov cx, 3 ;;



le: ;;

push cx ;; cx,

add bl, 2 ;;



inf: ;;

int 1AH ;;

add dl, bl ;; , ""

mov [bx], dl ;;



;;

in al, 60H

cmp al, 77

jz re ;; " ",

;;



jmp inf ;;



re: ;;

pop cx ;; cx

loop le ;; " "



int 20h ;;









おわりに



fasmを使用してゲームのソースコードをコンパイルしました 。 たとえば、dosboxで実行できます。 ワンアームの場合、CPUサイクルを減らすことをお勧めします。



ex2.com-推測

poo2.com -Bache

roll.com-片腕の盗賊



PSゲームをさらに小さくすることは可能ですか? もちろんできます!



All Articles