python做贪吃蛇 页面不动,为什么我做的贪吃蛇点开始 蛇不走啊

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

package snake;

import java.awt.*;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import java.awt.event.*;

import javax.swing.*;

public class SnakeFrame extends JFrame implements ActionListener{

JButton jb1,jb3,jb4,jb2;

JPanel jp1;

JMenu nandu;

JMenuItem jian,zhong,nan;

PlaySnake playPane = new PlaySnake();

int speed = 100;

PlaySnake thread = new PlaySnake();

public SnakeFrame(){

Container cp = this.getContentPane();

this.setTitle("贪吃蛇 作者;你卢大哥");

this.setSize(800,600);

JMenuBar menubar = new JMenuBar();

JMenu nandu=new JMenu("难度");

this.setJMenuBar(menubar);

JMenuItem jian= new JMenuItem("简单");

JMenuItem zhong= new JMenuItem("中等");

JMenuItem nan= new JMenuItem("困难");

ButtonGroup group = new ButtonGroup();//使按钮里的按键选项变成排他法

group.add(jian);

group.add(zhong);

group.add(nan);

jian.setSelected(true);

nandu.add(jian);

nandu.add(zhong);

nandu.add(nan);

menubar.add(nandu,BorderLayout.NORTH);

jb1=new JButton("开始");

jb2=new JButton("暂停");

jb3=new JButton("结束");

jb4=new JButton("帮助");

jp1=new JPanel();

jp1.add(jb1);

jp1.add(jb2);

jp1.add(jb3);

jp1.add(jb4);

this.add(jp1);

cp.add(jp1,BorderLayout.NORTH);

cp.add(playPane,BorderLayout.CENTER);

jb1.setFocusable(false);

jb2.setFocusable(false);

jb3.setFocusable(false);

jb4.setFocusable(false);

jb2.setEnabled(false);

jb3.setEnabled(false);

jb1.addActionListener(this);

jb2.addActionListener(this);

jb3.addActionListener(this);

jb4.addActionListener(this);

jian.addActionListener(this);

zhong.addActionListener(this);

nan.addActionListener(this);

}

class SnakeThread extends Thread{

public void run(){

while(true){

try{

Thread.sleep(100/speed);

playPane.moveSnake();

if(playPane.isLost()){

JOptionPane.showMessageDialog(null, "游戏结束!");

playPane.clear();

jb1.setEnabled(true);

jb2.setText("暂停");

jb2.setEnabled(false);

jb3.setEnabled(false);

}

}

catch(Exception ex){}

}

}

}

public static void main(String[] args) {

// TODO 自动生成的方法存根

SnakeFrame ta=new SnakeFrame();

ta.setVisible(true);

ta.setResizable(false);

}

//class MainFrameActListener implements ActionListener{

public void actionPerformed(ActionEvent e)

{

//if(e.getSource()==jb1){

初始化状态

//isEnd = false;

//isPause = false;

创建贪吃蛇

//playPane.createSnake();

随机摆放食物

//playPane.createFood();

//try{

// //启动游戏

//thread.start();

//}

//catch(Exception ex){

//

//}

//jb1.setEnabled(false);

//jb2.setEnabled(true);

//jb3.setEnabled(true);

if(e.getSource()==jb1){

playPane.moveSnake();

//playPane.createSnake();

//playPane.createFood();

jb1.setEnabled(false);

jb2.setEnabled(true);

jb3.setEnabled(true);

}

if(e.getSource()==jb2){

if(jb2.getText()=="暂停"){

jb2.setText("继续");

}else if(jb2.getText()=="继续"){

jb2.setText("暂停");

}

}

if(e.getSource()==jb3){

jb1.setEnabled(true);

jb2.setEnabled(false);

jb3.setEnabled(false);

jb2.setText("暂停");

playPane.clear();

}

if(e.getSource()==jb4){

JDialog help=new HelpDialog();

help.setModal(true);

help.setSize(150,150);

help.setVisible(true);

}if(e.getSource() == jian){

speed = 300;

}if(e.getSource() == zhong){

speed = 200;

}if(e.getSource() == nan){

speed = 100;

}

}

public void keyPressed(KeyEvent e){

//判断游戏状态

//if(!jb3 && !jb2){

//根据用户按键,设置蛇运动方向

if(e.getKeyCode() == KeyEvent.VK_W){

playPane.setSnakeDirection(PlaySnake.UP);

}

if(e.getKeyCode() == KeyEvent.VK_S){

playPane.setSnakeDirection(PlaySnake.DOWN);

}

if(e.getKeyCode() == KeyEvent.VK_A){

playPane.setSnakeDirection(PlaySnake.LEFT);

}

if(e.getKeyCode() == KeyEvent.VK_D){

playPane.setSnakeDirection(PlaySnake.RIGHT);

}

//}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值