The following warnings occurred:
Warning [2] Undefined array key 0 - Line: 1677 - File: showthread.php PHP 8.2.31 (Linux)
File Line Function
/inc/class_error.php 157 errorHandler->error
/showthread.php 1677 errorHandler->error_callback
/showthread.php 916 buildtree




Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
As BorIDE progresses...
boriel Wrote:This looks like a compiler bug :!:
The code that produces it is the one posted above??
No, it is different, the upper code (Full code below) of the earlier prigram produces this:
Code:
Traceback (most recent call last): File "D:\Restliche Programme\zxbasic\zxb.py", line 339, in <module> sys.exit(main()) # Exit File "D:\Restliche Programme\zxbasic\zxb.py", line 287, in main asm_output = optimize(asm_output) + '\n' File "D:\Restliche Programme\zxbasic\arch\zx48k\optimizer.py", line 2326, in optimize x.optimize() File "D:\Restliche Programme\zxbasic\arch\zx48k\optimizer.py", line 1982, in optimize regs.op(i1, o1) File "D:\Restliche Programme\zxbasic\arch\zx48k\optimizer.py", line 693, in op self.inc(o[0]) File "D:\Restliche Programme\zxbasic\arch\zx48k\optimizer.py", line 558, in inc v_ = self.getv(self.mem.get(r_, None)) File "D:\Restliche Programme\zxbasic\arch\zx48k\optimizer.py", line 516, in getv v = self.get(r) File "D:\Restliche Programme\zxbasic\arch\zx48k\optimizer.py", line 498, in get if r.lower() == '(sp)' and self.stack: AttributeError: 'NoneType' object has no attribute 'lower'

Here it is:
Code:
dim control$,key$ as string dim posx,posy,dir,drw,found as byte dim shtx,shty,shard as Uinteger poke uinteger 23675,@UDGs01 sub waitnokey() while inkey$<>"":wend end sub sub Drawscreen() dim x,y,byt as ubyte dim adr as uinteger dim a$ as string adr=@Buffer for y=0 to 21 a$="" for x=0 to 31 byt=peek adr if byt=0 then a$=a$+" ":else a$=a$+"\a":end If adr=adr+1 next x print at y,0;ink 4;a$; next y end sub function Piece(x as Uinteger,y as Uinteger) dim b as uinteger dim a$ as string b=@Buffer+(y<<5)+x if peek b=0 then a$=" " elseif peek b=1 then a$="\{i4}\a" elseif peek b=2 then a$="\{i5}\g" elseif peek b=3 then a$="\{i5}\h" end if print at y,x;a$; end function sub PlacePiece(x as uinteger,y as Uinteger,piece as ubyte) poke @Buffer+(y<<5)+x,piece end sub function GetPiece(x as uinteger,y as Uinteger) as ubyte return @Buffer+(y<<5)+x end Function sub PlaceShards(cnt as integer) dim dir,dir1 as ubyte dim xy as uinteger while cnt>0 xy=int(rnd*704) if peek(@Buffer+xy)=1 then cnt=cnt-1 dir=int(rnd*1.99) if dir=1 then dir1=2 else dir1=3 end If poke @Buffer+xy,dir1 end If wend end sub border 1:paper 0:bright 0:ink 7:Flash 0:Inverse 0:cls print at 0,0;"\{b1}\{p1}Inu Yasha-Test by LCD"; print at 3,1;"1. Keyboard QAOPM"; print at 4,1;"2. Sinclair 67890"; control$="" while control$="" key$=inkey$ if key$="1" then control$="qaopm":end If if key$="2" then control$="98670":end If wend randomize cls PlaceShards(32) Drawscreen() posx=10:posy=20 print at posy,posx;"\{i7}\j"; mainloop: while key$<>control$(4) key$=inkey$ if key$=control$(0) and posy>0 then Piece(posx,posy):posy=posy-1:print at posy,posx;"\{i7}\j";:waitnokey():end If if key$=control$(1) and posy<21 then Piece(posx,posy):posy=posy+1:print at posy,posx;"\{i7}\j";:waitnokey():end If if key$=control$(2) and posx>0 then Piece(posx,posy):posx=posx-1:print at posy,posx;"\{i7}\j";:waitnokey():end If if key$=control$(3) and posx<31 then Piece(posx,posy):posx=posx+1:print at posy,posx;"\{i7}\j";:waitnokey():end If wend if key$=control$(4) then print at 22,0;"\{p6}\{i2}\{b1}Select firing direction"; print at 23,0;"\{p6}\{i2}\{b1}SPC to purify and get Shard"; waitnokey() dir=0 while dir=0 key$=inkey$ waitnokey() if key$=control$(0) then dir=1:end if if key$=control$(1) then dir=2:end if if key$=control$(2) then dir=3:end if if key$=control$(3) then dir=4:end if if key$=" " then found=0 if GetPiece(posx+1,posy)>1 then found=found+1:shard=shard+1:PlacePiece(posx+1,posy,1):end If if GetPiece(posx-1,posy)>1 then found=found+1:shard=shard+1:PlacePiece(posx-1,posy,1):end If if GetPiece(posx,posy-1)>1 then found=found+1:shard=shard+1:PlacePiece(posx,posy-1,1):end If if GetPiece(posx,posy+1)>1 then found=found+1:shard=shard+1:PlacePiece(posx,posy+1,1):end If if found=0 then border 2:pause 5:border 0:end if dir=5 end if wend if dir=5 then dir=0:end if print at 22,0;"\{p0}\{i7}\{b0} "; print at 23,0;"\{p0}\{i7}\{b0} "; shtx=posx shty=posy while dir>0 if dir=1 and shty>0 then shty=shty-1:end if if dir=2 and shty<22 then shty=shty+1:end if if dir=3 and shtx>0 then shtx=shtx-1:end if if dir=4 and shtx<31 then shtx=shtx+1:end if bg=peek(@Buffer+(shty<<5)+shtx) if bg=2 then dir=peek(@Shoottable1+dir-1):end If if bg=3 then dir=peek(@Shoottable2+dir-1):end if if shtx=0 or shtx=31 or shty=0 or shty=22 then dir=0:end If 'if bg<99 then if bg=0 then drw=1 else drw=0 end if if drw then print at shty,shtx;"*"; end if wend end if goto mainloop End Shoottable1: asm defb 4,3,2,1 ;/ end asm Shoottable2: asm defb 3,4,1,2 ;\ end asm UDGs01: asm defb 24, 44, 94, 60, 24, 24, 60, 0 ;A Tree defb 16, 56, 16, 16, 16, 16, 56, 40 ;B Arrow up defb 0, 0, 0,194,127,194, 0, 0 ;C Arrow right defb 40, 56, 16, 16, 16, 16, 56, 16 ;D Arrow down defb 0, 0, 0, 67,254, 67, 0, 0 ;E Arrow left defb 16, 42, 84, 40, 16, 8, 20, 0 ;F Tree Visited defb 0, 2, 12, 28, 56, 48, 64, 0 ;G Shard / defb 0, 64, 48, 56, 28, 12, 2, 0 ;H Shard \ defb 24, 24, 60, 60, 90, 24, 60, 36 ;I Youkai DEFB 0, 24, 24, 60, 90, 24, 36, 36 ;J Figure end asm Buffer: asm DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 end asm
------------------------------------------------------------
http://lcd-one.da.ru redirector is dead
Visit my http://members.inode.at/838331/index.html home page!
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)