<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=MobileJavaStudy%2FSnakeBite%2FSpec2Source</id>
	<title>MobileJavaStudy/SnakeBite/Spec2Source - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=MobileJavaStudy%2FSnakeBite%2FSpec2Source"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=MobileJavaStudy/SnakeBite/Spec2Source&amp;action=history"/>
	<updated>2026-05-14T22:13:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=MobileJavaStudy/SnakeBite/Spec2Source&amp;diff=34683&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=MobileJavaStudy/SnakeBite/Spec2Source&amp;diff=34683&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 상규 ==&lt;br /&gt;
 import javax.microedition.midlet.*;&lt;br /&gt;
 import javax.microedition.lcdui.*;&lt;br /&gt;
 import java.util.*;&lt;br /&gt;
 &lt;br /&gt;
 class SnakeCell {&lt;br /&gt;
 	public int snakeCellX;&lt;br /&gt;
 	public int snakeCellY;&lt;br /&gt;
 &lt;br /&gt;
 	public SnakeCell(int x, int y) {&lt;br /&gt;
 		snakeCellX = x;&lt;br /&gt;
 		snakeCellY = y;&lt;br /&gt;
 	}&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 class Snake {&lt;br /&gt;
 	public static final int LEFT = 1;&lt;br /&gt;
 	public static final int RIGHT = 2;&lt;br /&gt;
 	public static final int UP = 3;&lt;br /&gt;
 	public static final int DOWN = 4;&lt;br /&gt;
 &lt;br /&gt;
 	private final int snakeCellXRange;&lt;br /&gt;
 	private final int snakeCellYRange;&lt;br /&gt;
 &lt;br /&gt;
 	private Vector snakeCellVector;&lt;br /&gt;
 	private int snakeHeadIndex;&lt;br /&gt;
 	private int snakeDirection;&lt;br /&gt;
 &lt;br /&gt;
 	public Snake(int length, int xRange, int yRange) {&lt;br /&gt;
 		snakeCellXRange = xRange;&lt;br /&gt;
 		snakeCellYRange = yRange;&lt;br /&gt;
 &lt;br /&gt;
 		snakeCellVector = new Vector();&lt;br /&gt;
 &lt;br /&gt;
 		for(int i = length ; i &amp;amp;gt;= 1 ; i--)&lt;br /&gt;
 			snakeCellVector.addElement(new SnakeCell(i, 1));&lt;br /&gt;
 &lt;br /&gt;
 		snakeHeadIndex = 0;&lt;br /&gt;
 		snakeDirection = Snake.RIGHT;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public int length() {&lt;br /&gt;
 		return snakeCellVector.size();&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public SnakeCell getSnakeCell(int index) {&lt;br /&gt;
 		return (SnakeCell)snakeCellVector.elementAt((snakeHeadIndex + index) % length());&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public int getDirection() {&lt;br /&gt;
 		return snakeDirection;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void setDirection(int direction) {&lt;br /&gt;
 		snakeDirection = direction;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public boolean checkGameOver() {&lt;br /&gt;
 		SnakeCell head;&lt;br /&gt;
 		SnakeCell cell;&lt;br /&gt;
 &lt;br /&gt;
 		head = getSnakeCell(0);&lt;br /&gt;
 		if(head.snakeCellX &amp;amp;lt; 0 || head.snakeCellY &amp;amp;gt; snakeCellXRange - 1&lt;br /&gt;
 		|| head.snakeCellY &amp;amp;lt; 0 || head.snakeCellY &amp;amp;gt; snakeCellYRange - 1)&lt;br /&gt;
 			return false;&lt;br /&gt;
 &lt;br /&gt;
 		int length = length();&lt;br /&gt;
 		for(int i = 1 ; i &amp;amp;lt; length ; i++) {&lt;br /&gt;
 			cell = getSnakeCell(i);&lt;br /&gt;
 			if(cell.snakeCellX == head.snakeCellX &amp;amp;amp;&amp;amp;amp; cell.snakeCellY == head.snakeCellY)&lt;br /&gt;
 				return false;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		return true;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public boolean go() {&lt;br /&gt;
 		SnakeCell prevHead = getSnakeCell(0);&lt;br /&gt;
 		snakeHeadIndex = (snakeHeadIndex + length() - 1) % length();&lt;br /&gt;
 		SnakeCell currentHead = getSnakeCell(0);&lt;br /&gt;
 &lt;br /&gt;
 		currentHead.snakeCellX = prevHead.snakeCellX;&lt;br /&gt;
 		currentHead.snakeCellY = prevHead.snakeCellY;&lt;br /&gt;
 &lt;br /&gt;
 		if(snakeDirection == Snake.LEFT)&lt;br /&gt;
 			currentHead.snakeCellX--;&lt;br /&gt;
 		else if(snakeDirection == Snake.RIGHT)&lt;br /&gt;
 			currentHead.snakeCellX++;&lt;br /&gt;
 		else if(snakeDirection == Snake.UP)&lt;br /&gt;
 			currentHead.snakeCellY--;&lt;br /&gt;
 		else if(snakeDirection == Snake.DOWN)&lt;br /&gt;
 			currentHead.snakeCellY++;&lt;br /&gt;
 &lt;br /&gt;
 		return checkGameOver();&lt;br /&gt;
 	}&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 class SnakeBiteCanvas extends Canvas {&lt;br /&gt;
 	private final int boardWallWidth = 4;&lt;br /&gt;
 	private final int snakeCellWidth = 4;&lt;br /&gt;
 &lt;br /&gt;
 	private final int canvasWidth;&lt;br /&gt;
 	private final int canvasHeight;&lt;br /&gt;
 &lt;br /&gt;
 	private final int boardX;&lt;br /&gt;
 	private final int boardY;&lt;br /&gt;
 	private final int boardWidth;&lt;br /&gt;
 	private final int boardHeight;&lt;br /&gt;
 &lt;br /&gt;
 	private final int boardInnerX;&lt;br /&gt;
 	private final int boardInnerY;&lt;br /&gt;
 	private final int boardInnerWidth;&lt;br /&gt;
 	private final int boardInnerHeight;&lt;br /&gt;
 &lt;br /&gt;
 	private Snake snake;&lt;br /&gt;
 &lt;br /&gt;
 	private boolean pause;&lt;br /&gt;
 	private boolean drawAll;&lt;br /&gt;
 	private boolean printScore;&lt;br /&gt;
 	private boolean gameOver;&lt;br /&gt;
 &lt;br /&gt;
 	public Command pauseCommand;&lt;br /&gt;
 	public Command restartCommand;&lt;br /&gt;
 	&lt;br /&gt;
 	public SnakeBiteCanvas() {&lt;br /&gt;
 		canvasWidth = getWidth();&lt;br /&gt;
 		canvasHeight = getHeight();&lt;br /&gt;
 &lt;br /&gt;
 		boardWidth = canvasWidth - 6 - (canvasWidth - 6 - boardWallWidth * 2) % snakeCellWidth;&lt;br /&gt;
 		boardHeight = boardWidth / 10 * 8 - (boardWidth / 10 * 8 - boardWallWidth * 2) % snakeCellWidth;&lt;br /&gt;
 		boardX = (canvasWidth - boardWidth) / 2;&lt;br /&gt;
 		boardY = (canvasHeight - boardHeight) /2;&lt;br /&gt;
 		&lt;br /&gt;
 		boardInnerX = boardX + boardWallWidth;&lt;br /&gt;
 		boardInnerY = boardY + boardWallWidth;&lt;br /&gt;
 		boardInnerWidth = boardWidth - boardWallWidth * 2;&lt;br /&gt;
 		boardInnerHeight = boardHeight - boardWallWidth * 2;&lt;br /&gt;
 		&lt;br /&gt;
 		snake = new Snake(5, boardInnerWidth / snakeCellWidth, boardInnerHeight / snakeCellWidth);&lt;br /&gt;
 &lt;br /&gt;
 		pause = true;&lt;br /&gt;
 		drawAll = true;&lt;br /&gt;
 		printScore = false;&lt;br /&gt;
 		gameOver = false;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void drawBoard(Graphics g) {&lt;br /&gt;
 		g.setColor(0xFFFFFF);&lt;br /&gt;
 		g.fillRect(0, 0, canvasWidth, canvasHeight);&lt;br /&gt;
 &lt;br /&gt;
 		g.setColor(0x000000);&lt;br /&gt;
 		g.fillRect(boardX, boardY, boardWidth, boardHeight);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void clearBoard(Graphics g) {&lt;br /&gt;
 		g.setColor(0xFFFFFF);&lt;br /&gt;
 		g.fillRect(boardInnerX - 1, boardInnerY - 1, boardInnerWidth + 2, boardInnerHeight + 2);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void drawSnakeCell(Graphics g, SnakeCell cell) {&lt;br /&gt;
 		g.fillRect(boardInnerX + snakeCellWidth * cell.snakeCellX,&lt;br /&gt;
 			boardInnerY + snakeCellWidth * cell.snakeCellY,&lt;br /&gt;
 			snakeCellWidth, snakeCellWidth);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void paint(Graphics g) {&lt;br /&gt;
 		if(drawAll) {&lt;br /&gt;
 			drawBoard(g);&lt;br /&gt;
 			drawAll = false;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		clearBoard(g);&lt;br /&gt;
 &lt;br /&gt;
 		int length = snake.length();&lt;br /&gt;
 		SnakeCell cell;&lt;br /&gt;
 		g.setColor(0x000000);&lt;br /&gt;
 		for(int i = 0; i &amp;amp;lt; length ; i++) {&lt;br /&gt;
 			cell = snake.getSnakeCell(i);&lt;br /&gt;
 			drawSnakeCell(g, cell);&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		if(printScore) {&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		if(gameOver) {&lt;br /&gt;
 			g.drawString(&amp;quot;Game Over!!&amp;quot;, canvasWidth / 2, canvasHeight, Graphics.HCENTER | Graphics.BOTTOM);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public void keyPressed(int keyCode) {&lt;br /&gt;
 		if(!pause &amp;amp;amp;&amp;amp;amp; !gameOver) {&lt;br /&gt;
 			int gameAction = getGameAction(keyCode);&lt;br /&gt;
 			if(gameAction == Canvas.LEFT &amp;amp;amp;&amp;amp;amp; snake.getDirection() != Snake.RIGHT)&lt;br /&gt;
 				snake.setDirection(Snake.LEFT);&lt;br /&gt;
 			else if(gameAction == Canvas.RIGHT &amp;amp;amp;&amp;amp;amp; snake.getDirection() != Snake.LEFT)&lt;br /&gt;
 				snake.setDirection(Snake.RIGHT);&lt;br /&gt;
 			else if(gameAction == Canvas.UP &amp;amp;amp;&amp;amp;amp; snake.getDirection() != Snake.DOWN)&lt;br /&gt;
 				snake.setDirection(Snake.UP);&lt;br /&gt;
 			else if(gameAction == Canvas.DOWN &amp;amp;amp;&amp;amp;amp; snake.getDirection() != Snake.UP)&lt;br /&gt;
 				snake.setDirection(Snake.DOWN);&lt;br /&gt;
 			else&lt;br /&gt;
 				return;&lt;br /&gt;
 &lt;br /&gt;
 			if(snake.go() == false) {&lt;br /&gt;
 				this.removeCommand(pauseCommand);&lt;br /&gt;
 				this.addCommand(restartCommand);&lt;br /&gt;
 				gameOver = true;&lt;br /&gt;
 			}&lt;br /&gt;
 		&lt;br /&gt;
 			repaint();&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void start() {&lt;br /&gt;
 		pause = false;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void pause() {&lt;br /&gt;
 		pause = true;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void restart() {&lt;br /&gt;
 		snake = new Snake(5, boardInnerWidth / snakeCellWidth, boardInnerHeight / snakeCellWidth);&lt;br /&gt;
 &lt;br /&gt;
 		pause = true;&lt;br /&gt;
 		drawAll = true;&lt;br /&gt;
 		printScore = false;&lt;br /&gt;
 		gameOver = false;&lt;br /&gt;
 &lt;br /&gt;
 		repaint();&lt;br /&gt;
 	}&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 public class SnakeBite extends MIDlet implements CommandListener {&lt;br /&gt;
 	private Display display;&lt;br /&gt;
 	private SnakeBiteCanvas canvas;&lt;br /&gt;
 	private Command startCommand;&lt;br /&gt;
 	private Command pauseCommand;&lt;br /&gt;
 	private Command restartCommand;&lt;br /&gt;
 	private Command exitCommand;&lt;br /&gt;
 	&lt;br /&gt;
 	public SnakeBite() {&lt;br /&gt;
 		display = Display.getDisplay(this);&lt;br /&gt;
 		canvas = new SnakeBiteCanvas();&lt;br /&gt;
 		startCommand = new Command(&amp;quot;Start&amp;quot;, Command.SCREEN, 1);&lt;br /&gt;
 		pauseCommand = new Command(&amp;quot;Pause&amp;quot;, Command.SCREEN, 1);&lt;br /&gt;
 		restartCommand = new Command(&amp;quot;Restart&amp;quot;, Command.SCREEN, 1);&lt;br /&gt;
 		exitCommand = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
 &lt;br /&gt;
 		canvas.pauseCommand = pauseCommand;&lt;br /&gt;
 		canvas.restartCommand = restartCommand;&lt;br /&gt;
 		&lt;br /&gt;
 		canvas.addCommand(startCommand);&lt;br /&gt;
 		canvas.addCommand(exitCommand);&lt;br /&gt;
 		canvas.setCommandListener(this);&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public void startApp() {&lt;br /&gt;
 		display.setCurrent(canvas);&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public void pauseApp() {&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public void destroyApp(boolean unconditional) {&lt;br /&gt;
 		display = null;&lt;br /&gt;
 		canvas = null;&lt;br /&gt;
 		exitCommand = null;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	public void commandAction(Command c, Displayable d) {&lt;br /&gt;
 		if(c == startCommand) {&lt;br /&gt;
 			canvas.removeCommand(startCommand);&lt;br /&gt;
 			canvas.addCommand(pauseCommand);&lt;br /&gt;
 			canvas.start();&lt;br /&gt;
 		}&lt;br /&gt;
 		else if(c == pauseCommand) {&lt;br /&gt;
 			canvas.removeCommand(pauseCommand);&lt;br /&gt;
 			canvas.addCommand(startCommand);&lt;br /&gt;
 			canvas.pause();&lt;br /&gt;
 		}&lt;br /&gt;
 		else if(c == restartCommand) {&lt;br /&gt;
 			canvas.removeCommand(restartCommand);&lt;br /&gt;
 			canvas.addCommand(startCommand);&lt;br /&gt;
 			canvas.restart();&lt;br /&gt;
 		}&lt;br /&gt;
 		else if(c == exitCommand) {&lt;br /&gt;
 			destroyApp(true);&lt;br /&gt;
 			notifyDestroyed();&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 };&lt;br /&gt;
== 재동 ==&lt;br /&gt;
 import java.io.*;&lt;br /&gt;
 import java.util.*;&lt;br /&gt;
 import javax.microedition.midlet.*; &lt;br /&gt;
 import javax.microedition.lcdui.*; &lt;br /&gt;
 &lt;br /&gt;
 class StartCanvas extends Canvas { &lt;br /&gt;
     private String startString; &lt;br /&gt;
     private final int BACKGROUND_COLOR = 0xFFFFFF; &lt;br /&gt;
     private final int FOREGROUND_COLOR = 0x000000; &lt;br /&gt;
     private Image image; &lt;br /&gt;
      &lt;br /&gt;
     public StartCanvas() { &lt;br /&gt;
         try {&lt;br /&gt;
         	image = Image.createImage(&amp;quot;/start.png&amp;quot;); &lt;br /&gt;
         } &lt;br /&gt;
         catch(Exception e) {&lt;br /&gt;
         	System.out.println(&amp;quot;그림이 없음&amp;quot;); &lt;br /&gt;
         } &lt;br /&gt;
     } &lt;br /&gt;
     public void paint(Graphics g) {&lt;br /&gt;
     	g.setColor(BACKGROUND_COLOR); &lt;br /&gt;
 	    g.fillRect(g.getClipX(),g.getClipY(),g.getClipWidth(),g.getClipHeight()); &lt;br /&gt;
 	    g.setColor(FOREGROUND_COLOR); &lt;br /&gt;
 	    g.drawImage(image,this.getWidth()/2,this.getHeight()/2,g.HCENTER|g.VCENTER); &lt;br /&gt;
     } &lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 class SnakeCell {&lt;br /&gt;
 	public int x;&lt;br /&gt;
 	public int y;&lt;br /&gt;
 	public SnakeCell(int x, int y) {&lt;br /&gt;
 		this.x = x;&lt;br /&gt;
 		this.y = y;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 class BoardCanvas extends Canvas { &lt;br /&gt;
     private int snakeHeadX; &lt;br /&gt;
     private int snakeHeadY; &lt;br /&gt;
     private int pathLength; &lt;br /&gt;
     private final int snakeRect;&lt;br /&gt;
     private int snakeLength;&lt;br /&gt;
     private Vector snakes;&lt;br /&gt;
     &lt;br /&gt;
     private final int BACKGROUND_COLOR = 0xFFFFFF; &lt;br /&gt;
     private final int FOREGROUND_COLOR = 0x0000FF; &lt;br /&gt;
 &lt;br /&gt;
     private final int boardX; &lt;br /&gt;
     private final int boardY; &lt;br /&gt;
     private final int boardWidth;&lt;br /&gt;
     private final int boardHeight;&lt;br /&gt;
     &lt;br /&gt;
     private boolean isGameOver;&lt;br /&gt;
     &lt;br /&gt;
     public BoardCanvas() { &lt;br /&gt;
         snakeHeadX = 20; &lt;br /&gt;
         snakeHeadY = 30; &lt;br /&gt;
         pathLength = 4; &lt;br /&gt;
         snakeRect = 4;&lt;br /&gt;
         snakeLength = 4;&lt;br /&gt;
         &lt;br /&gt;
         boardX = 10; &lt;br /&gt;
         boardY = 20; &lt;br /&gt;
         boardWidth = this.getWidth() - boardX * 2; &lt;br /&gt;
         boardHeight = this.getHeight() - boardY;&lt;br /&gt;
         &lt;br /&gt;
         snakes = new Vector();&lt;br /&gt;
         &lt;br /&gt;
         for(int i = 0;i &amp;amp;lt; snakeLength;i++) {&lt;br /&gt;
 			snakes.addElement(new SnakeCell(boardX + (i+1) * snakeRect, boardY + snakeRect));&lt;br /&gt;
         }&lt;br /&gt;
         &lt;br /&gt;
         isGameOver = false;&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     public void changeSnakeHeadAndTeil() {&lt;br /&gt;
     	snakes.addElement((SnakeCell)snakes.elementAt(0));&lt;br /&gt;
     	snakes.removeElementAt(0);&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     public void keyPressed(int keyCode) { &lt;br /&gt;
         int gameAction = getGameAction(keyCode);&lt;br /&gt;
         &lt;br /&gt;
         ((SnakeCell)snakes.elementAt(0)).x = ((SnakeCell)snakes.elementAt(3)).x;&lt;br /&gt;
         ((SnakeCell)snakes.elementAt(0)).y = ((SnakeCell)snakes.elementAt(3)).y;&lt;br /&gt;
         &lt;br /&gt;
         if(isMoveLeft(gameAction))&lt;br /&gt;
             ((SnakeCell)snakes.elementAt(0)).x -= pathLength;&lt;br /&gt;
         else if(isMoveRight(gameAction))&lt;br /&gt;
             ((SnakeCell)snakes.elementAt(0)).x += pathLength;&lt;br /&gt;
         else if(isMoveUp(gameAction))&lt;br /&gt;
             ((SnakeCell)snakes.elementAt(0)).y -= pathLength;&lt;br /&gt;
         else if(isMoveDown(gameAction)) &lt;br /&gt;
             ((SnakeCell)snakes.elementAt(0)).y += pathLength;&lt;br /&gt;
         changeSnakeHeadAndTeil();&lt;br /&gt;
         repaint();&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     public boolean isMoveUp(int ga) {&lt;br /&gt;
         return ga == Canvas.UP &amp;amp;amp;&amp;amp;amp; ((SnakeCell)snakes.elementAt(snakeLength - 1)).y &amp;amp;gt; boardY;&lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     public boolean isMoveDown(int ga) { &lt;br /&gt;
         return ga == Canvas.DOWN &amp;amp;amp;&amp;amp;amp; ((SnakeCell)snakes.elementAt(snakeLength - 1)).y &amp;amp;lt; boardHeight + boardY - snakeRect * 2; &lt;br /&gt;
     } &lt;br /&gt;
      &lt;br /&gt;
     public boolean isMoveLeft(int ga) { &lt;br /&gt;
         return ga == Canvas.LEFT &amp;amp;amp;&amp;amp;amp; ((SnakeCell)snakes.elementAt(snakeLength - 1)).x &amp;amp;gt; boardX; &lt;br /&gt;
     } &lt;br /&gt;
     public boolean isMoveRight(int ga) { &lt;br /&gt;
         return ga == Canvas.RIGHT &amp;amp;amp;&amp;amp;amp; ((SnakeCell)snakes.elementAt(snakeLength - 1)).x &amp;amp;lt; boardWidth + boardX - snakeRect * 2; &lt;br /&gt;
     } &lt;br /&gt;
     &lt;br /&gt;
     public void paint(Graphics g) {&lt;br /&gt;
 	    g.setColor(BACKGROUND_COLOR); &lt;br /&gt;
 	    g.fillRect(g.getClipX(),g.getClipY(),g.getClipWidth(),g.getClipHeight()); &lt;br /&gt;
 	    g.setColor(FOREGROUND_COLOR); &lt;br /&gt;
 	    g.drawRect(boardX-2,boardY-2,boardWidth,boardHeight);&lt;br /&gt;
 	    &lt;br /&gt;
 	    for(int i = 0;i &amp;amp;lt; snakeLength;i++) {&lt;br /&gt;
 	    	g.fillRect(((SnakeCell)snakes.elementAt(i)).x,&lt;br /&gt;
 	    		((SnakeCell)snakes.elementAt(i)).y, snakeRect, snakeRect);&lt;br /&gt;
 	    }		&lt;br /&gt;
     } &lt;br /&gt;
 } &lt;br /&gt;
  &lt;br /&gt;
 public class SnakeBite extends MIDlet implements CommandListener { &lt;br /&gt;
     private Display display; &lt;br /&gt;
     private BoardCanvas boardCanvas; &lt;br /&gt;
     private StartCanvas startCanvas; &lt;br /&gt;
      &lt;br /&gt;
     private Command exitCommand; &lt;br /&gt;
     private Command startCommand; &lt;br /&gt;
      &lt;br /&gt;
     public SnakeBite() { &lt;br /&gt;
         display = Display.getDisplay(this); &lt;br /&gt;
          &lt;br /&gt;
         exitCommand = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 1); &lt;br /&gt;
         startCommand = new Command(&amp;quot;Start&amp;quot;, Command.SCREEN, 2); &lt;br /&gt;
          &lt;br /&gt;
         startCanvas = new StartCanvas(); &lt;br /&gt;
         boardCanvas = new BoardCanvas(); &lt;br /&gt;
          &lt;br /&gt;
         startCanvas.addCommand(startCommand); &lt;br /&gt;
         startCanvas.addCommand(exitCommand); &lt;br /&gt;
         startCanvas.setCommandListener(this); &lt;br /&gt;
          &lt;br /&gt;
         boardCanvas.addCommand(exitCommand); &lt;br /&gt;
         boardCanvas.setCommandListener(this); &lt;br /&gt;
     } &lt;br /&gt;
     public void startApp() {&lt;br /&gt;
         display.setCurrent(startCanvas); &lt;br /&gt;
     } &lt;br /&gt;
     public void pauseApp() { &lt;br /&gt;
     } &lt;br /&gt;
     public void destroyApp(boolean unconditional) { &lt;br /&gt;
         display = null; &lt;br /&gt;
         boardCanvas = null; &lt;br /&gt;
         startCanvas = null; &lt;br /&gt;
         exitCommand = null; &lt;br /&gt;
         startCommand = null; &lt;br /&gt;
     }&lt;br /&gt;
     &lt;br /&gt;
     public void commandAction(Command c, Displayable d) { &lt;br /&gt;
         if(c == exitCommand) { &lt;br /&gt;
             destroyApp(true); &lt;br /&gt;
             notifyDestroyed(); &lt;br /&gt;
         } &lt;br /&gt;
         else if(c == startCommand) { &lt;br /&gt;
             display.setCurrent(boardCanvas); &lt;br /&gt;
         } &lt;br /&gt;
     } &lt;br /&gt;
 } &lt;br /&gt;
----&lt;br /&gt;
[[MobileJavaStudy/SnakeBite]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>