⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snakeframe.java

📁 这是一个Java写的贪吃蛇源码
💻 JAVA
字号:
import java.awt.*;import java.awt.event.*;import javax.swing.*;class SnakeFrame extends JFrame{	SnakeFrame()	{					final SnakePanel p=new SnakePanel(this);					//添加菜单;;;;;;;;;;;;;;;;;;;;-----{			JMenuBar menubar=new JMenuBar();			setJMenuBar(menubar);					//File menu			JMenu fileMenu=new JMenu("文件");						fileMenu.add(new			AbstractAction("帮助")				{					public void actionPerformed(ActionEvent event){						JOptionPane.showConfirmDialog(						p,"上下左右 控制|"+"enter-暂停","操纵说明",						JOptionPane.OK_OPTION,JOptionPane.INFORMATION_MESSAGE);					}					}							);									fileMenu.add(new			AbstractAction("退出")				{					public void actionPerformed(ActionEvent event){						System.exit(0);					}					}							);							menubar.add(fileMenu);						//"设置"菜单			 JMenu optionMenu=new JMenu("设置");			 			 //等级选项		      ButtonGroup groupDegree = new ButtonGroup();				      JRadioButtonMenuItem oneItem		         = new JRadioButtonMenuItem("第1级");		      		      JRadioButtonMenuItem twoItem		         = new JRadioButtonMenuItem("第2级");		      JRadioButtonMenuItem threeItem		         = new JRadioButtonMenuItem("第3级");		      threeItem.setSelected(true);		      JRadioButtonMenuItem fourItem		         = new JRadioButtonMenuItem("第4级");		         				      JRadioButtonMenuItem fiveItem		         = new JRadioButtonMenuItem("第5级");		      		      		      groupDegree.add(oneItem);		      groupDegree.add(twoItem);		      groupDegree.add(threeItem);		      groupDegree.add(fourItem);		      groupDegree.add(fiveItem);		      		      oneItem.addActionListener(new listener(300)	);		      twoItem.addActionListener(new listener(200)	);		      threeItem.addActionListener(new listener(100)	);		      fourItem.addActionListener(new listener(70)	);		      fiveItem.addActionListener(new listener(50)	);		      		      JMenu degreeMenu=new JMenu("等级");		      degreeMenu.add(oneItem);			      degreeMenu.add(twoItem);		      degreeMenu.add(threeItem);		      degreeMenu.add(fourItem);			      degreeMenu.add(fiveItem); 		      		      optionMenu.add(degreeMenu);			 		      // 风格选项				      final JCheckBoxMenuItem showGridItem = new JCheckBoxMenuItem("显示网格");				showGridItem.setSelected(true);				showGridItem.addActionListener( new 				ActionListener(){					public void actionPerformed(ActionEvent e)					{						if(!showGridItem.isSelected()){							p.setBackground(Color.blue);						}else{							p.setBackground(Color.lightGray);						}												}					}				);							      ButtonGroup group = new ButtonGroup();				      JRadioButtonMenuItem springItem		         = new JRadioButtonMenuItem("春天气息");		      springItem.setSelected(true);		      JRadioButtonMenuItem summerItem		         = new JRadioButtonMenuItem("夏天风采");		      JRadioButtonMenuItem autumnItem		         = new JRadioButtonMenuItem("秋天浪漫");		      JRadioButtonMenuItem winterItem		         = new JRadioButtonMenuItem("冬天雪白");		         				      		      		      group.add(springItem);		      group.add(summerItem);		      group.add(autumnItem);		      group.add(winterItem);		 						JMenu stylemenu=new JMenu("风格");			stylemenu.add(showGridItem);			stylemenu.addSeparator();			stylemenu.add(springItem);			stylemenu.add(summerItem);			stylemenu.add(autumnItem);			stylemenu.add(winterItem);						optionMenu.add(stylemenu);						menubar.add(optionMenu);								//menu;;;;;;;;;;;;;;;;;;;;-----}									Container contentpane=getContentPane(); 			contentpane.setLayout(new FlowLayout());			contentpane.add(p);			//p.setBackground(Color.blue);						//;;;;;;;;;			JButton newcmd=new JButton("新游戏");			newcmd.addActionListener(new 			ActionListener(){				public void actionPerformed(ActionEvent e)				{						//System.out.println("new game");					p.newGame(speedtime);						}							}						);						JButton stopcmd=new JButton("暂停");			stopcmd.addActionListener(new 			ActionListener(){				public void actionPerformed(ActionEvent e)				{					p.stopGame();				}							}						);						JButton runcmd=new JButton("继续");			runcmd.addActionListener(new 			ActionListener(){				public void actionPerformed(ActionEvent e)				{					p.resumeGame();				}							}						);									scoreField=new JTextField("0",3);			scoreField.setEnabled(false);			scoreField.setHorizontalAlignment(scoreField.CENTER);						JPanel toolPanel=new JPanel();			toolPanel.add(newcmd);			toolPanel.add(stopcmd);			toolPanel.add(runcmd);			toolPanel.add(scoreField);			contentpane.add(toolPanel);			//;;;;;;;;;				}	public JTextField scoreField;	private long speedtime=100;	private class listener implements ActionListener{		private long pause;		listener(long pause){			if (pause>10){				this.pause=pause;			}else{				this.pause=100;			}					}		public void actionPerformed(ActionEvent e){						speedtime=pause;		}	}	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -