{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":808408821,"defaultBranch":"main","name":"CUNY_QC_CSCI212-Java-OOP-Projects-For-Dr.-Lord","ownerLogin":"mshahriarnihal","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-05-31T02:34:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/171227160?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717122897.0","currentOid":""},"activityList":{"items":[{"before":"b1942f3a97e6c7b2207bd0485553e051010738c0","after":"53ef48261a2b6557b7d395ecdcbad1314e24f177","ref":"refs/heads/main","pushedAt":"2024-06-15T04:56:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"14b9a1639b64c2fba61e17293d16041061c61fd3","after":"b1942f3a97e6c7b2207bd0485553e051010738c0","ref":"refs/heads/main","pushedAt":"2024-06-01T07:14:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Add files via upload\n\n* Download and run \"WordGame P3.exe\" file to directly run and play the game.\r\n\r\n\r\nThe motive of this project is to let the users play a WORD GAME. This is loosely based on a word puzzle called the Spelling Beehive found in the Sunday New York Times magazine. In that game, a player is given a set of seven letters and has to find as many words as possible using some portion, but at least five, of those seven letters. Letters may be used more than once. Each correct word earns one point.\r\nThe game I am making for this project is similar to that. But this time, the user won't be bounded to any limit of maximum quantity of letters, meaning, you can guess word with the subject/hint letters which may contain as much letter as you want. But it must contain a minimum of five letters anyway. You must follow the following rules to ace the game:\r\n\r\n1. To start playing the game, click File > Open, then select the text file which you want to use as a solution file. The first line of the text file will shown as hint/subject letters in game, the rest of the each lines will be considered as each solution words. If the file contains any invalid word, like contains a word which has capital letter on it, the program will catch an exception, the illegal word will be printed, and that illegal word will NOT be a part of solution list for the game, rest of the words will be counted and player will be able to guess them and earn point(s). \r\n\r\n2. You can not use a letter in your guessing word that is not one of the given hint/subject letters. \r\n\r\n3. Your guess must be at least 5 letters long. \r\n\r\n4. You will get point(s) for guessing only if your guessed word is valid and present in the solutions list.\r\n\r\n5. The first letter of the subject letters must be contained in all the correct guessed words. For example: If you see the game is showing hint letters as: CHOREDUKAT, and you guess \"Trade,\" although your guessed word is valid, contains only the subject letters, and contains at least 5 letters, still you won't get any point as the first subject letter in this example is \"C\" which is not present in your valid word.\r\n\r\n6. If your guessed word contains ALL of the subject letters, that is worth 3 points. For all other correctly guessed words, you will get +1 point.\r\n\r\n7. If you guess a word which you already guessed before and got point(s), you won't get any point for re-entering that word. That's not fair! \r\n\r\n8. A Word is illegal if it doesn’t contain all lower-case letters. So, if you enter a word with capital letter in any part of the word, you'll get an error message. Try re-enter that word in all lower-case to see if that's a correct guess.\r\n\r\n9. You will be notified when you win the game by guessing all the words on the solutions list. Then you will be asked if you would like to play again. By pressing yes, the game will be reset and restarted with the same words' solution file.\r\n\r\n\r\nThis is the Project #3 (4th project) of Dr. Lord's CSCI-212 Java OOP course (Spring'2024) at Queens College of the City University of New York. It is built on top of the Project #1 and Project #2. You can find that project 1 and 2 in this same directory of CSCI-212 projects folder in my GitHub. Project 1 and 2 are similar to this, you can play a word game with them too. But this Project3 has some update and it is a modified and better version of the previous Project2. The updates that I made on this Project3 from Project1 and Project2 are:\r\n\r\n1. In this version of game, you have an additional rule to maintain: \"The first letter of the subject letters must be contained in all the correct guessed words.\"\r\n\r\n2. In this version of game, you have nice opportunity to get +3 points if you can guess a word containing all the subject letters which was not available in the Project1 version of our WordGame.\r\n\r\n3. This Project3 is based on LinkedList data structure. In Project1, I used array index to store and use data. By using linked-list structure in this updated version, the program becomes more efficient as LinkedList has a time complexity of O(n).\r\n\r\n4. In project1, most of the part of the project had public access. In this updated version of Word Game, I used \"protected access\" for the instance variables to increase data safety through encapsulation.\r\n\r\n5.* In previous Project 1 and 2, the program had a fixed named text file to be used as a solution list file. But from now, you will have the option to choose any text file to use as solution list and play the game based on that list. You can select \"File\" and click \"Open\" to choose any text file from your device. \r\n\r\n6.* For Project3, I have made an executable (.exe) file for the Windows OS users. So, now it is more easy, one click is enough to run the game. You don't need to compile or use any IDE if you want to play the game only. I am providing the .exe file in this same folder of \"Project_3_WordGame P3.\" Find the executable file named as \"WordGame P3.exe.\"\r\n\r\n7.* In both Project 1 and 2 version, you could enter a guess word in any case, but from this version, you must have to enter a guess word with all lower-case letters. Even there is a exception catcher for the text file of solution list as well to eradicate words with capital letter(s) from the solution list.\r\n\r\n8.* When you guess all the valid words present in the solution list, we will be notified and congratulated. Then you can choose to quit or reset and restart the game with same solution list and let your friend(s)/play-mate(s) play to see how they do with it. \r\n\r\n[* indicates the updates which were not present in both Project1 and Project2] \r\n\r\nI am providing a sample solution list as text file named \"P1input.txt\" with this project's folder which you can use as a solution list text file to play the game. You can edit the text file or select any other text file as your solution list file, that is totally up to you! The game's maximum possible score will be changed based on the solution list text file you will provide. But the basic rules will remain the same unless you make any change in the java source file which I am providing with this project folder.\r\n\r\nAs this project contains a decent number of java source files (.java), I am zipping them all in one jar file. To make it easy for you, I am providing the unzipped source files too in this folder. Besides, I am uploading the class files also. But you can just download the .java source files and compile and run with any terminal or your compiler or IDE to run the game. If you want to use the jar file, then download the \"Project3.jar\" only, then use your IDE to import it and run it in correct manner, or download the \"Project3_executable_jar.jar\" to avoid the compiling part. \"Project3.jar\" is not an executable/runnable jar file, but \"Project3_executable_jar.jar\" is an executable/runnable jar file. And again, if you want to just play the game and you are a Windows OS user, the easiest way is to Download and run \"WordGame P3.exe\" file. You can find it in this same folder with a brown-orange icon.\r\n\r\nThanks! Happy Coding! \"-)\r\n- Mubasshir Al Shahriar (Nihal)","shortMessageHtmlLink":"Add files via upload"}},{"before":"ff88d0a001d5d53b986ed710da7ee3f8698e5514","after":"14b9a1639b64c2fba61e17293d16041061c61fd3","ref":"refs/heads/main","pushedAt":"2024-05-31T08:21:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Delete Project4_Frequency Counter of Words directory","shortMessageHtmlLink":"Delete Project4_Frequency Counter of Words directory"}},{"before":"5e83446e0d1571df95dcb949e74ec7c3f39cfe82","after":"ff88d0a001d5d53b986ed710da7ee3f8698e5514","ref":"refs/heads/main","pushedAt":"2024-05-31T08:20:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Add files via upload\n\nFor this project, I coded a Java based program that will read from a file and display to the console all the words in the file in alphabetical order along with the number of times each word appeared in the file. Downloading the Project4.java and TextFileInput.java should be fine enough to compile and run the program. You can also use the Project4.jar which has all necessary files for this project zipped. Project4.jar is an executable/runnable jar file, but as this program prints the desired output in the console, you will have to unzip it and run it through an IDE or terminal anyway.\r\n\r\nThis project is built using TreeMap data structure which implements Red-Black Tree. Hence, the structure of this program has a time complexity of O(log n), similar to TreeList or a balanced Binary Search Tree (BST).","shortMessageHtmlLink":"Add files via upload"}},{"before":"bb9df86190f1f649e7cc6a10156c4687828ef230","after":"5e83446e0d1571df95dcb949e74ec7c3f39cfe82","ref":"refs/heads/main","pushedAt":"2024-05-31T08:19:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Add files via upload\n\nFor this project, I coded a Java based program that will read from a file and display to the console all the words in the file in alphabetical order along with the number of times each word appeared in the file. Downloading the Project4.java and TextFileInput.java should be fine enough to compile and run the program. You can also use the Project4.jar which has all necessary files for this project zipped. Project4.jar is an executable/runnable jar file, but as this program prints the desired output in the console, you will have to unzip it and run it through an IDE or terminal anyway.\r\n\r\nThis project is built using TreeMap data structure which implements Red-Black Tree. Hence, the structure of this program has a time complexity of O(log n), similar to TreeList or a balanced Binary Search Tree (BST).","shortMessageHtmlLink":"Add files via upload"}},{"before":"70fac1f1832fa3f1ce7fa83c68a463dc0554811a","after":"bb9df86190f1f649e7cc6a10156c4687828ef230","ref":"refs/heads/main","pushedAt":"2024-05-31T07:45:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Add files via upload","shortMessageHtmlLink":"Add files via upload"}},{"before":"842f09feade8f09ad61b0e6cbfc95834a66ac247","after":"70fac1f1832fa3f1ce7fa83c68a463dc0554811a","ref":"refs/heads/main","pushedAt":"2024-05-31T05:08:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Add files via upload","shortMessageHtmlLink":"Add files via upload"}},{"before":"9ec3d0e6ff4699d7fc3b9cec1b2d3878332490c6","after":"842f09feade8f09ad61b0e6cbfc95834a66ac247","ref":"refs/heads/main","pushedAt":"2024-05-31T05:07:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Delete Project_1 directory","shortMessageHtmlLink":"Delete Project_1 directory"}},{"before":"f743cf1833780e234b286732620b588439aeb680","after":"9ec3d0e6ff4699d7fc3b9cec1b2d3878332490c6","ref":"refs/heads/main","pushedAt":"2024-05-31T05:04:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Add files via upload","shortMessageHtmlLink":"Add files via upload"}},{"before":"61f84f600676eb395d2a9489528e3222eecb496e","after":"f743cf1833780e234b286732620b588439aeb680","ref":"refs/heads/main","pushedAt":"2024-05-31T03:09:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Rename Project0.pdf to Project0_instruction_and_algorithm.pdf","shortMessageHtmlLink":"Rename Project0.pdf to Project0_instruction_and_algorithm.pdf"}},{"before":"b96e24c46a9a885a913477b2bf55eeb846344794","after":"61f84f600676eb395d2a9489528e3222eecb496e","ref":"refs/heads/main","pushedAt":"2024-05-31T03:07:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Delete p0 directory","shortMessageHtmlLink":"Delete p0 directory"}},{"before":"8b871c186bf9425af9dac7d62a7273980132b2e9","after":"b96e24c46a9a885a913477b2bf55eeb846344794","ref":"refs/heads/main","pushedAt":"2024-05-31T03:07:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Add files via upload","shortMessageHtmlLink":"Add files via upload"}},{"before":"26fe3ea9408d2bf861b6e225b6ed2f9b0ffeffb0","after":"8b871c186bf9425af9dac7d62a7273980132b2e9","ref":"refs/heads/main","pushedAt":"2024-05-31T02:48:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Add files via upload","shortMessageHtmlLink":"Add files via upload"}},{"before":null,"after":"26fe3ea9408d2bf861b6e225b6ed2f9b0ffeffb0","ref":"refs/heads/main","pushedAt":"2024-05-31T02:34:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mshahriarnihal","name":"Mubasshir Al Shahriar","path":"/mshahriarnihal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/171227160?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEZgMQXQA","startCursor":null,"endCursor":null}},"title":"Activity · mshahriarnihal/CUNY_QC_CSCI212-Java-OOP-Projects-For-Dr.-Lord"}