{"id":136,"date":"2025-01-08T17:11:27","date_gmt":"2025-01-08T05:11:27","guid":{"rendered":"https:\/\/andrewdevelops.com\/?p=136"},"modified":"2025-01-09T10:50:52","modified_gmt":"2025-01-08T22:50:52","slug":"eyeball-maze","status":"publish","type":"post","link":"https:\/\/andrewdevelops.com\/index.php\/2025\/01\/08\/eyeball-maze\/","title":{"rendered":"Eyeball Maze"},"content":{"rendered":"\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/andosgee\/Eyeball-Maze-Game\">Source Code<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">About<\/h2>\n\n\n\n<p>This is an Java based Android application that utilises the MVC (Model View Controller) development process.<\/p>\n\n\n\n<p>The model was made first and had to pass a series of unit tests to ensure functionality of the application met the given requirements by the stakeholder. The functionality of the model was focused around:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creation of the level.<\/li>\n\n\n\n<li>Sizing of the level.<\/li>\n\n\n\n<li>Data entry.<\/li>\n\n\n\n<li>Movements of the player.<\/li>\n\n\n\n<li>Creation and deletion of goals.<\/li>\n\n\n\n<li>Movement rules.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Test-Runs.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"270\" data-id=\"165\" src=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Test-Runs.png\" alt=\"\" class=\"wp-image-165\" srcset=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Test-Runs.png 474w, https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Test-Runs-300x171.png 300w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Tests.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"232\" height=\"189\" data-id=\"164\" src=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Tests.png\" alt=\"\" class=\"wp-image-164\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Model-Snip.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"705\" height=\"455\" data-id=\"166\" src=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Model-Snip.png\" alt=\"\" class=\"wp-image-166\" srcset=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Model-Snip.png 705w, https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Model-Snip-300x194.png 300w\" sizes=\"auto, (max-width: 705px) 100vw, 705px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p>Once the model was made and passed all of its tests, the model had to have a GUI for end user to interact with. This was where creating the view and controller came into it. The view is what the user sees and interacts with. This is the maze itself, alerts, dropdowns, sounds, and gameboard updates.<\/p>\n\n\n\n<p>The controller was used to handle the interactions of the view and pass them back to the model and update the view accordingly. The controller also will display messages back to the user for errors.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-01-001708.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"344\" height=\"729\" data-id=\"28\" src=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-01-001708.png\" alt=\"\" class=\"wp-image-28\" srcset=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-01-001708.png 344w, https:\/\/andrewdevelops.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-01-001708-142x300.png 142w\" sizes=\"auto, (max-width: 344px) 100vw, 344px\" \/><\/a><figcaption class=\"wp-element-caption\">Maze Layout<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-01-001641.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"336\" height=\"727\" data-id=\"27\" src=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-01-001641.png\" alt=\"\" class=\"wp-image-27\" srcset=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-01-001641.png 336w, https:\/\/andrewdevelops.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-01-001641-139x300.png 139w\" sizes=\"auto, (max-width: 336px) 100vw, 336px\" \/><\/a><figcaption class=\"wp-element-caption\">Home Screen<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-01-001740.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"343\" height=\"730\" data-id=\"29\" src=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-01-001740.png\" alt=\"\" class=\"wp-image-29\" srcset=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-01-001740.png 343w, https:\/\/andrewdevelops.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-01-001740-141x300.png 141w\" sizes=\"auto, (max-width: 343px) 100vw, 343px\" \/><\/a><figcaption class=\"wp-element-caption\">Completion Message<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Message-Diag.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"220\" height=\"317\" data-id=\"167\" src=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Message-Diag.png\" alt=\"\" class=\"wp-image-167\" srcset=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Message-Diag.png 220w, https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Message-Diag-208x300.png 208w\" sizes=\"auto, (max-width: 220px) 100vw, 220px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Message-Backwards.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"207\" height=\"235\" data-id=\"168\" src=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Message-Backwards.png\" alt=\"\" class=\"wp-image-168\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Message-Wrong-Piece.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"203\" height=\"223\" data-id=\"169\" src=\"https:\/\/andrewdevelops.com\/wp-content\/uploads\/2025\/01\/Message-Wrong-Piece.png\" alt=\"\" class=\"wp-image-169\"\/><\/a><\/figure>\n<\/figure>\n","protected":false},"excerpt":{"rendered":"<p>This is an Java based Android application that utilises the MVC (Model View Controller) development process.<\/p>\n","protected":false},"author":1,"featured_media":173,"comment_status":"closed","ping_status":"open","sticky":false,"template":"single-with-sidebar","format":"standard","meta":{"footnotes":""},"categories":[7,9,8],"tags":[13,12,11,14],"class_list":["post-136","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","category-app-development","category-java","tag-android","tag-game","tag-java","tag-mvc"],"_links":{"self":[{"href":"https:\/\/andrewdevelops.com\/index.php\/wp-json\/wp\/v2\/posts\/136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/andrewdevelops.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/andrewdevelops.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/andrewdevelops.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/andrewdevelops.com\/index.php\/wp-json\/wp\/v2\/comments?post=136"}],"version-history":[{"count":10,"href":"https:\/\/andrewdevelops.com\/index.php\/wp-json\/wp\/v2\/posts\/136\/revisions"}],"predecessor-version":[{"id":211,"href":"https:\/\/andrewdevelops.com\/index.php\/wp-json\/wp\/v2\/posts\/136\/revisions\/211"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/andrewdevelops.com\/index.php\/wp-json\/wp\/v2\/media\/173"}],"wp:attachment":[{"href":"https:\/\/andrewdevelops.com\/index.php\/wp-json\/wp\/v2\/media?parent=136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/andrewdevelops.com\/index.php\/wp-json\/wp\/v2\/categories?post=136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/andrewdevelops.com\/index.php\/wp-json\/wp\/v2\/tags?post=136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}