Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

crackgen.cbl

Name: Anonymous 2012-11-16 21:32

       IDENTIFICATION DIVISION.
       PROGRAM-ID. CRACK-SHIP-GENERATOR.
       AUTHOR. YOU-KNOW-WHO.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT CHARACTER-FILE ASSIGN TO 'CHARACTERS.DAT'
               ORGANIZATION IS LINE SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       FD CHARACTER-FILE.
       01 IN-CHARACTER.
           05 IN-CHAR-GROUP     PIC 99.
           05 FILLER            PIC X   VALUE SPACE.
           05 IN-CHAR-NAME      PIC X(40).

       01 CF-SWITCH             PIC X   VALUE 'N'.
               88 CF-END-OF-FILE        VALUE 'Y'.

       WORKING-STORAGE SECTION.
       01 RANDOM-STORAGE.
           05 RANDOM-SEED       PIC 9(8).
           05 RANDOM-TEMP       PIC 9(9).

       01 CHARACTER-TABLE.
           05 CHAR-IDX          PIC 999 VALUE 1.
           05 NUM-CHARS         PIC 999 VALUE 0.
           05 CHAR-DATA
           OCCURS 0 TO 500 TIMES DEPENDING ON NUM-CHARS.
               10 CHARACTER-GROUP       PIC 99.
               10 FILLER                PIC X VALUE SPACE.
               10 CHARACTER-NAME        PIC X(30).

       01 SHIP-TABLE.
           05 SHIP-IDX          PIC 9   VALUE 1.
           05 SHIP-TYPE         PIC XXX VALUE SPACES.
                   88 FLUSHED           VALUE '<3 '.
                   88 PALE              VALUE '<> '.
                   88 ASHEN             VALUE 'c3<'.
                   88 CALIGINOUS        VALUE '<3<'.
           05 SHIP-ARITY        PIC 9   VALUE 2.
           05 SHIP-CHAR-IDX     PIC 999
           OCCURS 2 TO 3 TIMES DEPENDING ON SHIP-ARITY.

       01 SHIP-WORK.
           05 SHIP-NAME1        PIC X(30) VALUE SPACES.
           05 SHIP-TYPE1        PIC XXX VALUE SPACES.
           05 SHIP-NAME2        PIC X(30) VALUE SPACES.
           05 SHIP-TYPE2        PIC XXX VALUE SPACES.
           05 SHIP-NAME3        PIC X(30) VALUE SPACES.

       01 OUT-TEXT              PIC X(80) VALUE SPACES.
       01 LINE-POS              PIC 99  VALUE 1.
       01 NUM-SHIPS-PRINTED     PIC 99  VALUE 0.

       PROCEDURE DIVISION.
           ACCEPT RANDOM-SEED FROM TIME.
           COMPUTE RANDOM-TEMP = FUNCTION RANDOM (RANDOM-SEED).
           PERFORM LOAD-TABLE.
           PERFORM SELECT-SHIP THROUGH DISPLAY-SHIP
           VARYING NUM-SHIPS-PRINTED FROM 1 BY 1
           UNTIL NUM-SHIPS-PRINTED > 10.
           STOP RUN.

       LOAD-TABLE.
           OPEN INPUT CHARACTER-FILE.
           PERFORM UNTIL CF-END-OF-FILE
               READ CHARACTER-FILE
                   AT END SET CF-END-OF-FILE TO TRUE
                   NOT AT END PERFORM LOAD-CHARACTER
               END-READ
           END-PERFORM
           CLOSE CHARACTER-FILE.

       LOAD-CHARACTER.
           ADD 1 TO NUM-CHARS.
           MOVE IN-CHARACTER TO CHAR-DATA (NUM-CHARS).

       SELECT-CHARACTER.
      * The value returned by ``FUNCTION RANDOM'' is actually a
      * fraction between 0 and 1. Multiply it by a large number
      * to get a useful value.
           COMPUTE RANDOM-TEMP = FUNCTION RANDOM * 1025.
           COMPUTE SHIP-CHAR-IDX (SHIP-IDX) =
           FUNCTION MOD (RANDOM-TEMP, NUM-CHARS) + 1.

       SELECT-SHIP.
           SET SHIP-ARITY TO 2
           COMPUTE RANDOM-TEMP = FUNCTION RANDOM * 4 + 1.
           IF RANDOM-TEMP = 1 SET FLUSHED TO TRUE.
           IF RANDOM-TEMP = 2 SET PALE TO TRUE.
           IF RANDOM-TEMP = 4 SET CALIGINOUS TO TRUE.
           IF RANDOM-TEMP = 3 THEN
               SET ASHEN TO TRUE
               SET SHIP-ARITY TO 3
           END-IF.
           PERFORM SELECT-CHARACTER
           VARYING SHIP-IDX FROM 1 BY 1
           UNTIL SHIP-IDX > SHIP-ARITY.

       DISPLAY-SHIP.
           SET LINE-POS TO 1.
           MOVE SPACES TO SHIP-WORK.
           MOVE SPACES TO OUT-TEXT.
           MOVE CHARACTER-NAME (SHIP-CHAR-IDX (1)) TO SHIP-NAME1.
           MOVE SHIP-TYPE TO SHIP-TYPE1.
           MOVE CHARACTER-NAME (SHIP-CHAR-IDX (2)) TO SHIP-NAME2.
           IF ASHEN THEN
               MOVE SHIP-TYPE TO SHIP-TYPE2
               MOVE CHARACTER-NAME (SHIP-CHAR-IDX (3)) TO SHIP-NAME3
           END-IF.
           STRING SHIP-NAME1 DELIMITED BY '  '
           SPACE DELIMITED BY SIZE
           SHIP-TYPE1 DELIMITED BY SPACE
           SPACE DELIMITED BY SIZE
           SHIP-NAME2 DELIMITED BY '  '
           SPACE DELIMITED BY SIZE
           SHIP-TYPE2 DELIMITED BY SPACE
           SPACE DELIMITED BY SIZE
           SHIP-NAME3 DELIMITED BY '  '
           INTO OUT-TEXT
           WITH POINTER LINE-POS.
           DISPLAY OUT-TEXT.

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-11-17 5:59

Cracking groups should start using COBOL for their keygens/patches/whatever.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List