基本的代码运行可以通过了。显示图片,猜猜看基本可以运行,游戏整体代码已经完成。就是统计猜对猜错次数那个还在努力,在查找中,不知能不能运行得了一个可以统计猜对猜错次数的猜猜看游戏。

<pre name="code" class="java">import java.awt.EventQueue;  import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.AbstractButton;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.SystemColor;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.Random;  public class weiwei extends JFrame {  /**
*
*/  private static final long serialVersionUID = 1L;  private JPanel contentPane;  private JTextField tfDir;  private JTextField tfClass;  File[] fileArray; // 文件夹下所有文件  int NUM_IMG = 0; // 文件总数目  int index = 0; // 当前文件的序号  int i = 0;  JLabel jlbImg1 = null;  JLabel jlbImg2 = null;  JLabel jlbImg3 = null;  private Graphics g;  /** * Launch the application. */  class myFileFilter implements FileFilter {  @Override  public boolean accept(File pathname) {  String filename = pathname.getName().toLowerCase();  if (filename.contains(".jpg")) {  return false;  } else {  return true;  }  }  }  public static void main(String[] args) {  EventQueue.invokeLater(new Runnable() {  public void run() {  try {  weiwei frame = new weiwei();  frame.setVisible(true);  } catch (Exception e) {  e.printStackTrace();  }  }  });  }  /** * Create the frame. */  public weiwei() {  setTitle("\u731C\u731C\u770B\u6E38\u620FV0.1");  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  setBounds(100, 100, 645, 500);  contentPane = new JPanel();  contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));  setContentPane(contentPane);  contentPane.setLayout(null);  // 选择目录 按钮的处理程序  JButton btnDir = new JButton("\u9009\u62E9\u76EE\u5F55");  btnDir.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent arg0) {  JFileChooser jfc = new JFileChooser();  jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);  jfc.showDialog(new JLabel(), "选择");  File file = jfc.getSelectedFile();  tfDir.setText(file.getAbsolutePath());  if (file != null && file.isDirectory()) {  // 参考: java中File.listFiles(FileFilter) FileFilter的使用  // http://zhouzaibao.iteye.com/blog/347557 ;  // 获取文件夹下所有的文件  fileArray = file.listFiles();  NUM_IMG = fileArray.length;  }  }  });  btnDir.setBounds(26, 26, 93, 23);  contentPane.add(btnDir);  // 文本框,显示目录  tfDir = new JTextField();  tfDir.setEditable(false);  tfDir.setBounds(125, 27, 450, 21);  contentPane.add(tfDir);  tfDir.setColumns(10);  //设置提醒文字  JLabel j1 = new JLabel("猜猜我是谁,请点我相片");  j1.setBounds(5, 100, 200, 33);  this.add(j1);  // 标签,显示带猜测学生姓名  final JLabel lbGuessName = new JLabel("学生姓名");  lbGuessName.setBounds(259, 91, 140, 23);  contentPane.add(lbGuessName);  // 标签,显示第一个学生相片  final JLabel lblImg1 = new JLabel("NO.1");  lblImg1.addMouseListener(new MouseAdapter() {  @Override  public void mouseClicked(MouseEvent arg0) {  if (arg0.getSource() == lblImg1) {  if ((lblImg1.getText().equals(lbGuessName.getText()))) {  JOptionPane.showMessageDialog(null, "YES!你猜对了!", "提示",  JOptionPane.PLAIN_MESSAGE);  } else {  JOptionPane.showMessageDialog(null, "NO!你猜错了!", "错误",  JOptionPane.ERROR_MESSAGE);  }  }  }  });  lblImg1.setBounds(26, 155, 150, 200);  contentPane.add(lblImg1);  // 标签,显示第二个学生相片  final JLabel lblImg2 = new JLabel("NO.2");  lblImg2.addMouseListener(new MouseAdapter() {  @Override  public void mouseClicked(MouseEvent arg1) {  if (arg1.getSource() == lblImg2) {  if ((lblImg2.getText().equals(lbGuessName.getText()))) {  JOptionPane.showMessageDialog(null, "YES!你猜对了!", "提示",  JOptionPane.PLAIN_MESSAGE);  } else {  JOptionPane.showMessageDialog(null, "NO!你猜错了!", "错误",  JOptionPane.ERROR_MESSAGE);  }  }  }  });  lblImg2.setForeground(Color.BLACK);  lblImg2.setBackground(SystemColor.inactiveCaption);  lblImg2.setBounds(241, 155, 150, 200);  contentPane.add(lblImg2);  // 标签,显示第三个学生相片  final JLabel lblImg3 = new JLabel("NO.3");  lblImg3.addMouseListener(new MouseAdapter() {  @Override  public void mouseClicked(MouseEvent arg2) {  if (arg2.getSource() == lblImg3) {  if ((lblImg3.getText().equals(lbGuessName.getText()))) {  JOptionPane.showMessageDialog(null, "YES!你猜对了!", "提示",  JOptionPane.PLAIN_MESSAGE);  } else {  JOptionPane.showMessageDialog(null, "NO!你猜错了!", "错误",  JOptionPane.ERROR_MESSAGE);  }  }  }  });  lblImg3.setBounds(434, 155, 150, 200);  contentPane.add(lblImg3);  // 再猜一次 按钮,点击则更新相应的三张图片 与 带猜测学生姓名  final JButton btnGuessAgain = new JButton("\u518D\u731C\u4E00\u6B21");  btnGuessAgain.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent e) {  if (e.getSource() == btnGuessAgain) { // 如果是next按钮  Random random = new Random(System.currentTimeMillis());  // 循环三次  ImageIcon icon;  // int k[] = null;  for (int i = 0; i < 3; i++) {  index = random.nextInt(NUM_IMG);  String strTmp = fileArray[index].toString();  String filename1 = fileArray[index].getName();  try {  icon = new ImageIcon(ImageIO.read(new File(strTmp)));  // 从图表中获取到图片  Image image = icon.getImage();  // 缩放图像  Image smallImage = image.getScaledInstance(150,  200, Image.SCALE_FAST);  // 把Image文件转化为ImageIcon  icon = new ImageIcon(smallImage);  if (index == NUM_IMG)  index = 0;  switch (i) {  case 0:  System.out.println(fileArray[index].getName());  // k[0]=index;  lblImg1.setIcon(icon);  lblImg1.setText(filename1);  break;  case 1:  System.out.println(fileArray[index].getName());  lblImg2.setIcon(icon);  lblImg2.setText(filename1);  // k[1]=index;  break;  case 2:  System.out.println(fileArray[index].getName());  lblImg3.setIcon(icon);  lblImg3.setText(filename1);  // k[2]=index;  break;  }  } catch (IOException e1) {  // TODO Auto-generated catch block  e1.printStackTrace();  }  }  }  @SuppressWarnings("unused")  Random random1 = new Random(index);  // i = index;  System.out.println(fileArray[index].getName());  String filename = fileArray[index].getName();  lbGuessName.setText(filename);  }  });  btnGuessAgain.setBounds(223, 400, 93, 23);  contentPane.add(btnGuessAgain);  }
}  

