Tastatureingabe ohne Echo in DOS erhalten

Ich mache das Spiel "Connect Four".

Die Spieler müssen eine Zahl zwischen 1 und 4 eingeben, damit die CD in eine der Spalten fällt. Ich arbeite gerade an der ersten Kolumne. Das Problem ist, dass Sie ein beliebiges Zeichen eingeben können und es funktioniert (es muss nur funktionieren, wenn Sie '1' drücken) und ich kann nicht herausfinden, wie es behoben werden kann.

Darüber hinaus wird die Nummer auf der linken Seite des Bildschirms angezeigt.Wie mache ich das, wenn ich die Nummer eingebe, die nicht auf dem Bildschirm angezeigt wird?

PlayerOneTurn:
    cmp [Player1Turn], 255
    je Player1Pressed1

Player1Pressed1:
    mov ah, 1
    int 21h
    cmp al, 31h
    je Player1Check1

Player1Check1:
    cmp [FirstColumnArray], 0
    inc [FirstColumnArray]
    je DrawPlayer1Disc
    cmp [FirstColumnArray + 1], 0
    inc [FirstColumnArray]
    je DrawPlayer1Disc
    cmp [FirstColumnArray + 2], 0
    inc [FirstColumnArray]
    je DrawPlayer1Disc
    cmp [FirstColumnArray + 3], 0
    inc [FirstColumnArray]
    je DrawPlayer1Loop

DrawPlayer1Loop:
    mov bh,0h
    mov cx,[Player1Draw1x]
    mov dx,[Player1Draw1y]
    mov al,[player1disccolor]
    mov ah,0ch
    int 10h
    inc [Player1Draw1x]
    cmp cx, 38h
    jl DrawPlayer1Loop

DrawPlayer1Disc: 
    mov bh, 0h
    inc [Player1Draw1y]
    mov [Player1Draw1x], 25h
    cmp dx, 09Bh
    jl DrawPlayer1Loop

Wenn mein Projekt ausgeführt wird, sieht es so aus:

Antworten auf die Frage(2)

Ihre Antwort auf die Frage