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: