1
所以我有一批瞎搞,搞得這個腳本:碰撞檢測批次遊戲工作不正常
@echo off
setlocal enabledelayedexpansion
set /a "start=33"
set "sc1=°"
set "sc2=°"
set "sc3=°"
set "sc4=°"
set "sc5=°"
set "sc6= "
set "sc7= "
set "sc8= "
set "sc9= "
set "sc10= "
set "sc11= "
set "sc12= "
set "sc13= "
set "sc14= "
set "sc15= "
set "sc16= "
set "sc17= "
set "sc18= "
set "sc19= "
set "sc20= "
set "sc21= "
set "sc22= "
set "sc23=°"
set "sc24= "
set "sc25= "
set "sc26= "
set "sc27= "
set "sc28= "
set "sc29= "
set "sc30= "
set "sc31= "
set "sc32= "
set "sc33=X"
set "sc34= "
set "sc35= "
set "sc36= "
set "sc37= "
set "sc38= "
set "sc39= "
set "sc40= "
set "sc41= "
set "sc42= "
set "sc43= "
set "sc44= "
set "sc45= "
set "sc46= "
set "sc47= "
set "sc48= "
set "sc49= "
set "sc50= "
set "sc51= "
set "sc52= "
set "sc53= "
set "sc54= "
set "sc55= "
:display
cls
echo. !sc1!!sc2!!sc3!!sc4!!sc5!
echo. !sc6!!sc7!!sc8!!sc9!!sc10!
echo. !sc11!!sc12!!sc13!!sc14!!sc15!
echo. !sc16!!sc17!!sc18!!sc19!!sc20!
echo. !sc21!!sc22!!sc23!!sc24!!sc25!
echo. !sc26!!sc27!!sc28!!sc29!!sc30!
echo. !sc31!!sc32!!sc33!!sc34!!sc35!
echo. !sc36!!sc37!!sc38!!sc39!!sc40!
echo. !sc41!!sc42!!sc43!!sc44!!sc45!
echo. !sc46!!sc47!!sc48!!sc49!!sc50!
echo. !sc51!!sc52!!sc53!!sc54!!sc55!
choice /c wasd
if !ERRORLEVEL!==1 (
set /a "x=5"
set "op=-"
)
if !ERRORLEVEL!==2 (
set /a "x=1"
set "op=-"
)
if !ERRORLEVEL!==3 (
set /a "x=5"
set "op=+"
)
if !ERRORLEVEL!==4 (
set /a "x=1"
set "op=+"
)
call :detect
if !m! EQU 1 (
goto :display
)
set /a "newstart=!start!!op!!x!"
set "sc!newstart!=X"
set "sc!start!= "
set /a "start=!newstart!"
goto :display
:detect
set /a "detect=!start!!op!!x!"
if !sc%detect%!==° (
set /a "m=1"
)
exit /b
這一切是一個簡單的原型一批遊戲。你可以用wasd向四面八方移動。我遇到的唯一問題是當您按下牆上的按鈕時,您會永久卡住。我將如何解決這個問題?
我大多印象深刻,你可以在bat文件中做這樣的原始I/O。 – selbie
請澄清。除了一個語法錯誤,因爲'm'沒有建立first-through-through(直接在':display'之後用'set m = 1'固化它看起來是有效的 - 除了到達一邊以前/下一行或到達最下面的行會進入遺忘狀態(這是因爲位置'scmn'和'scmn + 1'在不同的行上,並且'sc56(+)'不存在...... – Magoo