Syntax 最后一行的语法错误问题
我在游戏设计课上做一个叫Buzzwire的游戏的合作伙伴作业。我已经多次检查了10页的代码,虽然我发现了很多错误,但没有一个能消除语法错误,我在最后一行说GOTO TITLE。我最近错过了一天,这开始让我回到一个甚至在空闲时间都找不到的地步。任何帮助都将不胜感激。我很清楚这需要看很多代码,但我不知道如何捕获错误*内置程序黑暗的基本专业Syntax 最后一行的语法错误问题,syntax,Syntax,我在游戏设计课上做一个叫Buzzwire的游戏的合作伙伴作业。我已经多次检查了10页的代码,虽然我发现了很多错误,但没有一个能消除语法错误,我在最后一行说GOTO TITLE。我最近错过了一天,这开始让我回到一个甚至在空闲时间都找不到的地步。任何帮助都将不胜感激。我很清楚这需要看很多代码,但我不知道如何捕获错误*内置程序黑暗的基本专业 set window on show window randomize timer() set display mode 800,600,16 se
set window on
show window
randomize timer()
set display mode 800,600,16
set window size 480,600
sync on
sync rate 0
hide mouse
cls rgb(0,0,0)
draw to front
dim wirex(100000)
dim wirey(100000)
dim wireshow(100000)
start:
load image "graphics/title.bmp",1
for t = 1 to 8
load image "graphics/wiretool.bmp",11
load image "graphics/toolother.bmp",12
load image "graphics/shock.bmp",13
load image "graphics/shock.bmp",14
load image "graphics/shock.bmp",15
load image "graphics/tooldetect.bmp",16
load image "graphics/chances.bmp",17
load image "graphics/base1.bmp",50
load image "graphics/base2.bmp",51
load image "graphics/title.bmp",52
load sound "sounds/buzzer.wav",1
load music "sounds/title.mid",1
load music "sounds/music1.mid", 2
load music "sounds/music2.mid",3
load music "sounds/music4.mid",4
load music "sounds/music5.mid",5
load music "sounds/music6.mid",6
load music "sounds/gameover.mid",7
load music "sounds/complete.mid",8
TITLE:
level=0
for t=1 to 8
if music playing(t)=1 then stop music t
next t
play music 1
buzz=0
loop sound 1
titlex:
for t=1 to 1000
if sprite exist(t)= 1 then delete sprite t
next t
cls rgb(0,0,0)
paste image 52,320,75,0
set window title "**** Welcome to Buzz Wire****"
set text font "Westminster"
set text to bold
set text size 32
ink rgb(255,255,0),rgb(255,255,0)
text 220,275,"<Space Bar> Start a New Game"
set text size 28
ink rgb(255,255,255),rgb(255,255,255)
text 150,350,"Welcome to Buzz Wire, programmed for the PC by"
text 150,380,"Austin Taylor"
ink rgb(0,250,0),rgb(0,255,0)
text 150,465,"<Mouse> Controls Buzzer During Game,"
text 150,495,"<Enter> Exit Game..."
if mouseclick()=1 or inkey$()=" " then stop sound 1:goto 1
if inkey$()=chr$(13) then end
buzz=buzz+1
if buzz>20 then buzz=20
if buzz=20 then STOP sound 1
ink rgb(255,255,255),rgb(255,255,255)
ty=100
for t=1 to 4
for tx=0 to 800 step 20
td=ty
ty=ty-rnd(20)+rnd(20)
if ty<80 then ty=80
if ty>120 then ty=120
line tx-20,td,tx,ty
next tx
next t
sync
goto titlex
1:
for t=1 to 1000
if sprite exist(t)=1 then delete sprite t
next t
for t=1 to 8
if sprite exist(t)=1 then stop music t
next t
scrx=0:scry=0
no=0
nox=20
noxx=20
x=0:y=0
xx=0:yy=0
detext=0
leveltype=0
cl=2
clx=2
tmrgo=0
for t= 1 to 100000
wirex(t)=0
wirey(t)=0
wireshow(t)=0
next t
chance=15
levelx=0
level=level+1
if level=1 then lvltype=1:levelx=0:stop music 1:play music 2
if level=2 then lvltype=1:levelx=0:chance=14:stop music 2:play music 3
if level=3 then lvltype=1:levelx=0:chance=12:stop music 2:play music 3
if level=4 then lvltype=1:levelx=0:chance=10:stop music 3:play music 4
if level=5 then lvltype=2:levelx=1:chance=8:stop music 3:play music 4
if level=6 then lvltype=2:levelx=1:chance=5:stop music 4:play music 5
if level=7 then lvltype=2:levelx=1:chance=5:stop music 4:play music 5
if level=8 then lvltype=2:levelx=1:chance=4:stop music 5:play music 6
if level=9 then goto complete
for ty=580 to 250 step -5
no=no+1
wirex(no)=150
wirey(no)=ty
next ty
tx=150
ty=250
si=0:sii=1
game1:
if rnd(20)=0 then si=rnd(1)
if ty<150 then si=1
if ty>450 then si=0
if si=0 then tx=tx+5:ty=ty-5
if si=1 then tx=tx+5:ty=ty+5
if tx>875 then goto game2
no=no+1
wirex(no)=tx
wirey(no)=ty
if levelx=1 then if rnd(100)=0 and tx>100 then gosub wire
goto game1
wire:
tspi=0:tspii=-5
tgo=0
tmr=0
wirex:
tmr=tmr+1:if tmr=2 then tmr=0
if tmr=0 then if rnd(20)=0 then tspi=-5+rnd(10)
rem if tmr=0 then if rnd(50)=0 then tspii=-5+rnd(10)
ty=ty+tspi
tx=tx+tspii
if tx<50 then goto wirex2
tmr=tmr+1:if tmr>50+rnd(100) then si=rnd(1):goto wirex2
no=no+1
wirex(no)=tx
wirey(no)=ty
goto wirex
wirex1:
tmr=tmr+1:if tmr=2 then tmr=0:tii=tii+1
tx=tx+tii
if ti=0 then ty=ty-5
if ti=1 then ty=ty+5
if tii>0 then goto wirex2
no=no+1
wirex(no)=tx
wirey(no)=ty
GOTO WIREX1
WIREX2:
RETURN
GAME2:
FOR TYY = TY TO 580 STEP 5
NO = NO + 1
WIREX(NO) = TX
WIREY(NO) = TYY
NEXT TYY
WIRESPR = 1 + LEVEL
XX = WIREX(20) - 18
YY = WIREY(20)
SHOCK = 0
2:
CLS RGB(0,0,0)
S = XX:D=YY
X = MOUSEMOVEX()
Y = MOUSEMOVEY()
XX=XX+X
YY=YY+Y
SCRX = 380 - XX
SCRY = 250 - YY
IF SCRX>0 THEN SCRX = 0
IF SCRX<-225 THEN SCRX = -225
IF SCRY<-100 THEN SCRY = -100
SET WINDOW TITLE "BUZZ WIRE LEVEL :- "+STR$(LEVEL)+" CHANCES :- "+STR$(CHANCE)
IF LEVELX=0 THEN PASTE IMAGE 50,SCRX+2,SCRY+500,0
IF LEVELX=1 THEN PASTE IMAGE 51,SCRX+110,SCRY+562,0
IF OK = 1 THEN SPRITE NO + 12,-500,-500,11
IF OK = 0 THEN SPRITE NO + 12,-500,-500,13+RND(2)
PASTE SPRITE NO + 12,SCRX+XX,SCRY+YY
OK = 0
SPR = 10
OKGO = 0
CL = 2
TMRGO = TMRGO+1
IF TMRGO = 2 THEN TMRGO = 0:CLX=CLX+1:IF CLX=9 THEN CLX=2
CL = CLX
FOR T = 1 TO NO
SPR = SPR + 1
IF LVLTYPE = 2 THEN CL = CL-1:IF CL = 1 THEN CL = 8
IF LVLTYPE = 0 THEN SPRITE SPR,SCRX+WIREX(T),SCRY+WIREY(T),WIRESPR
IF LVLTYPE = 1 THEN SPRITE SPR,SCRX+WIREX(T),SCRY+WIREY(T),8
IF LVLTYPE = 2 THEN SPRITE SPR,SCRX+WIREX(T),SCRY+WIREY(T),CL
IF LVLTYPE = 1 OR LVLTYPE = 2 THEN IF SPR>NOXX THEN SPRITE SPR,SCRX+WIREX(T),SCRY+WIREY(T),WIRESPR
IF DETECT = SPR THEN NOX = SPR
IF NOX>NOXX AND NOX<NOXX+20 THEN NOXX=NOX
REM IF SPRITE COLLISION(NO+3,SPR) THEN OK = 1
NEXT T
REM NOXX=NOX
SPRITE NO+13,SCRX+XX,SCRY+YY,12
SPRITE NO+14,SCRX+XX+12,SCRY+YY+18,16
SET SPRITE NO + 14,1,1
HIDE SPRITE NO + 14
DETECT=SPRITE COLLISION(NO+14,0)
IF DETECT>0 AND DETECT<NO+10 THEN OK =1
IF OK = 0 THEN XX=S:YY=D
IF OK = 0 THEN IF SOUND PLAYING(1) = 0 THEN PLAY SOUND 1:CHANCE=CHANCE-1
IF CHANCE = 0 THEN GOTO GAMEOVER
REM IF OK = 1 THEN STOP SOUND 1
REM SPRITE NO + 2,XX,YY,12
REM IF OK = 0 THEN XX=S:YY=D
IF XX>WIREX(NO)-50 AND XX<WIREX(N0)+50 AND YY>WIREY(NO)-50 AND YY<WIREY(NO)+50 THEN GOTO LVL
FOR TX = 0 TO (CHANCE-1)*20 STEP 20
PASTE IMAGE 17,TX,0,0
NEXT TX
IF INKEY$()=CHR$(13) THEN END
SYNC
GOTO 2
LVL:
FOR T = 1 TO NO+14
IF SPRITE EXIST(T)=1 THEN DELETE SPRITE T
NEXT T
GOTO 1
GAMEOVER:
FOR T = 1 TO 1000
IF SPRITE EXIST(T) = 1 THEN DELETE SPRITE T
NEXT T
FOR T = 1 TO 8
IF MUSIC PLAYING(T)=1 THEN STOP MUSIC T
NEXT T
TMR = 0
PLAY MUSIC 7
GAMEOVERX:
CLS RGB(0,0,0)
SET TEXT FONT "WESTMINSTER"
SET TEXT SIZE 64
INK RGB(255,255,196),RGB(255,255,196)
CENTER TEXT 400,250,"GAME OVER!"
TMR = TMR + 1
IF MOUSECLICK() = 1 OR INKEY$()=" " THEN GOTO TITLE
SYNC
IF TMR<40 THEN GOTO GAMEOVERX
GOTO TITLE
COMPLETE:
FOR T = 1 TO 1000
IF SPRITE EXIST(T)=1 THEN DELETE SPRITE T
NEXT T
FOR T = 1 TO 8
IF MUSIC PLAYING(T) = 1 THEN STOP MUSIC T
NEXT T
TMR = 0
PLAY MUSIC 8
COMPLETEX:
CLS RGB(0,0,196)
TI = 20
TY = 480
INK RGB(255,255,255),RGB(255,255,255)
BOX 0,0,799,599
INK RGB(0,0,196),RGB(0,0,196)
BOX 2,2,794,594
INK RGB(0,255,0),RGB(0,255,0)
FOR T = 1 TO 20
TI=TI-1
TY=TY-TI
LINE 0,TY,800,TY
NEXT T
FOR TX=0 TO 900 STEP 20
LINE TX,280,TX-100,380
NEXT TX
SET TEXT FONT "WESTMINSTER"
SET TEXT SIZE 64
INK RGB(RND(255),RND(255),RND(255)),RGB(RND(255),RND(255),RND(255))
CENTER TEXT 400,250,"****CONGRATULATIONS!****"
INK RGB(RND(255),RND(255),RND(255)),RGB(RND(255),RND(255),RND(255))
IF RND(2)>0 THEN INK RGB(255,255,0),RGB(255,255,255)
CENTER TEXT 401,249,"****CONGRATULATIONS!****"
TY = 285
FOR T = 1 TO 4
FOR TX = 0 TO 800 STEP 20
TD = TY
TY = TY-RND(20)+RND(20)
IF TY<250 THEN TY = 250
IF TY>310 THEN TY = 310
LINE TX-20,TD,TX,TY
NEXT TX
NEXT T
TMR=TMR+1
SYNC
IF MOUSECLICK()=1 THEN PLAY SOUND 1:GOTO TITLE
IF TMR<200 THEN GOTO COMPLETEX
GOTO TITLE
打开设置窗口
橱窗
随机定时器()
设置显示模式800600,16
设置窗口大小480600
同步
同步速率0
隐藏鼠标
cls rgb(0,0,0)
引向前方
dim wirex(100000)
暗线(100000)
dim wireshow(100000)
开始:
加载图像“graphics/title.bmp”,1
对于t=1到8
加载图像“graphics/wiretool.bmp”,11
加载图像“graphics/toolother.bmp”,12
加载图像“graphics/shock.bmp”,13
加载图像“graphics/shock.bmp”,14
加载图像“graphics/shock.bmp”,15
加载图像“graphics/tooldetect.bmp”,16
加载图像“graphics/chancess.bmp”,17
加载图像“graphics/base1.bmp”,50
加载图像“graphics/base2.bmp”,51
加载图像“graphics/title.bmp”,52
加载声音“声音/蜂鸣器.wav”,1
加载音乐“sounds/title.mid”,1
加载音乐“声音/音乐1.mid”,2
加载音乐“声音/音乐2.mid”,3
加载音乐“声音/音乐4.mid”,4
加载音乐“声音/音乐5.mid”,5
加载音乐“声音/音乐6.mid”,6
加载音乐“sounds/gameover.mid”,7
加载音乐“sounds/complete.mid”,8
标题:
级别=0
对于t=1到8
如果音乐播放(t)=1,则停止音乐播放(t
下一个t
播放音乐1
嗡嗡声=0
环路声音1
标题:
对于t=1到1000
如果精灵存在(t)=1,则删除精灵t
下一个t
cls rgb(0,0,0)
粘贴图像52320,75,0
设置窗口标题“****欢迎使用热线****”
设置文本字体“威斯敏斯特”
将文本设置为粗体
设置文本大小32
墨水rgb(255255,0),rgb(255255,0)
文本220275,“开始新游戏”
设置文本大小28
墨水rgb(255255),rgb(255255)
文本150350,“欢迎使用Buzz Wire,通过为PC编程”
文本150380,“奥斯汀·泰勒”
墨水rgb(0250,0),rgb(0255,0)
文本150465,“游戏期间控制蜂鸣器,”
文本150495,“退出游戏…”
如果mouseclick()=1或inkey$()=“”则停止声音1:转到1
如果inkey$()=chr$(13),则结束
嗡嗡声=嗡嗡声+1
如果嗡嗡声>20,则嗡嗡声=20
如果嗡嗡声=20,则停止声音1
墨水rgb(255255),rgb(255255)
ty=100
对于t=1到4
对于tx=0至800步骤20
td=ty
ty=ty rnd(20)+rnd(20)
如果ty120,则ty=120
线路tx-20、td、tx、ty
下一个德克萨斯州
下一个t
同步
goto titlex
1:
对于t=1到1000
如果精灵存在(t)=1,则删除精灵t
下一个t
对于t=1到8
如果精灵存在(t)=1,则停止音乐t
下一个t
scrx=0:scry=0
否=0
氮氧化物=20
noxx=20
x=0:y=0
xx=0:yy=0
detext=0
leveltype=0
cl=2
clx=2
tmrgo=0
对于t=1至100000
wirex(t)=0
wirey(t)=0
有线电视节目(t)=0
下一个t
机会=15
levelx=0
级别=级别+1
如果level=1,则lvltype=1:levelx=0:停止音乐1:播放音乐2
如果级别=2,则lvltype=1:levelx=0:chance=14:停止音乐2:播放音乐3
如果级别=3,则lvltype=1:levelx=0:chance=12:停止音乐2:播放音乐3
如果级别=4,则lvltype=1:levelx=0:chance=10:停止音乐3:播放音乐4
如果级别=5,则lvltype=2:levelx=1:chance=8:停止音乐3:播放音乐4
如果级别=6,则lvltype=2:levelx=1:chance=5:停止音乐4:播放音乐5
如果级别=7,则lvltype=2:levelx=1:chance=5:停止音乐4:播放音乐5
如果级别=8,则lvltype=2:levelx=1:chance=4:停止音乐5:播放音乐6
如果级别=9,则转到完成
对于ty=580至250步骤-5
否=否+1
wirex(编号)=150
威利(否)=ty
下一个
tx=150
ty=250
si=0:sii=1
游戏1:
如果rnd(20)=0,则si=rnd(1)
如果为ty450,则si=0
如果si=0,则tx=tx+5:ty=ty-5
如果si=1,则tx=tx+5:ty=ty+5
如果tx>875,则转到第2场
否=否+1
wirex(no)=tx
威利(否)=ty
如果levelx=1,则如果rnd(100)=0且tx>100,则gosub导线
转到游戏1
电线:
tspi=0:tspii=-5
tgo=0
tmr=0
wirex:
tmr=tmr+1:如果tmr=2,则tmr=0
如果tmr=0,则如果rnd(20)=0,则tspi=-5+rnd(10)
如果tmr=0,则rem;如果rnd(50)=0,则tspii=-5+rnd(10)
ty=ty+tspi
tx=tx+tspii
如果tx50+rnd(100),则si=rnd(1):转到Wire2
否=否+1
wirex(no)=tx
威利(否)=ty
转到wirex
wirex1:
tmr=tmr+1:如果tmr=2,则tmr=0:tii=tii+1
tx=tx+tii
如果ti=0,则ty=ty-5
如果ti=1,则ty=ty+5
如果tii>0,则转到Wire2
否=否+1
wirex(no)=tx
威利(否)=ty
转到WIREX1
Wire2:
返回
游戏2:
对于TYY=TY至580步骤5
否=否+1
WIREX(NO)=TX
WIREY(NO)=TYY
下一代
导线SPR=1+电平
XX=WIREX(20)-18
YY=WIREY(20)
冲击=0
2:
CLS RGB(0,0,0)
S=XX:D=YY
X=鼠标凸面()
Y=鼠标移动()
XX=XX+X
YY=YY+Y
SCRX=380-XX
SCRY=250-YY
如果SCRX>0,则SCRX=0
如果SCRXNOXX和NOX0以及DETECTWIREX(NO)-50和XXWIREY(NO)-50和YY以前从未见过黑暗基本面
但请快速浏览一下维基百科
显示以END结尾的代码…很遗憾,我已经尝试过了,但它只是将语法错误移到了END,而不是Goto Title。我被告知纸面上的代码有效,因此我假设不会添加新行。根据此线程,不可见字符有一个问题…将代码复制到新文件似乎可以解决这个问题。下次有机会我会尝试一下。