回 帖 发 新 帖 刷新版面

主题:关于inkey$

我想做个按键判断的程序
思路是这个样子的
s1:根据x0,y0画线条
s2:按键输入(用inkey$)
s3:抹去线条
s4:判断按键(用select)
  s4.1:按esc 结束
  s4.2:按a x0-5
  s4.3:按d x0+5
  s4.4:按w y0-5
  s4.5:按s y0+5
s5:goto s1
请大家帮帮忙教教我!
顺便把inkey$的使用格式全部教给我
跪谢

回复列表 (共4个回复)

沙发

CLS
SCREEN 9, , 1, 0
LET x0 = 319: y0 = 174
DO
  CLS 1
  CIRCLE (x0, y0), 50, 12, , , 5 / 8     '画圆
  PAINT (x0, y0), 12, 12                 '填色
  PCOPY 1, 0
  DO
    LET k$ = INKEY$                      '等待按键
  LOOP UNTIL k$ = CHR$(27) OR k$ = CHR$(97) OR k$ = CHR$(100) OR k$ = CHR$(119) OR k$ = CHR$(115)
  SELECT CASE k$
    CASE CHR$(27)
      CLS
      EXIT DO                            '按Esc键结束程序
    CASE CHR$(97)
      LET x0 = x0 - 5                    '左移
      IF x0 < 50 THEN LET x0 = 589
    CASE CHR$(100)
      LET x0 = x0 + 5                    '右移
      IF x0 > 589 THEN LET x0 = 50
    CASE CHR$(119)
      LET y0 = y0 - 5                    '上移
      IF y0 < 50 THEN LET y0 = 299
    CASE CHR$(115)
      LET y0 = y0 + 5                    '下移
      IF y0 > 299 THEN LET y0 = 50
  END SELECT
LOOP

板凳

我用一个圆代替你要求的线条,如果你想画线,用画线语句代替画圆就可以了,你意思是想用键盘控制屏幕上的图画移动吧,这个程序可以实现。

3 楼

INKEY$ 函数返回一个键盘输入的字符串
一般是设一个循环不断地获得INKEY$返回的值
如:
while Quit=0
    in$=Inkey$
    if in$<>"" then
        select case in$
            case chr$(27)  'ESC键
                 Quit=-1
            case chr$(0)+chr$(77) '光标向右
            '这里可以写上你需要的键值
        end select
    endif
wend

4 楼

谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册