# java-snake **Repository Path**: icy8/java-snake ## Basic Information - **Project Name**: java-snake - **Description**: 用java写的贪吃蛇小游戏 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-11-02 - **Last Updated**: 2022-11-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: 贪吃蛇 ## README # java-snake 用java写的贪吃蛇小游戏,比较简陋。 ### 软件架构 1. 原生Java 2. Swing 3. 多线程 ### 开始运行 运行文件Main.java ### 项目说明 这是一个没有完成的项目,还有一些碰撞提示和游戏结束的ui没做。 ### 基本原理 1. 游戏画面就是用坐标栈循环画矩形,包括蛇体、食物、墙体,坐标以`[x, y]`格式存入`Point`对象,然后将`Point`对象存入坐标栈`LinkedList`对象中。 2. 蛇体移动原理: - 在蛇体坐标栈中从右出栈一个Point,即蛇尾减去一个像素,然后在蛇体坐标栈中从左入栈一个Point,即蛇头增加一个像素,即可完成一个像素的移动。 - 蛇体向上移动,y坐标递减,x坐标不变。 - 蛇体向下移动,y坐标递增,x坐标不变。 - 蛇体向左移动,x坐标递减,y坐标不变。 - 蛇体向右移动,x坐标递增,y坐标不变。 3. 蛇头吃到食物:从蛇体坐标栈中从右入栈一个Point,即蛇尾增加一个像素。