찾다
php教程php手册java贪食蛇源代码分享

<code class="language-java">import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
 
/**
 * @url http://download.csdn.net/detail/leasystu/4308246
 * 
 * @author Easy
 */
public class InterFace extends JFrame {
    public static final int WIDTH = 800, HEIGHT = 600, SLEEPTIME = 20, L = 1,
            R = 2, U = 3, D = 4;
    BufferedImage offersetImage = new BufferedImage(WIDTH, HEIGHT,
            BufferedImage.TYPE_3BYTE_BGR);;
    Rectangle rect = new Rectangle(20, 40, 15 * 50, 15 * 35);
    Snake snake;
    Node node;
 
    public InterFace() {
        snake = new Snake(this);
        createNode();
        this.setBounds(100, 100, WIDTH, HEIGHT);
        this.addKeyListener(new KeyAdapter() {
            public void keyPressed(KeyEvent arg0) {
                System.out.println(arg0.getKeyCode());
                switch (arg0.getKeyCode()) {
                case KeyEvent.VK_LEFT:
                    snake.dir = L;
                    break;
                case KeyEvent.VK_RIGHT:
                    snake.dir = R;
                    break;
                case KeyEvent.VK_UP:
                    snake.dir = U;
                    break;
                case KeyEvent.VK_DOWN:
                    snake.dir = D;
                }
            }
        });
        this.setTitle("贪吃蛇 0.1   By : Easy");
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setVisible(true);
        new Thread(new ThreadUpadte()).start();
    }
 
    public void paint(Graphics g) {
        Graphics2D g2d = (Graphics2D) offersetImage.getGraphics();
        g2d.setColor(Color.white);
        g2d.fillRect(0, 0, WIDTH, HEIGHT);
        g2d.setColor(Color.black);
        g2d.drawRect(rect.x, rect.y, rect.width, rect.height);
        if (snake.hit(node)) {
            createNode();
        }
        snake.draw(g2d);
        node.draw(g2d);
        g.drawImage(offersetImage, 0, 0, null);
    }
 
    class ThreadUpadte implements Runnable {
        public void run() {
            while (true) {
                try {
                    Thread.sleep(SLEEPTIME);
                    repaint();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
 
    public void createNode() {
        int x = (int) (Math.random() * 650) + 50, y = (int) (Math.random() * 500) + 50;
        Color color = Color.blue;
        node = new Node(x, y, color);
    }
 
    public static void main(String args[]) {
        new InterFace();
    }
}
 
class Node {
    int x, y, width = 15, height = 15;
    Color color;
 
    public Node(int x, int y, Color color) {
        this(x, y);
        this.color = color;
    }
 
    public Node(int x, int y) {
        this.x = x;
        this.y = y;
        this.color = color.black;
    }
 
    public void draw(Graphics2D g2d) {
        g2d.setColor(color);
        g2d.drawRect(x, y, width, height);
    }
 
    public Rectangle getRect() {
        return new Rectangle(x, y, width, height);
    }
}
 
class Snake {
    public List<node> nodes = new ArrayList<node>();
    InterFace interFace;
    int dir = InterFace.R;
 
    public Snake(InterFace interFace) {
        this.interFace = interFace;
        nodes.add(new Node(20 + 150, 40 + 150));
        addNode();
    }
 
    public boolean hit(Node node) {
        for (int i = 0; i = 20 + 15 * 50 - nodeTempNode.width) {
                nodeTempNode = new Node(20 - nodeTempNode.width, nodeTempNode.y);
            }
            nodes.add(0, new Node(nodeTempNode.x + nodeTempNode.width,
                    nodeTempNode.y));
            break;
        case InterFace.U:
            if (nodeTempNode.y = 40 + 15 * 35 - nodeTempNode.height) {
                nodeTempNode = new Node(nodeTempNode.x,
                        40 - nodeTempNode.height);
            }
            nodes.add(0, new Node(nodeTempNode.x, nodeTempNode.y
                    + nodeTempNode.height));
            break;
        }
    }
}</node></node></code>

 

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기