VAR sel,sold THRE=38 HYS=-2 PRINT @ 1,0,'1) COCA COLA', @ 3,0,'2) DIET COKE', @ 5,0,'3) ICE TEA' BOX 0,0, 127,9 WHILE 1 IF TIME>30 THEN select(0) ENDIF IF IN&32 THEN select(1) ENDIF IF IN&64 THEN select(2) ENDIF IF IN&128 THEN select(3) ENDIF IF IN&8 THEN dispense() ENDIF IF (IN&7) != sold THEN soldout() ENDIF WEND FUNCTION select(n) IF n THEN PRINT @7,0,' INSERT MONEY ' IF (sold & (1<<(n-1))) THEN n=0 PRINT @7,0,' CHANGE SELECTION!' ENDIF ELSE PRINT @7,0,' SELECT YOUR DRINK' ENDIF IF n != sel THEN IF sel != 0 THEN BOX 30,13+(sel-1)*16,100,12+sel*16, 0 ENDIF IF n != 0 THEN BOX 30,13+(n-1)*16,100,12+n*16 ENDIF sel=n ENDIF IN=IN&15 TIME=0 FEND FUNCTION dispense() IF sel THEN IF sel==1 THEN OUT = OUT | 1 ENDIF IF sel==2 THEN OUT = OUT | 2 ENDIF IF sel==3 THEN OUT = OUT | 4 ENDIF TIME=0 WHILE TIME<1 WEND OUT = 0 IN=IN&(255-8) select(0) ENDIF FEND FUNCTION soldout() IF sold == 0 THEN SMSalert() ENDIF sold = IN&7 IF sold&4 THEN PRINT @ 1,0,'1) sold out!' ENDIF IF sold&2 THEN PRINT @ 3,0,'2) sold out!' ENDIF IF sold&1 THEN PRINT @ 5,0,'3) sold out!' ENDIF FEND FUNCTION SMSalert() PRINT COM, 'AT+CPMS="ME","ME"',CR PRINT COM, 'AT+CMSS=1',CR FEND