Latest

whatsapp (+234)07060722008
email sales@graciousnaija.com

Saturday, 28 February 2015

PROGRAM TO CONTROL TRAFFIC ON A FOUR WAY JUNCTION



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