求助!SCREEN0 下的闪屏问题
qbasic吧
全部回复
仅看楼主
level 10
colyandtomy 楼主
怎么解决啊?才刚刚开始就遇到这个问题
2013年07月03日 14点07分 1
level 14
你这种写法肯定会闪屏的
2013年07月04日 00点07分 2
level 14
你是不是想弄个菜单之类的东西?
2013年07月04日 00点07分 3
不是。这个是汉诺塔的雏形。三行数字代表三个塔,其中的数字代表塔层。旁边那个心是光标。
2013年07月04日 00点07分
现在的问题是,怎样做到光标可移动,而且不闪屏
2013年07月04日 00点07分
回复 colyandtomy :已经做了,你的 看下,我加上了 w a s d 四个按键的操作。。。
2013年07月04日 00点07分
回复 colyandtomy :不过我做的好像是和你的想法不一样,我做的是移动处理,呵呵
2013年07月04日 00点07分
level 14
DIM t1(0 TO 2)
DIM t2(0 TO 2)
DIM t3(0 TO 2)
DIM tf AS INTEGER
DIM th AS INTEGER
DIM w AS INTEGERFOR i = 0 TO 2
t1(i) = i
NEXT ix = 1
y = 1CLS
LOCATE 11, 10
PRINT "{" + STR$(t1(0)) + "," + STR$(t1(1)) + "," + STR$(t1(2)) + " }" + " "
LOCATE 12, 10
PRINT "{" + STR$(t2(0)) + "," + STR$(t2(1)) + "," + STR$(t2(2)) + " }" + " "
LOCATE 13, 10
PRINT "{" + STR$(t3(0)) + "," + STR$(t3(1)) + "," + STR$(t3(2)) + " }" + " "DO WHILE a$ <> CHR$(27)
a$ = INKEY$SELECT CASE a$
CASE "a"
IF x > 1 THEN
x = x - 1
ELSE
x = 3
END IF CASE "d"
IF x < 3 THEN
x = x + 1
ELSE
x = 1
END IF CASE "w"
IF y > 1 THEN
y = y - 1
ELSE
y = 3
END IF CASE "s"
IF y < 3 THEN
y = y + 1
ELSE
y = 1
END IFEND SELECTIF a$ <> "" THEN
LOCATE 11, 10
PRINT "{" + STR$(t1(0)) + "," + STR$(t1(1)) + "," + STR$(t1(2)) + " }" + " "
LOCATE 12, 10
PRINT "{" + STR$(t2(0)) + "," + STR$(t2(1)) + "," + STR$(t2(2)) + " }" + " "
LOCATE 13, 10
PRINT "{" + STR$(t3(0)) + "," + STR$(t3(1)) + "," + STR$(t3(2)) + " }" + " "
LOCATE 10 + y, 12 + (x - 1) * 3: PRINT CHR$(3)
END IF LOOP
2013年07月04日 00点07分 4
谢谢,我看看
2013年07月04日 03点07分
level 12
在a$=inkey$前加上10
再加一句“if a$="" then 10”
2013年07月14日 10点07分 5
1