{"id":18552984,"url":"https://github.com/lunarwhite/minesweeper","last_synced_at":"2025-05-15T11:31:28.484Z","repository":{"id":106259992,"uuid":"390189549","full_name":"lunarwhite/minesweeper","owner":"lunarwhite","description":"Old Windows GUI game.","archived":false,"fork":false,"pushed_at":"2023-12-14T17:49:04.000Z","size":8062,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T10:49:13.836Z","etag":null,"topics":["game","java","java-swing","minesweeper","windows-game"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lunarwhite.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-28T02:41:20.000Z","updated_at":"2023-12-05T10:24:24.000Z","dependencies_parsed_at":"2024-12-26T08:41:22.569Z","dependency_job_id":"3fa770a1-0c96-4728-99d5-f2fc92769b4a","html_url":"https://github.com/lunarwhite/minesweeper","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lunarwhite%2Fminesweeper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lunarwhite%2Fminesweeper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lunarwhite%2Fminesweeper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lunarwhite%2Fminesweeper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lunarwhite","download_url":"https://codeload.github.com/lunarwhite/minesweeper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254330714,"owners_count":22053033,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game","java","java-swing","minesweeper","windows-game"],"created_at":"2024-11-06T21:15:43.503Z","updated_at":"2025-05-15T11:31:28.425Z","avatar_url":"https://github.com/lunarwhite.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# minesweeper\n\nClassic Microsoft Windows game, bulid with Java Swing.\n\n```\n.\n│   README.md\n├───doc\n│       1-ProblemAnalysis.pdf\n│       2-Design.pdf\n│       3-ErrorHandling.pdf\n├───image\n├───res\n└───src\n    ├───bean\n    │       HeroBean.java\n    │       MineLabel.java\n    ├───dialog\n    │       AboutSweeping.java\n    │       HeroDialog.java\n    │       UserDefinedDialog.java\n    ├───listener\n    │       Listener.java\n    │       UserDefinedListener.java\n    ├───main\n    │       MainFrame.java\n    ├───panel\n    │       BombjMenuBar.java\n    │       BombjPanel.java\n    │       FacejPanel.java\n    ├───timer\n    │       TimerListener.java\n    └───tools\n            LayBomb.java\n            StaticTool.java\n```\n\n## 1 Overview\n- test and run:\n  - download latest [release](https://github.com/lunarwhite/minesweeper/releases/tag/beta) and unzip\n  - double-click `minesweeper.jar` in folder with `\\image`\n- jdk: `openjdk8-redhat`\n\n## 2 Documents\n- 1-ProblemAnalysis.pdf\n  - Analyzing the Problem\n  - Requirements Specification\n  - Prototype\n- 2-Design.pdf\n  - Data Structures\n  - Algorithms\n  - Modular organization\n- 3-ErrorHandling.pdf\n\n## 3 Tool-list\n- Conditionals (if-else)\n- Complex conditionals (nested if-else)\n- Loops\n- Nested loops\n- User-defined methods\n- User-defined methods with parameters\n- User-defined methods with return values\n- Use of additional libraries. Example: Random, GUI.\n- Arrays\n- 2D Arrays\n- User-defined objects\n- User-defined objects where more than one instance of the object is created\n- Input validation: handle most common mistakes in input - and react usefully.\n- User-defined objects where more than one instance of the object is created\n- Use of flags other than to simply determine if a loop should repeat or not.\n- Use of try-catch to handle at least two checked exceptions.\n\n## 4 Reference\n- https://math.hws.edu/javanotes/\n- https://ocw.mit.edu/courses/civil-and-environmental-engineering/1-124j-foundations-of-software-engineering-fall-2000/lecture-notes/\n- https://github.com/ChrisMayfield/ThinkJavaCode2\n- https://github.com/lxf44944/minesweeper_java\n\n## 5 Sceenshots\n\n![expert-mode](res/Screenshot_3.png)\n\n![game-over](res/Screenshot_4.png)\n\n![easy-mode](res/Screenshot_5.png)\n![win](res/Screenshot_1.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flunarwhite%2Fminesweeper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flunarwhite%2Fminesweeper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flunarwhite%2Fminesweeper/lists"}