精華區beta PttNewhand 關於我們 聯絡資訊
※ [本文轉錄自 ilohoo 看板] --#BBSLUA -- Interface: 0.119 -- Title:Matrix Snake -- Notes:這是一款貪食蛇遊戲,控制方向就用↓↑←→,離開按ESC。完習慣了就很順。 -- Author:ilohoo -- Version: -- Date:9/23 -- License: function len(v) for vv=0,40,1 do if 10^vv > v then return vv-1 end end end function sqr(v) for vv=0,v+1,1 do if vv*vv > v then return vv-1 end end end function sseed(io) if io == 16 then return 3 elseif io <16 and io>9 then return 2 elseif io<10 then return 1 end end function checck() for oo= 2 ,snakel do if snakex[1]== snakex[oo] and snakey[1]== snakey[oo] then return 1 end end if snakex[1]== pointx and snakey[1]== pointy then score=score+pointscore*sqr(100/speed) repeat asdfg=1 pointx=math.random(40) pointy=math.random(23) pointscore=sseed(math.random(16)) for pp=2,snakel do if pointx== snakex[pp] and pointy== snakey[pp] then asdfg=0 end end until asdfg==1 snakel=snakel+1 end end score=0 afer={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","1","2","3","4","5","6","7","8","9","0"} aferb={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","1","2","3","4","5","6","7","8","9","0"} colf={30,32,32,37,37,31,33,36} colb={0,0,1,0,1,1,1,1} snakex={} snakex[1]=20 snakex[2]=20 snakex[3]=20 snakex[4]=20 snakey={} snakey[1]=10 snakey[2]=11 snakey[3]=12 snakey[4]=13 snakel=3 pointx=math.random(40) pointy=math.random(23) pointscore=sseed(math.random(16)) for ik =5,1000 do snakex[ik]=1 snakey[ik]=1 end arr2='UP' ww={} cc={} for i= 1 , 40 do ww[i]={} cc[i]={} for j= 1 , 23 do ww[i][j]=math.random(36) c=math.random(6) if c == 1 then cc[i][j]=1 elseif c == 2 or c == 3 then cc[i][j]=3 else cc[i][j]=2 end end end bbs.title("得分".." ") for i= 1 , 40 do for j= 1 , 23 do bbs.move(j,(i*2)-2) co=cc[i][j] bbs.color(colb[co],colf[co],40) bbs.outs(afer[ww[i][j]]) end end bbs.sleep(1) speed=10 repeat bbs.sleep(speed/100) if bbs.kbhit(0.01) then arr=bbs.getch() end if arr == '+' and speed >2 then speed=speed-2 arr ='' end if arr == '-' and speed < 10 then speed=speed+2 arr='' end if arr == 'UP' or arr =='DOWN' then if arr2 == 'LEFT' or arr2== 'RIGHT' then arr2=arr end end if arr2 == 'UP' or arr2 =='DOWN' then if arr == 'LEFT' or arr== 'RIGHT' then arr2=arr end end if arr2 == 'UP'then snakey[1]=snakey[1]-1 snakex[1]=snakex[1] elseif arr2 == 'DOWN' then snakey[1]=snakey[1]+1 snakex[1]=snakex[1] elseif arr2 == 'LEFT' then snakex[1]=snakex[1]-1 snakey[1]=snakey[1] elseif arr2 == 'RIGHT' then snakex[1]=snakex[1]+1 snakey[1]=snakey[1] end if snakex[1]==0 then snakex[1]=40 end if snakex[1]==41 then snakex[1]=1 end if snakey[1]==0 then snakey[1]=23 end if snakey[1]==24 then snakey[1]=1 end bbs.move(snakey[1],snakex[1]*2-2) bbs.color(colb[cc[snakex[1]][snakey[1]]+2],colf[cc[snakex[1]][snakey[1]]+2],40) bbs.outs(aferb[ww[snakex[1]][snakey[1]]]) bbs.move(snakey[snakel+1],snakex[snakel+1]*2-2) bbs.color(colb[cc[snakex[snakel+1]][snakey[snakel+1]]],colf[cc[snakex[snakel+1]][snakey[snakel+1]]],40) bbs.outs(afer[ww[snakex[snakel+1]][snakey[snakel+1]]].." ") bbs.move(snakey[2],snakex[2]*2-2) bbs.color(colb[cc[snakex[2]][snakey[2]]+1],colf[cc[snakex[2]][snakey[2]]+1],40) bbs.outs(aferb[ww[snakex[2]][snakey[2]]]) bbs.move(snakey[snakel],snakex[snakel]*2-2) bbs.color(colb[cc[snakex[snakel]][snakey[snakel]]+1],colf[cc[snakex[snakel]][snakey[snakel]]+1],40) bbs.outs(afer[ww[snakex[snakel]][snakey[snakel]]].." ") qwert=checck() for d=-1,snakel-2 do snakex[snakel-d]=snakex[snakel-d-1] snakey[snakel-d]=snakey[snakel-d-1] end bbs.move(0,9) bbs.color(1,37,46) bbs.outs(score) bbs.move(0,10+len(score)) bbs.color(1,37,46) bbs.outs(' 速度 '.. 1000/speed.." ") bbs.move(0,16+len(score)+len(1000/speed)) bbs.color(1,37,46) bbs.outs(" ") bbs.move(pointy,(pointx*2)-2) bbs.color(colb[pointscore+5],colf[pointscore+5],40) bbs.outs(aferb[ww[pointx][pointy]]) bbs.color(1) bbs.move(23,79) until 1 == qwert or arr=='^[' bbs.move(10,30) bbs.color(1,37,42) bbs.outs("GAME OVER") bbs.getch() --#BBSLUA -- ※ 發信站: 批踢踢兔(ptt2.cc) ◆ From: 140.112.66.226
danielkuo: ◆ BBS-Lua 執行結束 (程式錯誤)。推 09/18 21:59
ilohoo:你撞牆了,我還沒做判定。當位置<0時會當推 09/19 12:21
ilohoo:轉錄至看板 jasonnn 09/24 14:05 -- ※ 發信站: 批踢踢兔(ptt2.cc) ◆ From: 140.112.4.235
hrs113355:好難@@推 09/24 21:00
Kinra:好快!!!!!推 09/24 21:00
abc1234586:大概了解 但是還是太難XD推 09/24 21:02
ilohoo:速度放慢了推 09/24 21:18
cockroach00:94 要一直盯著看蠻累的XD推 09/25 00:07
ckclark:第一次玩就破百 應該是放慢過後的吧推 09/25 00:56
ilohoo:放慢是放慢兩倍有空再弄自訂速度推 09/25 01:21
tanshun:第一次玩也破百,大概速度也調過了吧推 09/25 13:22
sfwejfish:第一次破 期待自訂速度(記得附註原版速度多快></)推 09/25 14:59
k860326:電腦人呢~XD推 09/25 17:43
k860326:原來是1000分 囧推 09/25 17:43
ilohoo:按"+","-"可以調速度,分數會隨速度增加。推 09/25 17:54
icenivek:我玩到一半沒東西可以吃了耶!?推 09/25 23:15
sfwejfish:50會狂跳>"<推 09/26 10:51
asdfghjk0126:玩到965 差點就1000了>"<推 09/27 11:16
pioneerlike:推~推 09/28 15:26
MISAnogo:轉錄至某隱形看板 09/28 17:03
hollowmanx:電腦人士唬爛的吧XDDD推 09/29 19:23
ilohoo:的確沒有電腦人,但也沒有母體吧??推 09/30 20:53
ilohoo:我的意思是,能看這堆亂碼哪麼久那麼專注和駭客任務一樣推 09/30 20:54
VElysian:有創意也不錯玩,但我想到有色盲的會不知道這是什麼 XD推 10/01 09:22
Kinra:其實色盲也可以玩 蛇本身是全半形變化 食物是出現新字推 10/01 10:48
youtien:改程式,改到超過1分即可打電腦人啊。推 10/02 19:40
mTwTm:對,因為全半形變化所以色弱的我也可以玩 哭哭推 10/02 22:25
unumbra:轉錄至某隱形看板 10/31 22:40 pharos:轉錄至某隱形看板 11/01 22:35 k860326:轉錄至看板 Test 12/06 18:03