内部控制
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Random;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.Timer;
import javax.sound.sampled.*;
public class MPanel extends JPanel implements KeyListener, ActionListener{
ImageIcon title = new ImageIcon("title.jpg");
ImageIcon body = new ImageIcon("body.png");
ImageIcon up = new ImageIcon("up.png");
ImageIcon food = new ImageIcon("food.png");
ImageIcon left = new ImageIcon("left.png");
ImageIcon right = new ImageIcon("right.png");
ImageIcon down = new ImageIcon("down.png");
int len=3;
int score=0;
int[]snakex=new int[750];
int[]snakey=new int[750];
String fx="R";
boolean isStarted=false;
boolean isFailed=false;
Timer timer =new Timer(100, this);
int foodx;
int foody;
Random rand=new Random();
Clip bgm;
public MPanel() {
initSnake();
this.setFocusable(true);
this.addKeyListener(this);
timer.start();
loadBGM();
}
public void paintComponent(Graphics g) {