第 1 頁 (共 3 頁)
[問題]請問會的大大
發表於 : 2004-12-07 8:51 PM
由 ahk12345
119 FOR TI=1 TO 1000:NEXT TI :CLS:PRINT "時盡",POINT:END
120 I$=INKEY$:IF I$=CHR$(23) THEN LOCATE 3,9 :PRINT "?": GOTO 140
121 IF I$=CHR$(22) AND TT=2 THEN POINT=POINT+1 : GOTO 150
122 IF I$=CHR$(22) AND TT<>2 THEN GOTO 180
123 IF I$=CHR$(22) AND TT=3 THEN POINT=POINT+1 : GOTO 150
124 IF I$=CHR$(22) AND TT<>3 THEN GOTO 180
130 IF I$=CHR$(27) THEN CLS:PRINT "881":END
140 IF TT=1 THEN POINT=POINT+1 ELSE GOTO 180
150 OPEN "POINT" FOR OUTPUT AS #2
160 WRITE #2,POINT :CLOSE #2
170 GOTO 71
180 PRINT "...",POINT
190 POINT=0
200 OPEN "POINT" FOR OUTPUT AS #1
210 WRITE #1,POINT
220 END
這個裡面
一開頭的for的功能跟inkey$要怎麼同時使用
誰能告訴我阿
發表於 : 2004-12-07 11:29 PM
由 Mowd
for和inkey$同時使用?就加在for迴圈就好啦,不過...你這個程式跑了第一行就結束了耶~
發表於 : 2004-12-08 9:17 PM
由 ahk12345
要怎麼用阿
可以寫一下ㄇ(程式碼)
那是程式的一小部份
全部的話要下載喔(防盜嘛~)
發表於 : 2004-12-08 9:43 PM
由 Mowd
你跟我說你想要做到什麼功能吧!這樣我比較好寫。
發表於 : 2004-12-08 10:06 PM
由 ahk12345
先請問你有下載我的檔ㄇ
我想做的功能是
讓他在讀秒的時候可以按按鈕
發表於 : 2004-12-09 2:17 AM
由 Mowd
只能用PEEK來讀了,你找找相關文章,應該有。PEEK(200)-PEEK(20X)吧
發表於 : 2004-12-09 10:09 AM
由 大地旅法師
GVBASIC的判讀INKEY$值會使程式停下
不然一般的BASIC當你沒按鍵時只會視INKEY$值為""
用PEEK吧
發表於 : 2004-12-09 4:42 PM
由 ahk12345
不太懂
可以寫個示範ㄇ(程式碼)
發表於 : 2004-12-10 6:05 PM
由 helldeathscyt
當BASIC讀到INKEY$時
它就會停下來等待使用者回應
也就是說,這會使得你原本想執行的動作停下來等待回應
而PEEK是哈電族用來查詢記憶體位置的語法
也就是說你不需要按下任何鍵PEEK已經有數字存在了
而你可以找到對應的PEEK當作讀鍵値使用
這樣你就可以一邊判斷一邊執行你想要的動作了
舉例來說,在NC3000裡
打:
IF PEEK (198)=223 THEN PRINT "A":10 ELSE PRINT "B":10
或著打:
IF INKEY$="a" THEN PRINT "A":10 ELSE PRINT "B":10
這兩個的效果都差不多
但是第一種當你不按著"A"時他會顯示"B"
而第二種當你不按"A"程式也不會有任何動作
這樣你了解了嗎?
發表於 : 2004-12-10 8:32 PM
由 ahk12345
有〝一點〞懂
但你的
helldeathscythe地獄死神 寫:
IF PEEK (198)=223 THEN PRINT "A":10 ELSE PRINT "B":10
IF INKEY$="a" THEN PRINT "A":10 ELSE PRINT "B":10
IF PEEK (198)=223 THEN PRINT "A":10 ELSE PRINT "B":10裡面的
:10是啥意思阿
發表於 : 2004-12-10 8:34 PM
由 ahk12345
忘了問
左鍵的peek還有右鍵的peek是什麼阿?
發表於 : 2004-12-10 8:36 PM
由 ahk12345
全部的程式碼是這樣
10 LOCATE 3,9
15 A$="伐木"
20 FOR I=1 TO LEN(A$):PRINT MID$(A$,I,1);:NEXT I :INKEY$
30 CLS:GRAPH:PRINT "選單","1.開始","2.高分榜","3.結束(不要啊~)","4.求助";:K$=INKEY$
40 IF K$=CHR$(98) THEN GOTO 70
50 IF K$=CHR$(110) THEN GOTO 80
51 IF K$=CHR$(103) THEN GOTO
60 IF K$=CHR$(109) THEN CLS:PRINT "881":END ELSE GOTO 30
70 CLS:PRINT "STAR":INKEY$
71 CLEAR:A=INT(RND(1)*10):
72 IF A<8 THEN TT$="?":TT=1
73 IF A=8 THEN TT$=" ":TT=2
74 IF A>8 THEN TT$="?":TT=3
75 OPEN "POINT" FOR INPUT AS #1
76 INPUT #1,POINT :CLOSE #1
80 CLS:ELLIPSE 38,28,4,4,0,1 :LINE 38,33,38,47,1 :LINE 39,39,50,30,1 :LINE 50,30,52,34,1:
90 LINE 52,34,53,32,1 :LINE 53,31,51,29,1 :BOX 50,30,57,16,1,1 :LINE 38,48,35,57,1:
100 LINE 38,49,41,58,1:LOCATE 3,9 :PRINT TT$ :ELLIPSE 83,28,4,4,0,1 :LINE 83,47,83,33,1 :
110 LINE 83,48,81,58,1 :LINE 86,58,84,49,1 :LINE 82,38,74,38,1 :LINE 74,37,84,37,1 :
119 FOR TI=1 TO 1000:NEXT TI :CLS:PRINT "時盡",POINT:END
120 I$=INKEY$:IF I$=CHR$(23) THEN LOCATE 3,9 :PRINT "?": GOTO 140
121 IF I$=CHR$(22) AND TT=2 THEN POINT=POINT+1 : GOTO 150
122 IF I$=CHR$(22) AND TT<>2 THEN GOTO 180
123 IF I$=CHR$(22) AND TT=3 THEN POINT=POINT+1 : GOTO 150
124 IF I$=CHR$(22) AND TT<>3 THEN GOTO 180
130 IF I$=CHR$(27) THEN CLS:PRINT "881":END
140 IF TT=1 THEN POINT=POINT+1 ELSE GOTO 180
150 OPEN "POINT" FOR OUTPUT AS #2
160 WRITE #2,POINT :CLOSE #2
170 GOTO 71
180 PRINT "...",POINT
190 POINT=0
200 OPEN "POINT" FOR OUTPUT AS #1
210 WRITE #1,POINT
220 END
有一些會變成表情符號
抱歉嚕
and有些語句寫一半
發表於 : 2004-12-11 9:13 AM
由 ahk12345
要配合這可個東西才能用喔
發表於 : 2004-12-13 9:22 PM
由 helldeathscyt
ahk12345 寫:有〝一點〞懂
但你的
helldeathscythe地獄死神 寫:
IF PEEK (198)=223 THEN PRINT "A":10 ELSE PRINT "B":10
IF INKEY$="a" THEN PRINT "A":10 ELSE PRINT "B":10
IF PEEK (198)=223 THEN PRINT "A":10 ELSE PRINT "B":10裡面的
:10是啥意思阿
在if...then...裡的then之後直接打上數字
使指goto的意思,這樣可以節省多餘的行號
所以:10就是goto 10
無線循環的意思
peek左邊數字是橫排為單位
右邊是直排為單位
也就是說Q,A,Z,[求助]的左邊都是198
但是右邊都不一樣
而A那一排的右邊數字都是223
在你沒有動作時,他們全部都是255(2的8次方減1)
只有最右邊那8個按鍵不一樣
全部都是8個一組
你可以去爬文有詳細說明
用尋找文章尋找比較快
發表於 : 2004-12-14 5:10 PM
由 ahk12345
我用peek寫了一下
但只有第一次給我反應
真是有夠給我ooxx的
程式碼:
10 LOCATE 3,9
15 A$="伐木"
20 FOR I=1 TO LEN(A$):PRINT MID$(A$,I,1);:NEXT I :INKEY$
30 CLS:GRAPH:PRINT "選單","1.開始","2.高分榜","3.結束(不要啊~)","4.求助";:K$=INKEY$
40 IF K$=CHR$(98) THEN GOTO 70
50 IF K$=CHR$(110) THEN GOTO 80
51 IF K$=CHR$(103) THEN GOTO
60 IF K$=CHR$(109) THEN CLS:PRINT "881":END ELSE GOTO 30
70 CLS:PRINT "STAR":INKEY$
71 CLEAR:A=INT(RND(1)*10):
72 IF A<8 THEN TT$="?":TT=1
73 IF A=8 THEN TT$=" ":TT=2
74 IF A>8 THEN TT$="?":TT=3
75 OPEN "POINT" FOR INPUT AS #1
76 INPUT #1,POINT :CLOSE #1
80 CLS:ELLIPSE 38,28,4,4,0,1 :LINE 38,33,38,47,1 :LINE 39,39,50,30,1 :LINE 50,30,52,34,1:
90 LINE 52,34,53,32,1 :LINE 53,31,51,29,1 :BOX 50,30,57,16,1,1 :LINE 38,48,35,57,1:
100 LINE 38,49,41,58,1:LOCATE 3,9 :PRINT TT$ :ELLIPSE 83,28,4,4,0,1 :LINE 83,47,83,33,1 :
110 LINE 83,48,81,58,1 :LINE 86,58,84,49,1 :LINE 82,38,74,38,1 :LINE 74,37,84,37,1 :
111 IF POINT=0 THEN LV=1
112 IF POINT=5 THEN LV=2
113 IF POINT=10 THEN LV=3
114 IF POINT=15 THEN LV=4
115 IF POINT=20 THEN LV=5
116 IF POINT=25 THEN LV=6
117 IF POINT=30 THEN LV=7
118 IF POINT>30 THEN CLS:PRINT "破關嚕": GOTO
119 IF TI=100 THEN CLS:PRINT "TIME'S UP!",POINT :END ELSE GOTO 120
120 IF PEEK (191)=127 THEN LOCATE 3,9 :PRINT "?": GOTO 123
121 IF PEEK (191)=247 AND TT=2 THEN POINT=POINT+1 : GOTO 150
122 IF PEEK (191)=247 AND TT=3 THEN POINT=POINT+1 : GOTO 71 ELSE TI=TI+LV : GOTO 119
123 IF TT=1 THEN POINT=POINT+1 : GOTO 150
124 IF TT=2 THEN GOTO 180
125 IF TT=3 THEN GOTO 180
150 OPEN "POINT" FOR OUTPUT AS #2
160 WRITE #2,POINT :CLOSE #2
170 GOTO 71
180 PRINT "...",POINT
190 POINT=0
200 OPEN "POINT" FOR OUTPUT AS #1
210 WRITE #1,POINT
220 END