;;---------------------------------------------------------------------- ;; Person structure ;;---------------------------------------------------------------------- (define-struct person ( first ; a string: first name last ; a string: last name sex ; a symbol: 'male, 'female eyes ; a symbol: 'blue, 'brown', 'green hair ; a symbol: 'blonde, 'brown, 'black, 'red mother; a person: empty if not known father; a person: empty if not known born ; a number: year of birth ) ) ;;------------- ;; Generation 1 ;;------------- (define P-00000 (make-person "Alexandra" "Harper" 'female 'blue 'red empty empty 1897)) (define P-10000 (make-person "Joshua" "Sherman" 'male 'green 'blonde empty empty 1881)) (define P-20000 (make-person "Alexandra" "Hazel" 'female 'brown 'red empty empty 1906)) (define P-30000 (make-person "Christopher" "Abdul" 'male 'brown 'brown empty empty 1904)) (define P-40000 (make-person "Rebecca" "Bryant" 'female 'green 'blonde empty empty 1896)) (define P-50000 (make-person "Joseph" "Kelley" 'male 'blue 'black empty empty 1888)) (define P-60000 (make-person "Lauren" "Hartway" 'female 'brown 'red empty empty 1899)) (define P-70000 (make-person "McCabe" "Weaver" 'male 'brown 'brown empty empty 1883)) (define P-80000 (make-person "Justine" "Rivenburg" 'female 'brown 'red empty empty 1914)) (define P-90000 (make-person "Patrick" "Pereira" 'male 'green 'brown empty empty 1898)) (define P-a0000 (make-person "Justine" "Hazel" 'female 'blue 'red empty empty 1900)) (define P-b0000 (make-person "Joseph" "Beaumont" 'male 'brown 'blonde empty empty 1893)) (define P-c0000 (make-person "Christine" "Wiseman" 'female 'brown 'brown empty empty 1876)) (define P-d0000 (make-person "Joshua" "Read" 'male 'brown 'black empty empty 1873)) (define P-e0000 (make-person "Lauren" "Cruz" 'female 'green 'black empty empty 1880)) (define P-f0000 (make-person "Michael" "Combs" 'male 'brown 'red empty empty 1882)) ;;------------- ;; Generation 2 ;;------------- (define P-01000 (make-person "Lauren" "Sherman" 'female 'green 'black P-00000 P-10000 1914)) (define P-02000 (make-person "Benjamin" "Sherman" 'male 'blue 'red P-00000 P-10000 1924)) (define P-03000 (make-person "Christine" "Sherman" 'female 'brown 'red P-00000 P-10000 1928)) (define P-21000 (make-person "Alexander" "Abdul" 'male 'blue 'brown P-20000 P-30000 1927)) (define P-22000 (make-person "James" "Abdul" 'male 'blue 'brown P-20000 P-30000 1943)) (define P-23000 (make-person "Lu" "Abdul" 'female 'blue 'red P-20000 P-30000 1944)) (define P-41000 (make-person "Erica" "Kelley" 'female 'blue 'blonde P-40000 P-50000 1921)) (define P-42000 (make-person "Justine" "Kelley" 'female 'green 'blonde P-40000 P-50000 1920)) (define P-43000 (make-person "Rebecca" "Kelley" 'female 'blue 'red P-40000 P-50000 1922)) (define P-61000 (make-person "Trevor" "Weaver" 'male 'brown 'brown P-60000 P-70000 1918)) (define P-81000 (make-person "Rebecca" "Pereira" 'female 'brown 'brown P-80000 P-90000 1931)) (define P-82000 (make-person "David" "Pereira" 'male 'green 'blonde P-80000 P-90000 1949)) (define P-83000 (make-person "Mitchell" "Pereira" 'male 'brown 'black P-80000 P-90000 1937)) (define P-a1000 (make-person "Benjamin" "Beaumont" 'male 'green 'red P-a0000 P-b0000 1929)) (define P-c1000 (make-person "Lu" "Read" 'female 'blue 'black P-c0000 P-d0000 1901)) (define P-c2000 (make-person "Toufic" "Read" 'male 'blue 'red P-c0000 P-d0000 1899)) (define P-e1000 (make-person "Patrick" "Combs" 'male 'blue 'blonde P-e0000 P-f0000 1910)) ;;------------- ;; Generation 3 ;;------------- (define P-01100 (make-person "Justine" "Abdul" 'female 'blue 'black P-01000 P-21000 1949)) (define P-01200 (make-person "Andrea" "Abdul" 'female 'brown 'blonde P-01000 P-21000 1948)) (define P-01300 (make-person "Rebecca" "Abdul" 'female 'brown 'black P-01000 P-21000 1943)) (define P-41100 (make-person "Benjamin" "Weaver" 'male 'blue 'blonde P-41000 P-61000 1940)) (define P-81100 (make-person "Lauren" "Beaumont" 'female 'green 'black P-81000 P-a1000 1950)) (define P-81200 (make-person "Andrea" "Beaumont" 'female 'brown 'black P-81000 P-a1000 1963)) (define P-c1100 (make-person "Mesbaul" "Combs" 'male 'green 'red P-c1000 P-e1000 1937)) (define P-c1200 (make-person "Scott" "Combs" 'male 'brown 'blonde P-c1000 P-e1000 1936)) (define P-c1300 (make-person "Bradley" "Combs" 'male 'green 'blonde P-c1000 P-e1000 1939)) ;;------------- ;; Generation 4 ;;------------- (define P-01110 (make-person "Erica" "Weaver" 'female 'blue 'brown P-01100 P-41100 1967)) (define P-01120 (make-person "Kevin" "Weaver" 'male 'blue 'red P-01100 P-41100 1987)) (define P-01130 (make-person "Sean" "Weaver" 'male 'blue 'blonde P-01100 P-41100 1971)) (define P-81110 (make-person "Scottie" "Combs" 'male 'brown 'blonde P-81100 P-c1100 1971)) (define P-81120 (make-person "Jeremiah" "Combs" 'male 'blue 'black P-81100 P-c1100 1983)) ;;------------- ;; Generation 5 ;;------------- (define P-01111 (make-person "Michelle" "Combs" 'female 'brown 'black P-01110 P-81110 1986)) (define P-01112 (make-person "Matthew" "Combs" 'male 'brown 'blonde P-01110 P-81110 1989)) (define P-01113 (make-person "Jeremy" "Combs" 'male 'blue 'black P-01110 P-81110 1989)) (define P-77775 (make-person "Bubba" "Combs" 'male 'brown 'brown P-01100 P-81110 1988)) ; Combs dad, Weaver mom (define P-77777 (make-person "Bobby" "Weaver" 'male 'brown 'brown P-01110 empty 1988)) ; unknown father (define P-77778 (make-person "Brenda" "Weaver" 'female 'blue 'blonde empty P-01120 1988)) ; unknown mother ;;------------- ;; Everyone !! ;;------------- (define P-all (list P-01113 P-01112 P-01111 P-81120 P-81110 P-01130 P-01120 P-01110 P-c1300 P-c1200 P-c1100 P-81200 P-81100 P-41100 P-01300 P-01200 P-01100 P-e1000 P-c2000 P-c1000 P-a1000 P-83000 P-82000 P-81000 P-61000 P-43000 P-42000 P-41000 P-23000 P-22000 P-21000 P-03000 P-02000 P-01000 P-f0000 P-e0000 P-d0000 P-c0000 P-b0000 P-a0000 P-90000 P-80000 P-70000 P-60000 P-50000 P-40000 P-30000 P-20000 P-10000 P-00000 P-77777 P-77778 P-77775))