mbasic吧 关注:19贴子:210
  • 10回复贴,共1

mobilebasic 编写的时钟程序

只看楼主收藏回复

我利用 手机mobilebasic移植了一个时钟程序,此程序的特点是图形化显示时钟,我还对秒针进行diy,使秒针可以逆方向运行。


IP属地:北京来自手机贴吧1楼2016-09-10 16:24回复
    下载链接中我编译好的jar 文件,在多数j2me环境下应该都可以运行。http://pan.baidu.com/s/1cBn8ke


    IP属地:北京来自手机贴吧3楼2016-09-10 17:58
    收起回复
      1 rem diy_clock for mobilebasic 1.8.4
      2 rem made by 不点:rem 2016年9月6日
      3 rem QQ:1039022875
      6 H=SCREENHEIGHT(0):W=SCREENWIDTH(0)
      7 MR=0:MZ=0:FZ=0:XZ=0
      8 IF H>W THEN MR=W
      9 IF H<W THEN MR=H
      10 R=MR/2:PI=3.14:HPR=R/100
      11 GH=sqr(3)/2
      12 MZ=R*0.8:FZ=R*0.62:XZ=R*0.45
      15 CLS
      16
      18 REM CLOCK START
      19 GOTO 166
      22
      23 SETCOLOR 0,0,0
      24 FILLARC 0.15*R,0.15*R,1.75*R,1.75*R,0,360
      25 REM PARDON ME,SO STRANGE GRAMMAR,THIS SOFT NOT PERFECT IN DRAW ARC
      26
      27
      28 REM UPDATE SECOND HAND
      29 SETCOLOR 255,0,0
      30 DRAWLINE R,R,SR1,SR2
      31
      32 REM UPDATE MINUTE HAND
      33 SETCOLOR 0,0,255
      34 DRAWLINE R,R,QR1,QR2
      35
      36 REM UPDATE HOUR HAND
      37 SETCOLOR 255,255,0
      38 DRAWLINE R,R,WR1,WR2
      39 sleep 150
      40
      41 GOTO 50
      42
      47
      48 REM FUNCTION SS MAKE THE NUMBER OF SECONDS TO REDUCE
      49
      50 d%=days(0):m%=milliseconds(0)
      51 SS%=second(d%,m%):II%=minute(d%,m%):HH%=hour(d%,m%)
      52 REM CATCH SECONDS
      53 SS%=60-SS%
      54
      55 IF SS%>0 AND SS%<=15 THEN GOTO 60
      56 IF SS%>15 AND SS%<=30 THEN GOTO 67
      57 IF SS%>30 AND SS%<=45 THEN GOTO 74
      58 IF SS%>45 AND SS%<=60 THEN GOTO 81
      59
      60 a%=1
      61 b%=-1
      62 d=(PI/30)*ss%
      63 SR1=(R+a%*mz*sin(d))
      64 SR2=(R+b%*mz*cos(d))
      65 GOTO 90
      66
      67 a%=1
      68 b%=1
      69 e=(PI/30)*(ss%-15)
      70 SR1=(R+a%*mz*cos(e))
      71 SR2=(R+b%*mz*sin(e))
      72 GOTO 90
      73
      74 a%=-1
      75 b%=1
      76 f=(PI/30)*(ss%-30)
      77 SR1=(R+a%*mz*sin(f))
      78 SR2=(R+b%*mz*cos(f))
      79 GOTO 90
      80
      81 a%=-1
      82 b%=-1
      83 g=(PI/30)*(ss%-45)
      84 SR1=(R+a%*mz*cos(g))
      85 SR2=(R+b%*mz*sin(g))
      86 GOTO 90
      87
      88
      89 REM CATCH MINUTES
      90 REM THE BUG ABOUT DATA TYPE APPEAR UNDER YOUR EYES
      91 IF II%>=0 AND II%<15 THEN GOTO 98
      92 IF II%>=15 AND II%<30 THEN GOTO 106
      93 IF II%>=30 AND II%<45 THEN GOTO 113
      94 IF II%>=45 AND II%<=59 THEN GOTO 120
      95 PRINT "SYSTEM ERROR"
      96
      97
      98 a%=1
      99 b%=-1
      100 d=(PI/30)*II%
      101 QR1=(R+a%*fz*sin(d))
      102 QR2=(R+b%*fz*cos(d))
      103 GOTO 128
      105
      106 a%=1
      107 b%=1
      108 e=(PI/30)*(II%-15)
      109 QR1=(R+a%*fz*cos(e))
      110 QR2=(R+b%*fz*sin(e))
      111 GOTO 128
      112
      113 a%=-1
      114 b%=1
      115 f=(PI/30)*(II%-30)
      116 QR1=(R+a%*fz*sin(f))
      117 QR2=(R+b%*fz*cos(f))
      118 GOTO 128
      119
      120 a%=-1
      121 b%=-1
      122 g=(PI/30)*(II%-45)
      123 QR1=(R+a%*fz*cos(g))
      124 QR2=(R+b%*fz*sin(g))
      125 GOTO 128
      126
      127
      128 REM CATCH HOURS
      129
      130 IF HH%>=12 THEN HH%=HH%-12
      131
      132 IF HH%>=0 AND HH%<3 THEN GOTO 137
      133 IF HH%>=3 AND HH%<6 THEN GOTO 144
      134 IF HH%>=6 AND HH%<9 THEN GOTO 151
      135 IF HH%>=9 AND HH%<=11 THEN GOTO 158
      136
      137 a%=1
      138 b%=-1
      139 int%=(II%/12):d=(PI/6)*HH%+(PI/30)*int%
      140 WR1=(R+a%*xz*sin(d))
      141 WR2=(R+b%*xz*cos(d))
      142 GOTO 23
      143
      144 a%=1
      145 b%=1
      146 int%=(II%/12):e=(PI/6)*(HH%-3)+(PI/30)*int%
      147 WR1=(R+a%*xz*cos(e))
      148 WR2=(R+b%*xz*sin(e))
      149 GOTO 23
      150
      151 a%=-1
      152 b%=1
      153 int%=(II%/12):f=(PI/6)*(HH%-6)+(PI/30)*int%
      154 WR1=(R+a%*xz*sin(f))
      155 WR2=(R+b%*xz*cos(f))
      156 GOTO 23
      157
      158 a%=-1
      159 b%=-1
      160 int%=(II%/12):g=(PI/6)*(HH%-9)+(PI/30)*int%
      161 WR1=(R+a%*xz*cos(g))
      162 WR2=(R+b%*xz*sin(g))
      163 GOTO 23
      164
      165 REM DRAW THE SHAPE OF CLOCK
      166 SETCOLOR 0,0,0
      167 FILLRECT 0,0,W,H
      168 SETCOLOR 0,255,0
      169
      170 REM DRAW THE TIME POINT IN A CLOCK
      171 REM BECAUSE THE BUG FROM MOBILEBASIC SELF,I FIXED IT IN LINE 172 TO 183
      172 FILLARC R,0,HPR,HPR,0,360:PLOT R,1
      173 FILLARC 0,R,HPR,HPR,0,360:PLOT 1,R
      174 FILLARC R,MR,HPR,HPR,0,360:PLOT R,(MR-1)
      175 FILLARC MR,R,HPR,HPR,0,360:PLOT (MR-1),R
      176 FILLARC 1.5*R,(1-GH)*R,HPR,HPR,0,360:PLOT 1.5*R,(1-GH)*R
      177 FILLARC (1+GH)*R,0.5*R,HPR,HPR,0,360:PLOT (1+GH)*R,0.5*R
      178 FILLARC (1+GH)*R,1.5*R,HPR,HPR,0,360:PLOT (1+GH)*R,1.5*R
      179 FILLARC 0.5*R,(1-GH)*R,HPR,HPR,0,360:PLOT 0.5*R,(1-GH)*R
      180 FILLARC 0.5*R,(1+GH)*R,HPR,HPR,0,360:PLOT 0.5*R,(1+GH)*R
      181 FILLARC (1-GH)*R,1.5*R,HPR,HPR,0,360:PLOT (1-GH)*R,1.5*R
      182 FILLARC (1-GH)*R,0.5*R,HPR,HPR,0,360:PLOT (1-GH)*R,0.5*R
      183 FILLARC 1.5*R,(1+GH)*R,HPR,HPR,0,360:PLOT 1.5*R,(1+GH)*R
      184 GOTO 50


      IP属地:北京4楼2016-09-12 07:10
      收起回复
        楼主的程序
        IF
        去掉 GOTO 和行号
        用上 DO ... LOOP ..OR
        WHILE ...WEND 等循环语句
        THEN
        会漂亮!!


        IP属地:浙江6楼2016-12-13 00:56
        收起回复
          我这是mobilebasic编程,没有goto和行号,程序就跑不起来。拜托你不要好为人师,学了点皮毛就到处指点江山


          IP属地:北京来自手机贴吧7楼2016-12-16 02:40
          收起回复