{"id":18407076,"url":"https://github.com/zayarhtet/oop-features-usage-java","last_synced_at":"2025-04-12T20:58:50.266Z","repository":{"id":250436757,"uuid":"828221468","full_name":"zayarhtet/oop-features-usage-java","owner":"zayarhtet","description":"The demonstration of the Object Oriented Features of Java","archived":false,"fork":false,"pushed_at":"2024-07-17T08:46:08.000Z","size":217,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T20:58:47.776Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zayarhtet.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-07-13T13:29:16.000Z","updated_at":"2024-08-28T17:27:30.000Z","dependencies_parsed_at":"2024-07-27T12:46:06.731Z","dependency_job_id":"c3ad79e9-8381-4dbe-836d-f65ef28195ab","html_url":"https://github.com/zayarhtet/oop-features-usage-java","commit_stats":null,"previous_names":["zayarhtet/dfs-domino","zayarhtet/oop-features-usage-java"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zayarhtet%2Foop-features-usage-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zayarhtet%2Foop-features-usage-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zayarhtet%2Foop-features-usage-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zayarhtet%2Foop-features-usage-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zayarhtet","download_url":"https://codeload.github.com/zayarhtet/oop-features-usage-java/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631703,"owners_count":21136561,"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":[],"created_at":"2024-11-06T03:12:27.474Z","updated_at":"2025-04-12T20:58:50.247Z","avatar_url":"https://github.com/zayarhtet.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BlueRock TMS lights out challenge\n\nGiven a board, a list of pieces and the maximum depth for the pieces to be overlapped. \n\n- The goal is to place the pieces on the board so that all the cells on the board has become 0.\n\n- The board has an initial state, and the piece also has some values in each cell.\n\n- If the piece has been placed on the board, the cell at the same position are summed up and if the result in each cell is greater than the max depth, it resets to 0. (modulo).\n\n- The objective is to find the top-left coordinate for the pieces to be placed on the board.\n\n- Each piece can be used only once and both board and pieces are not rotatable. All the pieces must be placed on the board.\n\n## Test File\n\nThe test file must be `.txt` file and should look like this:\n\n```txt\n2\n100,101,011\n..X,XXX,X.. X,X,X .X,XX XX.,.X.,.XX XX,X. XX .XX,XX.\n```\n\n- Line 1: “depth” of the puzzle. This will always be 2, 3 or 4.\n- Line 2: the initial board state. Each\trow\tis separated by\ta comma. Each digit represents the initial value for the cell.\n- Line 3: individual pieces. Each piece is separated by a space. Each row within a piece is separated by a comma. `.` means no increment and `X` means increment by 1.\n\n## Commandline Arguments\n\nThe program accepts a command line argument for the test file(s).\n\nIf there is no argument, the program will execute all the built-in test files located in `src/resource/levels/`.\n\n- The argument can be a folder or a file name.\n\n- If it is a folder name, all the test file inside it will be executed.\n\n- If it is a file name, only that file will be executed.\n\n## Compilation\n\nTo compile the program, navigate to the `src` directory containing the `Main.java` and run:\n\n```sh\njavac Main.java\n```\n\nExecute the Main class file inside that `src` directory:\n\n```shell\njava Main\n```\n\nPassing the specific test file name as an argument:\n```shell\njava Main \u003ctest-filename.txt\u003e\n```\n\nAll the test files inside that folder will be executed:\n```shell\njava Main \u003ctest-foldername.txt\u003e\n```\n\n## Test File Timeout\n\nEach test file has a timeout of 20 seconds. The program will be interrupted if the test file is taking beyond 20 seconds.\n\n## Caution\n\nThe built-in test files inside `resource/levels` are loaded with the classpath meanwhile the argumented test file/folder name  are loaded with the file system.\n\nIf the program is compiled and class files are produced in different place, please relocate the built-in test files according to the `resource/levels` path. \n\nOtherwise, built-in test file will not be working. (this does not affect the argumented test file path which are loaded with the file system.)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzayarhtet%2Foop-features-usage-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzayarhtet%2Foop-features-usage-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzayarhtet%2Foop-features-usage-java/lists"}