180 lines
No EOL
4.7 KiB
QBasic
180 lines
No EOL
4.7 KiB
QBasic
dim shared user as string
|
|
dim txtin as string
|
|
do
|
|
cls
|
|
print "Oscorp web comsole v1.1"
|
|
input "login:",user
|
|
print "contacting login server."
|
|
sleep 1
|
|
print "failed"
|
|
select case user
|
|
case ""
|
|
print "Anonymous user login successful, restricted privileges applies."
|
|
case "root"
|
|
print "root has unrestricted privileges, be careful."
|
|
case else
|
|
print "user ";user;" login successful, restricted privileges applies."
|
|
end select
|
|
do
|
|
input ">",txtin
|
|
select case first(txtin)
|
|
case "cls"
|
|
cls
|
|
case "whoami"
|
|
print user
|
|
case "su"
|
|
user="root"
|
|
print "root has unrestricted privileges, be careful."
|
|
case "help"
|
|
print "help!"
|
|
case "time"
|
|
print time$
|
|
case "date"
|
|
print date$
|
|
case "dir","ls"
|
|
print "readme.txt matrix linker"
|
|
print "credits.txt news.txt contact.txt"
|
|
case "download"
|
|
if user="root" then
|
|
print "downloading is temporarily disabled."
|
|
else
|
|
print "insufficient privileges, user must be root."
|
|
end if
|
|
case "matrix"
|
|
matrix
|
|
case "linker"
|
|
linker
|
|
case "cat","type","read"
|
|
cat rest$(txtin)
|
|
case "exit"
|
|
exit do
|
|
case else
|
|
print "unknown command"
|
|
end select
|
|
_limit 30
|
|
loop
|
|
loop
|
|
|
|
sub cat(txty as string)
|
|
select case txty
|
|
case ""
|
|
print "please specify file to output"
|
|
case "news.txt"
|
|
print "Thursday May 7. 2026"
|
|
print "Web console went online, all seems well."
|
|
print "Updated contact.txt"
|
|
case "readme.txt"
|
|
if user="root" then
|
|
print "OSCORP INDUSTRIES - INTERNAL SYSTEMS"
|
|
print "DOCUMENT ID: OS-99-B-ROOT"
|
|
print "------------------------------------"
|
|
print "Welcome, Administrator."
|
|
print "Current Projects: Matrix, Linker, Stress simulator."
|
|
print "Status: All systems operational."
|
|
print ""
|
|
else
|
|
print "--- RESTRICTED ACCESS ---"
|
|
print "Property of Oscorp Industries."
|
|
print "Unauthorized access is a federal offense."
|
|
end if
|
|
case "contact.txt"
|
|
print ""
|
|
print "Contact"
|
|
print "-------"
|
|
print "If you have any questions you can"
|
|
print "contact us at";
|
|
color 9
|
|
print " noreply@oscorp.dk"
|
|
color 7
|
|
|
|
case "matrix"
|
|
print "matrix is a program"
|
|
case "linker"
|
|
print "linker is a program"
|
|
case else
|
|
print "file not found: "+txty
|
|
end select
|
|
end sub
|
|
|
|
sub linker
|
|
print
|
|
print "Links to tools hosted on osorp.dk internal servers"
|
|
print "--------------------------------------------------"
|
|
print "1. Bento PDF - Whatever you want to do to a pdf file, you can"
|
|
print "2. SearXNG - Private search through our server."
|
|
print "3. QBJS - Qbasic for the web."
|
|
print "4. DPAINT Deluxe Paint inspired web image editor"
|
|
print
|
|
print "choose you tool (Press 1-4, any other key to exit)"
|
|
while k$="":k$=inkey$:_limit 30:wend
|
|
print "Linker broken Please go to ";
|
|
select case k$
|
|
case "1"
|
|
print "https://bento.oscorp.dk"
|
|
case "2"
|
|
print "https://search.oscorp.dk"
|
|
case "3"
|
|
print "https://qbjs.oscorp.dk"
|
|
case "4"
|
|
print "https://oscorp.dk/dpaint"
|
|
end select
|
|
end sub
|
|
|
|
function first$(txt as string)
|
|
for i=1 to len(txt)
|
|
if mid$(txt,i,1)=" " then first$=left(txt,i-1):exit function
|
|
next
|
|
first$=txt
|
|
end function
|
|
|
|
function rest$(txt as string)
|
|
for i=1 to len(txt)
|
|
if mid$(txt,i,1)=" " then rest$=mid$(txt,i+1):exit function
|
|
next
|
|
rest$=""
|
|
end function
|
|
|
|
sub matrix
|
|
SCREEN _NEWIMAGE(800, 600, 32)
|
|
TYPE Drop
|
|
x AS INTEGER
|
|
y AS INTEGER
|
|
speed AS INTEGER
|
|
length AS INTEGER
|
|
END TYPE
|
|
CONST MAX_DROPS = 100
|
|
DIM columns(MAX_DROPS) AS Drop
|
|
DIM charWidth AS INTEGER: charWidth = 12
|
|
DIM charHeight AS INTEGER: charHeight = 16
|
|
FOR i = 1 TO MAX_DROPS
|
|
columns(i).x = INT(RND * _WIDTH)
|
|
columns(i).y = INT(RND * _HEIGHT) - _HEIGHT
|
|
columns(i).speed = INT(RND * 5) + 2
|
|
columns(i).length = INT(RND * 15) + 5
|
|
NEXT i
|
|
DO
|
|
_LIMIT 30
|
|
CLS
|
|
FOR i = 1 TO MAX_DROPS
|
|
FOR j = 0 TO columns(i).length
|
|
char$ = CHR$(INT(RND * 93) + 33)
|
|
IF j = 0 THEN
|
|
clr& = _RGB32(180, 255, 180)
|
|
ELSE
|
|
fade = 255 - (j * (255 / columns(i).length))
|
|
clr& = _RGB32(0, fade, 0)
|
|
END IF
|
|
color clr&
|
|
_PRINTSTRING (columns(i).x, columns(i).y - (j * charHeight)), char$
|
|
NEXT j
|
|
columns(i).y = columns(i).y + columns(i).speed
|
|
IF columns(i).y - (columns(i).length * charHeight) > _HEIGHT THEN
|
|
columns(i).y = 0
|
|
columns(i).x = INT(RND * _WIDTH)
|
|
columns(i).speed = INT(RND * 5) + 2
|
|
END IF
|
|
NEXT i
|
|
LOOP UNTIL INKEY$ <>""
|
|
screen 0
|
|
print
|
|
end sub |