I have been working on these code for some time now and i feel like sharing it with other folks who are into Programming.
PROGRAM TO CONTROL TRAFFIC ON A FOUR WAY JUNCTION
CLS
10 'PROGRAM TO
CONTROL TRAFFIC ON A FOUR WAY JUNCTION
'PROGRAMMER : CLETUS IGBE
'DEPARTMENT : COMPUTER SCIENCE
'PROGRAM TITLE : TRAFFIC CONTROL
20
'********************** MAIN
PROGRAM *************************
PRINT "THIS IS A PROGRAM TO CONTROL
TRAFFIC ON A FOUR WAY JUNCTION"
PRINT "1 - TO VIEW THE JUNCTION"
PRINT "2 - TO VIEW THE LIGHT"
INPUT "ENTER THE OPERATION YOU
WANT"; CODE
ON CODE GOSUB 1000, 2000
IF CODE = 1 THEN INPUT "DO YOU WANT TO
VIEW THE TRAFFIC LIGHT Y/N"; ANS$
IF ANS$ = "Y" OR ANS$ =
"y" THEN GOSUB 2000
SLEEP
GOSUB 3000
END
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
1000 'SUBROUTINE
TO SHOW THE DIAGRAM OF THE FOUR WAY JUNCTION
FOR I = 1 TO 7
PRINT TAB(21); "|", " |", "|"
IF I = 3 THEN PRINT TAB(21);
"|"; " LANE 1";
" |", "|"
NEXT I
FOR I = 1 TO 7
PRINT "-";
PRINT "- ";
NEXT I
PRINT " ";
FOR I = 1 TO 7
PRINT "-";
PRINT "- ";
NEXT I
PRINT TAB(50); "LANE 4"
PRINT
FOR I = 1 TO 7
PRINT "-";
PRINT "- ";
NEXT I
PRINT " ";
FOR I = 1 TO 7
PRINT "-";
PRINT "- ";
NEXT I
PRINT
PRINT TAB(10); "LANE 2"
PRINT
FOR I = 1 TO 7
PRINT "-";
PRINT "- ";
NEXT I
PRINT " ";
FOR I = 1 TO 7
PRINT "-";
PRINT "- ";
NEXT I
FOR I = 1 TO 7
PRINT TAB(21); "|", " |", "|"
IF I = 4 THEN PRINT TAB(21);
"|", " |";
" LANE 3"; " |"
NEXT I
RETURN
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
2000 'SUBROUTINE
TO SHOW THE TRAFFIC LIGHT
'RED LIGHT
SCREEN 12
CIRCLE (300, 100), 50, 4
PAINT (300, 100), 4
'YELLOW LIGHT
CIRCLE (300, 210), 50, 14
PAINT (300, 210), 14
'GREEN LIGHT
CIRCLE (300, 320), 50, 2
PAINT (300, 320), 2
RETURN
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
3000 CLS
'SUBROUTINE TO DETERMINE MOVEMENT OF LIGHT
PRINT "IF THE TRAFFIC IS SET ON
"
PRINT TAB(10); "7:00"
ST = 7
'DEFINITION OF TERMS
'AAT
- APPROXIMATE ARRIVAL TIME
'DT - DEPARTURE TIME
'DET - DELAY TIME
'ST - START TIME
GOSUB 1010
GOSUB 2010
GOSUB 3010
GOSUB 4010
RETURN
'****************************************************************************
1010 '
*********** FOR LANE 1 ***********
AAT = ST + .1
DET = .2
DT = AAT + DET
SLEEP
SCREEN 12
PRINT TAB(5); "FOR LANE 1"
PRINT TAB(5); "**********"
PRINT "APPROXIMATE ARRIVAL TIME FOR
CARS "; AAT
'RED LIGHT
CIRCLE (500, 100), 50, 4
PAINT (500, 100), 4
SLEEP
PRINT "THE DELAY TIME IN THE QUEUE
"; DET
'YELLOW LIGHT
CIRCLE (500, 210), 50, 14
PAINT (500, 210), 14
SLEEP
'GREEN LIGHT
CIRCLE (500, 320), 50, 2
PAINT (500, 320), 2
PRINT "THE DEPARTURE TIME "; DT
SLEEP
RETURN
'---------------------------------------------------------------------------
2010 CLS
'************* FOR LANE 2
****************
AAT2 = DT + .2
DET2 = .2
DT2 = AAT2 + DET2
SLEEP
SCREEN 12
PRINT TAB(5); "FOR LANE 2"
PRINT TAB(5); "**********"
PRINT "APPROXIMATE ARRIVAL TIME FOR
CARS "; AAT2
'RED LIGHT
CIRCLE (500, 100), 50, 4
PAINT (500, 100), 4
SLEEP
PRINT "THE DELAY TIME IN THE QUEUE
"; DET2
'YELLOW LIGHT
CIRCLE (500, 210), 50, 14
PAINT (500, 210), 14
SLEEP
'GREEN LIGHT
CIRCLE (500, 320), 50, 2
PAINT (500, 320), 2
PRINT "THE DEPARTURE TIME ";
DT2
SLEEP
RETURN
'-------------------------------------------------------------------
3010 CLS
'************ FOR LANE 3
**************
AAT3 = DT2 + .4
DET3 = .2
DT3 = AAT3 + DET3
SLEEP
SCREEN 12
PRINT TAB(5); "FOR LANE 3"
PRINT TAB(5); "**********"
PRINT "APPROXIMATE ARRIVAL TIME FOR
CARS "; AAT3
'RED LIGHT
CIRCLE (500, 100), 50, 4
PAINT (500, 100), 4
SLEEP
PRINT "THE DELAY TIME IN THE QUEUE
"; DET3
'YELLOW LIGHT
CIRCLE (500, 210), 50, 14
PAINT (500, 210), 14
SLEEP
'GREEN LIGHT
CIRCLE (500, 320), 50, 2
PAINT (500, 320), 2
PRINT "THE DEPARTURE TIME ";
DT3
SLEEP
RETURN
'------------------------------------------------------------------
4010 CLS
'************** FOR LANE 4
**************
AAT4 = DT3 + .2
DET4 = .2
DT4 = AAT4 + DET4
SLEEP
SCREEN 12
PRINT TAB(5); "FOR LANE 4"
PRINT TAB(5); "**********"
PRINT "APPROXIMATE ARRIVAL TIME FOR
CARS "; AAT4
'RED LIGHT
CIRCLE (500, 100), 50, 4
PAINT (500, 100), 4
SLEEP
PRINT "THE DELAY TIME IN THE QUEUE
"; DET4
'YELLOW LIGHT
CIRCLE (500, 210), 50, 14
PAINT (500, 210), 14
SLEEP
'GREEN LIGHT
CIRCLE (500, 320), 50, 2
PAINT (500, 320), 2
PRINT "THE DEPARTURE TIME ";
DT4
SLEEP
RETURN
If this post was useful, remember to share with your friends and like our page.
No comments:
Post a Comment
Add Comment