100 REM ========================================== 110 REM MAIN MENU 120 REM ========================================== 130 CLEAR 135 SLOW 140 COLOR 7, 0 145 PRINT " " 150 PRINT " | \ | |_) |__ / ~|~ / \ |_) \/ " 160 PRINT " |_/ | | \ |__ \_ | \_/ | \ | " 170 PRINT " " 180 PRINT " /\ (_ (_ | (_ ~|~ /\ |\ | / |__ " 190 PRINT " /__\ __)__) | __) | /__\ | \| \_ |__ " 200 PRINT " " 205 NOSLOW 210 COLOR 5, 0 220 PRINT "1. LOGIN TO SYSTEM" 230 PRINT "2. REGISTER NEW ACCOUNT" 240 PRINT "3. DISCONNECT" 250 PRINT " " 260 GET C$ : IF C$="" THEN GOTO 260 270 IF C$ = "1" THEN GOTO 400 280 IF C$ = "2" THEN GOTO 300 290 IF C$ = "3" THEN END 295 GOTO 260 300 REM ========================================== 310 REM REGISTRATION 320 REM ========================================== 330 CLEAR 340 PRINT "--- NEW USER REGISTRATION ---" 350 INPUT "DESIRED USERNAME: ", U$ 360 INPUT "ACCOUNT PASSWORD: ", P$ 370 DBINSERT "users", U$, P$ 380 COLOR 11, 0 390 PRINT "ACCOUNT CREATED! RETURNING TO LOGIN..." 395 FOR D=1 TO 500 : NEXT D 398 GOTO 100 400 REM ========================================== 410 REM LOGIN 420 REM ========================================== 430 CLEAR 440 PRINT "--- SECURE LOGIN ---" 450 INPUT "USERNAME: ", U$ 460 INPUT "PASSWORD: ", P$ 470 DBGET "users", "username", U$, "password", R$ 480 IF R$ = P$ THEN GOTO 600 490 COLOR 12, 0 500 PRINT "ACCESS DENIED. INVALID CREDENTIALS." 510 COLOR 10, 0 520 FOR D=1 TO 500 : NEXT D 530 GOTO 100 600 REM ========================================== 610 REM SYSOP DASHBOARD (LOGGED IN) 620 REM ========================================== 630 CLEAR 640 COLOR 11, 0 650 PRINT "WELCOME BACK, " ; U$ 660 COLOR 10, 0 670 PRINT "----------------------------------" 680 PRINT "1. READ SYSTEM NEWS (FILE I/O)" 690 PRINT "2. WHO IS ONLINE? (NETWORK)" 700 PRINT "3. SEND PRIVATE MESSAGE" 710 PRINT "4. CHECK INBOX" 720 PRINT "5. ENTER PUBLIC CHAT ROOM" 730 PRINT "6. LOGOUT" 740 PRINT "----------------------------------" 750 GET C$ : IF C$="" THEN GOTO 750 760 IF C$ = "1" THEN GOTO 800 770 IF C$ = "2" THEN GOTO 900 780 IF C$ = "3" THEN GOTO 1000 790 IF C$ = "4" THEN GOTO 1100 792 IF C$ = "5" THEN GOTO 1200 794 IF C$ = "6" THEN GOTO 100 796 GOTO 750 800 REM ========================================== 810 REM SYSTEM NEWS (FILE I/O) 820 REM ========================================== 830 CLEAR 840 COLOR 11, 0 850 PRINT "--- SYSTEM NEWS BULLETIN ---" 860 COLOR 10, 0 870 TYPE "news.txt" 880 PRINT " " 890 INPUT "PRESS ENTER TO RETURN: ", X$ 895 GOTO 600 900 REM ========================================== 910 REM WHO IS ONLINE 920 REM ========================================== 930 CLEAR 940 COLOR 11, 0 950 PRINT "--- ACTIVE NETWORK USERS ---" 960 COLOR 10, 0 970 WHONODE 980 PRINT " " 990 INPUT "PRESS ENTER TO RETURN: ", X$ 995 GOTO 600 1000 REM ========================================== 1010 REM SEND PRIVATE MESSAGE 1020 REM ========================================== 1030 CLEAR 1040 PRINT "--- TRANSMIT PRIVATE SECURE MSG ---" 1050 INPUT "TARGET USERNAME: ", T$ 1060 INPUT "MESSAGE PAYLOAD: ", M$ 1070 MSG T$, M$ 1080 COLOR 11, 0 1090 PRINT "MESSAGE TRANSMITTED!" 1092 COLOR 10, 0 1094 FOR D=1 TO 500 : NEXT D 1096 GOTO 600 1100 REM ========================================== 1110 REM CHECK INBOX 1120 REM ========================================== 1130 CLEAR 1140 PRINT "--- SECURE INBOX ---" 1150 POLL M$, S$, P 1160 COLOR 11, 0 1170 PRINT "RECEIVED: " ; M$ 1180 COLOR 10, 0 1190 PRINT " " 1192 INPUT "PRESS ENTER TO RETURN: ", X$ 1194 GOTO 600 1200 REM ========================================== 1210 REM PUBLIC CHAT ROOM 1220 REM ========================================== 1230 CLEAR 1240 COLOR 11, 0 1250 PRINT "--- GLOBAL CHAT (TYPE 'QUIT' TO EXIT) ---" 1260 COLOR 10, 0 1270 TYPE "chat.txt" 1280 PRINT "-----------------------------------------" 1290 INPUT "SAY: ", M$ 1300 IF M$ = "QUIT" THEN GOTO 600 1310 REM -- APPEND TO CHAT FILE -- 1320 READ "chat.txt", C$ 1330 C$ = C$ + " [" + U$ + "]: " + M$ 1340 WRITE "chat.txt", C$ 1350 GOTO 1200