From 73a2f887e81ade345c6f86eb43d99497094b0705 Mon Sep 17 00:00:00 2001 From: priyamapara21 Date: Sat, 16 Jan 2021 17:56:56 -0500 Subject: [PATCH 1/8] Create number-guessing-game.rkt --- number-guessing-game.rkt | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 number-guessing-game.rkt diff --git a/number-guessing-game.rkt b/number-guessing-game.rkt new file mode 100644 index 0000000..a2d7965 --- /dev/null +++ b/number-guessing-game.rkt @@ -0,0 +1,37 @@ + #lang racket + +;; Coded by: Priya Mapara +;; used https://medium.com/@gjorgigjorgiev/guess-my-number-game-in-racket-3b47fe15a652 as a reference. + +(displayln "Number Guessing Game ") +(newline) +(displayln "A simple program that will allow a user to enter a number.") +(displayln "The user wil try to guess the number that is predetermined.") +(displayln "If the number entered by the user is higher than the correct number,") +(displayln "the phrase 'Too high. Try Again.' will be printed. If the number is lower ") +(displayln "'Too Low. Try Again. will be printed.") +(displayln "the number.") +(newline) + +;; holds the content of the messages that will be displayed. +(struct m (start-game guess-high guess-low win lose)) +(define messages(m "Enter a number from 1-100: " "\nThe number you guessed is too high. Try Again. ""\nThe number you guessed is too low. Try Again. " + "\n You gussed correctly!\n" "\nYou reached the maximum limit of guesses\n")) + +;; max number of tries +(define (max-tries . args) 5) +;; the number to be guessed +(define (number . args) 68) +;; scanning user input +(define (user-guess . args)(read)) +;; displaying the messages and check cases +(define (display-msg msg)(display msg))(define (make-game number guesses)(define (curr-game curr-guesses) + (let ((curr-guess (user-guess))) + (cond + [(> number curr-guess )(display-msg (m-guess-low messages))(curr-game (+ 1 curr-guesses))] + [(< number curr-guess)(display-msg (m-guess-high messages))(curr-game (+ 1 curr-guesses))] + [(equal? curr-guess number)(display-msg (m-win messages))] + [(= curr-guesses guesses) (display-msg (m-lose messages))]))) + curr-game) +;; starts the game + (module* main #f (m-start-game messages)((make-game (number)(max-tries)) 1)) \ No newline at end of file From 5fcdc423a093d0bcb7be4a09515a892a8306bdbf Mon Sep 17 00:00:00 2001 From: priyamapara21 Date: Sat, 16 Jan 2021 18:00:26 -0500 Subject: [PATCH 2/8] Create is-leap-year.rkt --- is-leap-year.rkt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 is-leap-year.rkt diff --git a/is-leap-year.rkt b/is-leap-year.rkt new file mode 100644 index 0000000..9e26d60 --- /dev/null +++ b/is-leap-year.rkt @@ -0,0 +1,19 @@ +#lang racket + +;; Coded by: Myckell Ronquillo, Maya Narayanasamy, and Priya Mapara + +(displayln "Is leap year? ") +(newline) +(displayln "A simple program that checks if the year entered is a leap year.") +(displayln "To use this function, simply type in 'is-leap-year' and add the year") +(displayln "you would like to check to see whether it is a leap year or not.") +(newline) + +(define (is-leap-year year) + (if (equal? 0 (modulo year 400)) "This is a leap year" "This is not a leap year") + (if (equal? 0 (modulo year 100)) "This is not a leap year" "This is not a leap year") + (if (equal? 0 (modulo year 4)) "This is a leap year" "This is not a leap year")) + + + + From d1679f9640806fc5923acacdaeef76375642c286 Mon Sep 17 00:00:00 2001 From: priyamapara21 Date: Wed, 20 Jan 2021 14:41:49 -0500 Subject: [PATCH 3/8] Create intro-racket.rkt --- intro-racket.rkt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 intro-racket.rkt diff --git a/intro-racket.rkt b/intro-racket.rkt new file mode 100644 index 0000000..0d6f4bf --- /dev/null +++ b/intro-racket.rkt @@ -0,0 +1,29 @@ +#lang slideshow +;; the racket tutorial // playing around with racket +(define c (circle 10)) +(define r (rectangle 10 20)) + +(define (four p) + (define two-p (hc-append p p)) + (vc-append two-p two-p)) + +(define (checker p1 p2) + (let ([p12 (hc-append p1 p2)] + [p21 (hc-append p2 p1)]) + (vc-append p12 p21))) +(define (square n) + ; A semi-colon starts a line comment. + ; The expression below is the function body. + (filled-rectangle n n)) + +(define (checkerboard p) + (let* ([rp (colorize p "red")] + [bp (colorize p "black")] + [c (checker rp bp)] + [c4 (four c)]) + (four c4))) + +(define x 10) ;; x = 10 + + + From 9c54ee9e24d8360fd9152aa5cfb4237ecc23f08d Mon Sep 17 00:00:00 2001 From: Maya <44932191+n12maya@users.noreply.github.com> Date: Wed, 20 Jan 2021 15:07:05 -0500 Subject: [PATCH 4/8] Create number guessing game with random generator.rkt --- ...er guessing game with random generator.rkt | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 number guessing game with random generator.rkt diff --git a/number guessing game with random generator.rkt b/number guessing game with random generator.rkt new file mode 100644 index 0000000..f73f49f --- /dev/null +++ b/number guessing game with random generator.rkt @@ -0,0 +1,39 @@ +#lang racket + +;; coded by: Maya Narayanasamy & Priya Mapara +;; used https://medium.com/@gjorgigjorgiev/guess-my-number-game-in-racket-3b47fe15a652 as a reference. +;; includes a random number generator + +(displayln "Number Guessing Game ") +(newline) +(displayln "A simple program that will allow a user to enter a number.") +(displayln "The user wil try to guess the number that is predetermined.") +(displayln "If the number entered by the user is higher than the correct number,") +(displayln "the phrase 'Too high. Try Again.' will be printed. If the number is lower ") +(displayln "'Too Low. Try Again. will be printed.") +(displayln "the number.") +(newline) + +;; holds the content of the messages that will be displayed. +(struct m (start-game guess-high guess-low win lose)) +(define messages(m "Enter a number from 1-100: " "\nThe number you guessed is too high. Try Again. ""\nThe number you guessed is too low. Try Again. " + "\n You gussed correctly!\n" "\nYou reached the maximum limit of guesses\n")) + + +;; max number of tries +(define (max-tries . args) 5) +;; the number to be guessed +(define (number . args) (random 100)) +;; scanning user input +(define (user-guess . args)(read)) +;; displaying the messages and check cases +(define (display-msg msg)(display msg))(define (make-game number guesses)(define (curr-game curr-guesses) + (let ((curr-guess (user-guess))) + (cond + [(> number curr-guess )(display-msg (m-guess-low messages))(curr-game (+ 1 curr-guesses))] + [(< number curr-guess)(display-msg (m-guess-high messages))(curr-game (+ 1 curr-guesses))] + [(equal? curr-guess number)(display-msg (m-win messages))] + [(= curr-guesses guesses) (display-msg (m-lose messages))]))) + curr-game) +;; starts the game + (module* main #f (m-start-game messages)((make-game (number)(max-tries)) 1)) \ No newline at end of file From 977fd6d2195b8d33af097e68f627545a1d331b23 Mon Sep 17 00:00:00 2001 From: Myckell Ronquillo Date: Fri, 22 Jan 2021 02:14:34 -0500 Subject: [PATCH 5/8] Create guessing-gui.rkt Added guessing-gui.rkt by Myckell Ronquillo --- guessing-gui.rkt | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 guessing-gui.rkt diff --git a/guessing-gui.rkt b/guessing-gui.rkt new file mode 100644 index 0000000..b0fc1c3 --- /dev/null +++ b/guessing-gui.rkt @@ -0,0 +1,65 @@ +; This program is a simple guessing game with a gui +; Coded by Myckell Ronquillo + +#lang racket +(require 2htdp/universe 2htdp/image) + +; Guessing range +(struct range (min max)) + +; Help text +(define TOP-TEXT + (text "Up Arrow if # > current, Down Arrow if # < current" + 20 + "black")) +(define BOTTOM-TEXT + (text "Press SPACE if curr # is correct" + 20 + "black")) + +; Screen display settings +(define SCREEN-DISP + (place-image/align + TOP-TEXT 3 10 "left" "top" + (place-image/align + BOTTOM-TEXT 3 130 "left" "bottom" + (empty-scene 475 150)))) + +; Key-Events +(define (deal-with-guess n key) + (cond [(key=? key "up") (bigger n)] + [(key=? key "down") (smaller n)] + [(key=? key " ") (stop-with n)] + [else n])) + +; If number is less than current +(define (smaller n) + (range (range-min n) + (max (range-min n) (sub1 (guess n))))) + +; If number is greater than current +(define (bigger n) + (range (min (range-max n) (add1 (guess n))) + (range-max n))) + +; Does the binary search +(define (guess n) + (quotient (+ (range-min n) (range-max n)) 2)) + +; Rendering +(define (render n) + (overlay (text (number->string (guess n)) 32 "red") SCREEN-DISP)) + +(define (render-last-scene n) + (overlay (text (string-append "Your number is: " (number->string (guess n))) 32 "green") SCREEN-DISP)) + +; If number is found +(define (single? n) + (= (range-min n) (range-max n))) + +; Main +(define (start lower upper) + (big-bang (range lower upper) + (on-key deal-with-guess) + (to-draw render) + (stop-when single? render-last-scene))) \ No newline at end of file From 561e59306348770b3bcb07c62287b06bce96d498 Mon Sep 17 00:00:00 2001 From: priyamapara21 <70664394+priyamapara21@users.noreply.github.com> Date: Fri, 22 Jan 2021 10:06:41 -0500 Subject: [PATCH 6/8] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 64ee42d..0d798a8 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # CMSC 388Q -Course material for CMSC 388Q +Course material for CMSC 388Q\ +Coded by: Priya Mapara, Myckell Ronquillo, and Maya Narayanasamy +Guessing game code From 6cf6f72ac46500d2142fd67fb420a9390f159cf9 Mon Sep 17 00:00:00 2001 From: M <44932191+n12maya@users.noreply.github.com> Date: Fri, 22 Jan 2021 10:19:10 -0500 Subject: [PATCH 7/8] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0d798a8..35e08ef 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ # CMSC 388Q Course material for CMSC 388Q\ Coded by: Priya Mapara, Myckell Ronquillo, and Maya Narayanasamy -Guessing game code + +Guessing game code: specified number, random number generator, with a gui +Find leap year code From 0d50fb0f98bf6789836906938cd836656d0172a9 Mon Sep 17 00:00:00 2001 From: M <44932191+n12maya@users.noreply.github.com> Date: Fri, 22 Jan 2021 10:33:53 -0500 Subject: [PATCH 8/8] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 35e08ef..572dddf 100644 --- a/README.md +++ b/README.md @@ -2,5 +2,6 @@ Course material for CMSC 388Q\ Coded by: Priya Mapara, Myckell Ronquillo, and Maya Narayanasamy -Guessing game code: specified number, random number generator, with a gui +Guessing game code: specified number, random number generator, with a GUI + Find leap year code