Question: import java.awt.*; import java.awt.event.*; import java.util.ArrayList; import javax.swing.*; /** * * ========================================================================== * CODING INSTRUCTIONS! * ========================================================================== * * * * Task 0: * compile

import java.awt.*;

import java.awt.event.*;

import java.util.ArrayList;

import javax.swing.*;

/**

*

* ==========================================================================

* CODING INSTRUCTIONS!

* ==========================================================================

*

*

<code><pre></p> <p> *</p> <p> * Task 0:</p> <p> * compile and run SnakeGame as a Java Application.</p> <p> *</p> <p> * Task 1: (in class Snake)</p> <p> * create a class called Snake in a separate Java source file.</p> <p> * import java.awt.*;</p> <p> *</p> <p> * required fields (or instance variables):</p> <p> * int size, direction, bodyAdd;</p> <p> * Rectangle head;</p> <p> * ArrayList<rectangle>body;</p> <p> * ArrayList<integer>directionQ;</p> <p> * (note: look up Rectangle in the Java Documentation for more information)</p> <p> * write a default constructor for the Snake Object</p> <p> * size is 20 (the number of pixels for each Snake piece)</p> <p> * direction is 8 (8 is up, 2 down, 4 left, and 6 right.. look at numpad)</p> <p> * bodyAdd is 4 (4 body pieces will be initially added to the Snake</p> <p> * head is a Rectangle that is 20x20 and</p> <p> * is located in the approximate center of the window (i.e. coordinates (300,300))</p> <p> * remember to initialize body and directionQ to new ArrayLists</p> <p> * write method: public void draw(Graphics2D g)</p> <p> * that will render the head of Snake ..use g.draw(head)</p> <p> * and the body of Snake (use a for-loop)</p> <p> *</p> <p> * Task 1a: (in class SnakeGame)</p> <p> * uncomment the snake instance variable</p> <p> * in method initRound()</p> <p> * initialize variable snake</p> <p> * in method draw()</p> <p> * render snake by invoking its draw method</p> <p> * YOU SHOULD SEE snake APPEAR IN THE CENTER OF THE WINDOW!</p> <p> *</p> <p> *</p> <p> * Task 3: (in class Snake)</p> <p> * write method: public int getDirection() that returns the direction</p> <p> * write method: public Rectangle getHead() that returns the head</p> <p> * write method: public void grow() that adds 5 to variable bodyAdd</p> <p> * write method: public void setDirection(int d)</p> <p> * (note: d will be either 2,4,6, or 8)</p> <p> * add d to the end of directionQ</p> <p> * (note: it is ok to add an int value to an ArrayList<integer>)</p> <p> * write method: public void move()</p> <p> * if the directionQ is not empty,</p> <p> * remove the first element of directionQ and assign it to direction</p> <p> * add a copy of head to the body .. body.add(0,new Rectangle(head));</p> <p> * there are 4 exclusive cases for the value of direction:</p> <p> * .. direction is 4 (i.e. left)</p> <p> * subtract size from head.x (this will change its x position)</p> <p> * .. direction is 2 (i.e. down)</p> <p> * add size to head.y</p> <p> * .. etc.</p> <p> * </p> <p> * Task 3a: (in class SnakeGame)</p> <p> * uncomment the lines that invoke setDirection and move methods on snake</p> <p> * and complete method keyPressed()</p> <p> * YOU SHOULD BE ABLE TO SEE snake MOVE AND CONTROL IT WITH THE ARROW KEYS</p> <p> *</p> <p> * Task 3a (in class Snake)</p> <p> * continue in method: public void move()</p> <p> *</p> <p> * if bodyAdd is positive, simply decrement bodyAdd,</p> <p> * otherwise remove the last Rectangle in ArrayList body</p> <p> * YOU SHOULD BE ABLE TO SEE snake GROW!</p> <p> *</p> <p> * Task 4: (in class SnakeGame)</p> <p> * uncomment nibble field and initialize it</p> <p> * to a 20x20 Rectangle with random coordinates</p> <p> * (note: the coordinates should be multiples of 20 .. the snake size)</p> <p> * render nibble in method draw .. g.fill(nibble);</p> <p> * in method actionPerformed()</p> <p> * (use the intersects method of Rectangle nibble</p> <p> * to invoke the grow method of snake)</p> <p> * (i.e. if the snake head intersects the nibble)</p> <p> * also generate new random coordinates for nibble</p> <p> * YOU SHOULD BE ABLE TO PLAY THE SNAKE GAME AS AN INVINCIBLE snake!</p> <p> *</p> <p> * Task 5: (in class Snake)</p> <p> * write method: public boolean isDead()</p> <p> * returns true if head intersects any Rectangle in body or</p> <p> * head has passed any window boundaries</p> <p> * (example: head.x < 0 , head.y > 580, etc)</p> <p> * otherwise, returns false</p> <p> * </p> <p> * Task 5a: (in class SnakeGame)</p> <p> * in method actionPerformed()</p> <p> * write an if statement that stops the Timer clock if the snake isDead</p> <p> </p> </div> <div class="question-answer-divider"></div> <section class="answerHolder" itemscope itemtype="http://schema.org/Answer"> <div class="answerHolderHeader"> <h2>Step by Step Solution</h2> <div class="answerReviews"> <div class="starIcon"> </div> </div> </div> <div class="questionProperties"> <p>There are 3 Steps involved in it</p> <div class="cart-flex"> <div class="cart cart1"> 1 Expert Approved Answer </div> </div> </div> <div class="step org_answer"> <span class="view_solution_btn view-solution-btn-cursor"> <strong class="step-heading step-1">Step: 1 <span>Unlock <i class="fa-solid fa-lock"></i></span></strong> </span> <img src="https://www.solutioninn.com/includes/images/document_product_info/blur-text-image.webp" class="blured-ans-image" width="759" height="271" alt="blur-text-image" decoding="async" fetchpriority="high"> <div class="step1Popup"> <span class="heading">Question Has Been Solved by an Expert!</span> <p>Get step-by-step solutions from verified subject matter experts</p> <button class="view_solution_btn step1PopupButton">View Solution</button> </div> </div> <div class="step"> <span class="view_solution_btn view-solution-btn-cursor"> <strong class="accordion step-heading">Step: 2 <span>Unlock <i class="fa-solid fa-lock"></i></span></strong> </span> </div> <div class="step"> <span class="view_solution_btn view-solution-btn-cursor"> <strong class="accordion step-heading">Step: 3 <span>Unlock <i class="fa-solid fa-lock"></i></span></strong> </span> </div> </section> <section class="relatedQuestion"> <h3>Students Have Also Explored These Related Databases Questions!</h3> <div class="relatedQuestionSliderHolder"> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/please-finisht-task-0-and-1-all-instructions-are-written-12683413" > Please finisht task 0 and 1. All instructions are written below. Code is java. Thanks! import java.awt.*; import java.awt.event.*; import java.util.ArrayList; import javax.swing.*; /** * *... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/please-do-task-one-all-instructions-are-written-below-code-17381442" > Please do task one. All instructions are written below. Code is java. Thanks! import java.awt.*; import java.awt.event.*; import java.util.ArrayList; import javax.swing.*; /** * *... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/please-do-task-one-all-instructions-are-written-below-code-13651052" > Please do task one. All instructions are written below. Code is java. Thanks! If there is too much for one question, can you just do the max and let me know what bullet point you ended on? import... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/need-code-java-that-allows-the-user-to-choose-the-13731236" > Need code (java) that allows the user to choose the color of the snake (red, green, blue). The two classes that are part of the game are listed below. Please highlight any changes made. Thanks! Class... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/all-code-is-java-1-rename-simplepaint-to-simplepaintpanel-simplepaintpanel-10077968" > All code is java 1) Rename SimplePaint to SimplePaintPanel. SimplePaintPanel should extend JPanel, but no longer implement the Listener interfaces 2) Create a separate Listener class,... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/all-code-is-java-1-rename-simplepaint-to-simplepaintpanel-simplepaintpanel-7860947" > All code is java 1) Rename SimplePaint to SimplePaintPanel. SimplePaintPanel should extend JPanel, but no longer implement the Listener interfaces 2) Create a separate Listener class,... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/import-javaawt-import-javaawtevent-import-javautilarraylist-import-javaxswing-public-class-13027091" > import java.awt.*; import java.awt.event.*; import java.util.ArrayList; import javax.swing.*; public class SimplePaint extends JPanel implements MouseListener, MouseMotionListener { public static... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/import-javaawt-import-javaawtevent-import-javautilarraylist-import-javaxswing-public-class-12714305" > import java.awt.*; import java.awt.event.*; import java.util.ArrayList; import javax.swing.*; public class SimplePaint extends JPanel implements MouseListener, MouseMotionListener { public static... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/1-the-list-you-work-with-is-made-up-of-13564560" > 1. The list you work with is made up of items of the Node class. You must look at the framework's Node.java file to understand how to use Node objects. Part 1 starter code ------------------- Here is... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/1-the-list-you-work-with-is-made-up-of-13608032" > 1. The list you work with is made up of items of the Node class. You must look at the framework's Node.java file to understand how to use Node objects. Part 1 starter code ------------------- Here is... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/the-following-list-identifies-several-potential-cost-drivers-for-a" > The following list identifies several potential cost drivers for a manufacturing company that makes eight products. The company uses a JIT production system so it stores finished products for a very... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/alanis-computes-its-overhead-rates-using-practical-volume-which-is-538721" > Alanis computes its overhead rates using practical volume, which is 3,400 units. The actual results for the year are as follows: Units produced: 3,100 Actual yield: 4,650 kg - I Direct materials... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/question-1-0-1-pts-wou-have-a-strong-base-27902753" > Question 1 0 1 pts Wou have a strong base of devoted customers for your popular line of widgets. YoulC"d like to launch your latest top - of - the - line widget. You think your most loyal customers... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/questions/required-prepare-journal-entries-to-record-these-transactions-assume-a-15302135" > Required: Prepare journal entries to record these transactions. Assume a perpetual inventory system. Place answer here </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/managing-human-behavior-in-public/what-was-it-you-did-in-this-situation-that-caused-2125433" > What was it you did in this situation that caused others to follow you? </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/human-resource-information/4-considering-the-experience-gained-from-all-their-current-parks-2125430" > 4. Considering the experience gained from all their current parks as well as the external forces including increasing competition, market regulations, diversity of potential new markets, and... </a> </div> <div class="relatedQuestionCart "> <p class="heading">Q: </p> <a class="relatedQuestionText" href="/study-help/managing-human-behavior-in-public/3-you-can-gain-power-by-making-others-feel-important-2125438" > 3. You can gain power by making others feel important. </a> </div> </div> <nav class="navigationButtons"> <a class="previousQuestionButton" href="/study-help/questions/the-first-modern-transaction-processing-system-was-multiple-choice-the-13193286">Previous Question</a> <a class="nextQuestionButton" href="/study-help/questions/6-suppose-that-e-is-a-java-enumeration-declared-as-13193288">Next Question</a> </nav> </section> </main> <aside class="expertRight"> <section class="relatedBook" style="margin-bottom:40px; width: 100%;" > <div class="bookHolder" > <div class="relatedBookHeading" > <h2 class="heading">Recommended Textbook</h2> </div> <div class="bookMainInfo" > <div class="bookImage" style="width: 100px !important; min-width: 100px; flex-shrink: 0; margin-right: 20px;"> <a href="/textbooks/sql-database-programming-1st-edition-9781937842314"> <img src="https://dsd5zvtm8ll6.cloudfront.net/si.question.images/book_images/64ed965ac9c9e_47872.jpg" width="100" height="131" alt="SQL Database Programming" loading="lazy" style="width: 100px !important;"> </a> </div> <div class="bookInfo" style="text-align: left;"> <span class="bookTitle" style="text-align: left;"> <a href="/textbooks/sql-database-programming-1st-edition-9781937842314" style="text-align: left;"> SQL Database Programming </a> </span> <div class="bookMetaInfo" style="text-align: left;"> <p class="bookAuthor" style="text-align: left;"> <b>Authors:</b> <span>Chris Fehily</span> </p> <p class="bookEdition" style="text-align: left;"> 1st Edition </p> <p class="bookEdition" style="text-align: left;"> 1937842312, 978-1937842314 </p> </div></div></div> </div> </section> <div class="post-question-section"> <div class="description-question-section"> <span class="post-question-section-title">Ask a Question and Get Instant Help!</span> </div> <div class="text-area-post-question"> <form action="/study-help/post-question?ref=search" method="post" enctype="multipart/form-data"> <textarea rows="4" class="form-control form-posting-margin" name="textarea-question-content" id="textarea-question-content" placeholder="Type Your Question ...."></textarea> <button type="submit" class="btn btn-sm btn-submit-post-question text-center">Get Answer</button> </form> </div> </div> </aside> </div> </div> <div class="promo items-center justify-center hidden"> <div class="app_promo"> <span class="app_promo_dismiss"> <i class="fa-solid fa-x"></i> </span> <div class="app-button"> <div class="image-wrapper"> <img width="30" height="30" src="https://www.solutioninn.com/includes/images/rewamp/common/mobile-app-logo.png" decoding="async" fetchpriority="high" alt="SolutionInn App Logo"> <strong>Study Help</strong> </div> <button class="app_promo_action redirection" data-question-open-url='q_id=13193287&q_type=2'> Open in App </button> </div> </div> </div> </div> </div> <div class="blank-portion"></div> <footer> <div class="container footerHolder"> <div class="footerLinksFlex"> <div class="footerLinksCol col-md-3 col-lg-3 col-sm-6 col-6"> <p>Services</p> <ul> <li><a href="/site-map">Sitemap</a></li> <li><a href="/fun/">Fun</a></li> <li><a href="/study-help/definitions">Definitions</a></li> <li><a href="/tutors/become-a-tutor">Become Tutor</a></li> <li><a href="/books/used-textbooks">Used Textbooks</a></li> <li><a href="/study-help/categories">Study Help Categories</a></li> <li><a href="/study-help/latest-questions">Recent Questions</a></li> <li><a href="/study-help/questions-and-answers">Expert Questions</a></li> <li><a href="/clothing">Campus Wear</a></li> <li><a href="/sell-books">Sell Your Books</a></li> </ul> </div> <div class="footerLinksCol col-md-3 col-lg-3 col-sm-6 col-6"> <p>Company Info</p> <ul> <li><a href="/security">Security</a></li> <li><a href="/copyrights">Copyrights</a></li> <li><a href="/privacy">Privacy Policy</a></li> <li><a href="/conditions">Terms & Conditions</a></li> <li><a href="/solutioninn-fee">SolutionInn Fee</a></li> <li><a href="/scholarships">Scholarship</a></li> <li><a href="/online-quiz">Online Quiz</a></li> <li><a href="/study-feedback">Give Feedback, Get Rewards</a></li> </ul> </div> <div class="footerLinksCol col-md-3 col-lg-3 col-sm-6 col-6"> <p>Get In Touch</p> <ul> <li><a href="/about-us">About Us</a></li> <li><a href="/support">Contact Us</a></li> <li><a href="/career">Career</a></li> <li><a href="/jobs">Jobs</a></li> <li><a href="/support">FAQ</a></li> <li><a href="https://www.studentbeans.com/en-us/us/beansid-connect/hosted/solutioninn" target="_blank" rel="noopener nofollow">Student Discount</a></li> <li><a href="/campus-ambassador-program">Campus Ambassador</a></li> </ul> </div> <div class="footerLinksCol col-md-3 col-lg-3 col-sm-6 col-12"> <p>Secure Payment</p> <div class="footerAppDownloadRow"> <div class="downloadLinkHolder"> <img src="https://dsd5zvtm8ll6.cloudfront.net/includes/images/rewamp/common/footer/secure_payment_method.png" class="img-fluid mb-3" width="243" height="28" alt="payment-verified-icon" loading="lazy"> </div> </div> <p>Download Our App</p> <div class="footerAppDownloadRow"> <div class="downloadLinkHolder mobileAppDownload col-md-6 col-lg-6 col-sm-6 col-6 redirection" data-id="1"> <img style="cursor:pointer;" src="https://dsd5zvtm8ll6.cloudfront.net/includes/images/rewamp/home_page/google-play-svg.svg" alt="SolutionInn - Study Help App for Android" width="116" height="40" class="img-fluid mb-3 " loading="lazy"> </div> <div class="downloadLinkHolder mobileAppDownload col-md-6 col-lg-6 col-sm-6 col-6 redirection" data-id="2"> <img style="cursor:pointer;" src="https://dsd5zvtm8ll6.cloudfront.net/includes/images/rewamp/home_page/apple-store-download-icon.svg" alt="SolutionInn - Study Help App for iOS" width="116" height="40" class="img-fluid mb-3" loading="lazy"> </div> </div> </div> </div> </div> <div class="footer-bottom"> <p>&copy; 2026 SolutionInn. All Rights Reserved</p> </div></footer> <script> window.addEventListener("load",function(){jQuery(document).ready(function(t){ // Clarity tracking (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "sjv6tuxsok"); // Helper to read a cookie by name function getCookie(name) { return document.cookie .split('; ') .map(v => v.split('=')) .reduce((acc, [k, val]) => (k === name ? decodeURIComponent(val || '') : acc), ''); } // Read cookies var si = getCookie('si_u_id'); var uid = getCookie('u_id'); var zen = getCookie('zenid'); // Send to Clarity if (si) clarity('set', 'si_u_id', si); if (uid) clarity('set', 'u_id', uid); if (zen) clarity('set', 'zenid', zen); clarity('set', 'ip_address', '216.73.216.134'); t.ajax({type:"POST",url:"/",data:{trackUserActivity:!0,reqUri:document.URL,referer:document.referrer},success:function(t){}})})},!1),window.addEventListener("load",function(){jQuery(document).ready(function(t){t.ajax({type:"POST",url:"/",data:{insertCrawler:!0,reqUri:document.URL,parseTime:"0.056",queryTime:"0.01654768548584",queryCount:"30"},success:function(t){}})})},!1),window.addEventListener("load",function(){jQuery(document).ready(function(){function t(t="",n=!1){var i="itms-apps://itunes.apple.com/app/id6462455425",e="openApp://action?"+t;isAndroid()?(setTimeout(function(){return window.location="market://details?id=com.solutioninn.studyhelp",!1},25),window.location=e):isIOS()?(setTimeout(function(){return window.location=i,!1},25),window.location=e):(i="https://apps.apple.com/in/app/id6462455425",n&&(i="https://play.google.com/store/apps/details?id=com.solutioninn.studyhelp"),window.open("about:blank","_blank").location.href=i)}jQuery("#appModal").modal("show"),jQuery(".download-app-btn").click(function(){t(jQuery(this).attr("data-question-open-url"))}),jQuery(".redirection").click(function(){var n=jQuery(this).attr("data-question-open-url"),i=jQuery(this).attr("data-id");void 0!=n?1==i?t(n,!0):t(n,!1):1==i?t("",!0):t("",!1)}),jQuery(".app-notification-close").click(function(){jQuery(".app-notification-section").css("visibility","hidden");var t=new FormData;t.append("hide_notification",!0),jQuery.ajax({type:"POST",url:"/",data:t,cache:!1,contentType:!1,processData:!1,beforeSend:function(){},success:function(t){location.reload()}})})})},!1); </script> </body> </html>