运行的结果还算可以的。

猜猜看的游戏代码编写,我在1参考老师在之前的日志的相关代码还有借鉴网络上的知识,再加上同学的帮助,我大概可以运行猜猜看游戏了。

统计次数那里觉得很难,不知道从哪里修改入手好。

《JAVA程序设计》实训第三天——《猜猜看》游戏相关推荐

  1. java程序设计实训项目_Java程序设计教程与项目实训

    本书以现代教育理念为指导,在讲授方式上注意结合应用开发实例,注重培养学生理解面向对象程序设计思想,以提高分析问题和解决实际问题的能力.采用由浅入深.理论与实践相结合的教学思路,通过大量的实例阐述Jav ...

  2. Java程序设计实训教程_Java程序设计实训教程--详细介绍

    第1章&nbsp&nbspJava语言基础 1.1&nbsp&nbsp背景知识 1.1.1&nbsp&nbspApplet与Application 1. ...

  3. java实训扫雷小程序设计项目_《Java程序设计实训教程》实训一扫雷游戏.ppt

    实训一 扫雷游戏 1.1 系统设计 需求分析 随机布雷 实现扫雷功能 标记小方块 选择游戏的难度 显示剩余雷数 显示已使用时间 最好成绩记录 重新开始 加快扫雷进程 加入声音 1.1 系统设计 类的设 ...

  4. java坦克大战 实训报告_程序设计实训坦克大战实验报告

    <程序设计实训坦克大战实验报告>由会员分享,可在线阅读,更多相关<程序设计实训坦克大战实验报告(12页珍藏版)>请在金锄头文库上搜索. 1. 程序设计实训报告坦克大战专业班级: ...

  5. c语言实训教程课后答案第三版,C语言程序设计实训教程课后题答案.doc

    C语言程序设计实训教程课后题答案 C语言实训教程自测题答案 第一套 判断题 12345678910BABBBBBBAB 单项选择题 123456789101112131415CBACCBDBDAACA ...

  6. Java企业实训 - 01 - Java前奏

    前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...

  7. JSP程序设计实训(一)—— JSP概述

    下一篇:JSP程序设计实训--JSP开发平台与Tomcat服务器 JSP概述 一.学习目的 了解JSP技术的基础理论知识,要求了解JSP的工作原理以及使用JSP开发Web项目的主要方式. 二.Web技 ...

  8. JSP程序设计实训——通信资费管理系统

    通信资费管理系统 目的是实现通信资费管理系统的静态页面设计,要求能够逐步掌握Java Web项目开发的流程和页面的设计.案例分为三部分实现,分为案例需求分析.案例架构分析和案例开发(编程实现). 一. ...

  9. 单片机c语言程序设计实训报告,(整理)单片机C语言程序设计实训100例.doc

    (整理)单片机C语言程序设计实训100例.doc .单片机C语言程序设计实训100例基于8051Proteus仿真案例第 01 篇 基础程序设计01闪烁的LED/* 名称闪烁的LED说明LED按设定的 ...

最新文章

  1. Linux和Windows文件系统
  2. mysql 5.7 速度很快_MySQL5.7速度比MySQL5.6快3倍
  3. 币安布局去中心化交易所,原来是因为这三个原因!
  4. HTML语义化的理解
  5. python简笔画怎么画_怎样用tk语句在Python下画一棵树
  6. Java并发编程实战~Guarded Suspension模式
  7. 嵌入式电路设计(最小系统)
  8. java 集群会话管理_架构设计之Spring-Session分布式集群会话管理
  9. Less 官方文档学习笔记
  10. ies文件 vray_光域网ies文件免费
  11. 清理window日志垃圾.bat
  12. 开源的物理引擎_开源物理引擎
  13. 人体3D重建-ICON论文解读
  14. 英雄联盟LOL JAVA版
  15. c++ 运算符重载(简单易懂)
  16. 502 bad gateway原因、解决方法
  17. 信息学奥赛一本通 1359:围成面积
  18. 教老婆学java系列之奇妙的数据结构四
  19. 相关性和差异的显著性
  20. oracle 提示ORA-00942: 表或视图不存在,但是plsql查询有数据,解决办法

热门文章

  1. 微信公众号开发样式失效问题
  2. java实现List/Set集合排序:集合内容是字符串,字符串(包含汉字,英文字母,数字)集合的排序
  3. 基于XMC4800 Ethercat从站的工厂自动化解决方案
  4. 松下Android 坚固型平板,松下发布全新坚固型安卓平板Toughbook FZ-L1
  5. camera调试基础 .
  6. 5.cisco思科模拟器ipv4和ipv6编址题目练习
  7. 【分布式锁】三种分布式锁的实现【原创】
  8. vulnhub靶机 trollcave-v1-2
  9. 创造建材数字转型新视界,中建材如何多边赋能集团业务快速发展
  10. 通信专业c语言,通信工程-专业教材C语言程序设计.doc