Ich habe folgendes Problem das ich anhand des Codes besser erklären kann.
Ich programmiere ein Spiel in Batch und habe eine Mausfunktion implementiert.
< Problem >
Im Spiel befinden wir uns in einem Discounter und können diesen an vorgegebenen Orten looten: z.B. Kasse, Regal etc.
Code: Select all
:Discounter
cls
echo -------------------------------------------------
echo RANDOM DUNGEON
echo -------------------------------------------------
echo [ Zentrum ] [ Discounter ]
echo -------------------------------------------------
echo [b] ^< Kasse ^>[/b]
echo ^< Regal ^>
echo ^< Regal ^>
echo ^< Kuehlschrank ^>
echo ^< Regal ^>
echo ^< Regal ^>
echo ^< Regal ^>
echo ^< Abstellraum ^>
echo ^< Abteilungsraum ^>
echo -------------------------------------------------
:DiscounterChoose
for /f "tokens=1,2,3" %%a in ('!mouse! mouse') do set/a x=%%b, y=%%c
if !y! geq 6 if !y! leq 6 if !x! geq 3 if !x! leq 13 goto Checkout
if !y! geq 6 if !y! leq 6 if !x! geq 6 if !x! leq 14 exit
goto DiscounterChoose
[b]:Checkout[/b]
::Variables
(
set /a dollar=%random% %% 4 + 2 [b]Hier wird erstmal ein zufälliger Wert für das Geld das in der Kasse liegt festgelegt.[/b]
)
cls
echo -------------------------------------------------
echo ^< [%dollar%] Dollar ^> [b]Dann klickt man auf [?] Dollar und bekommt das Geld.[/b]
echo -------------------------------------------------
:CheckoutChoose
for /f "tokens=1,2,3" %%a in ('!mouse! mouse') do set/a x=%%b, y=%%c
if !y! geq 2 if !y! leq 2 if !x! geq 2 if !x! leq 24
goto CheckoutChoose
Meine Frage nun ist: Wie kann man die IF-Bedingung umgehen so das man nicht unendlich mal drauf klicken kann.
Zurzeit läuft der Code noch so:
Klick + Geld
Klick + Geld
Klick + Geld
...
Und nach dem Geld erhalt soll man ja wieder zurück um die restlichen Orte zulooten. Dann kann man ja aber wieder auf Kasse klicken und wieder Geld farmen.
Sozusagen gleiches Problem bei beiden Jumps iscounter und :Checkout.
Jemand eine Idee wäre extrem hilfreich, weil ich bei Google nichts finde und das meine Batch Erfahrungen übersteigt. Das zerstört mir jedoch mein ganze Spielidee