Java 程序设计课程设计猜数游戏.doc
《Java 程序设计课程设计猜数游戏.doc》由会员分享,可在线阅读,更多相关《Java 程序设计课程设计猜数游戏.doc(14页珍藏版)》请在三一办公上搜索。
1、课程设计(论文)题 目 名 称 猜数游戏 课 程 名 称 Java 程序设计课程设计 学 生 姓 名 学 号 系 、专 业 信息工程系、07网络工程专业 指 导 教 师 2010年 1 月 3 日摘 要 本程序是一个游戏程序,程序让计算机自动生成一个随机数,让玩家猜,猜的数比随机数大则提示“大了”,比随机数小则提示“小了”,再让玩家重新猜,直到猜对为止,猜对了以后会表扬玩家,并算出玩家共猜了多少次。关键词: 游戏、随机数、猜数目 录1 问题描述.12 需求分析.13 概要设计.13.1 自定义类说明.13.2 程序流程分析 . 14 详细设计.44.1 game类的实现.45 测试分析.66
2、课程设计总结.8参考文献9附录(部分源程序清单)101 问题描述计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用次数和评语。2 需求分析 需要创建一个game类,该类实现产生随机数、提示出错信息、计算猜错次数、给出玩家游戏信息等功能。其中包括一个循环函数,玩家猜的不对就提示“大了”或“小了”要求玩家再次输入,不断循环,直到玩家猜对。还包括提示出错程序,即玩家输入不是数字或不输入时会提示出错。还有计数函数,计算玩家共猜了多少次。最后是猜对表扬函数,即玩家猜对后表扬玩家,同时给出玩家共猜了多少次的信息。3 概要设计31自定义类说明3.1.1类名: game类(1)
3、作用: 主类,用来(2)继承的父类: 没有(3)实现的接口: 没有 (4)成员变量说明: 整型变量rnd:计算机产生的随机数 整型变量counter:存放猜数次数的变量 字符串变量str:存放输入字符串(5)成员方法说明: Math.random():随机产生一个数 JOptionPane.showInputDialog:产生一个输入消息对话框 JOptionPane.showMessageDialog:产生一个输出消息对话框 Integer.parseInt:强制类型转换32 程序流程分析开始显示“小了”irnd不能为空,错误输入错误输入!inti=Integer.parseInt(str)
4、;str.equals()不是数字c+crndcounter5显示“大了”成功,你只猜了counter次,你真是太棒了 恭喜你猜对了,你猜了counter次import java.awt.event.*;import javax.swing.*;import java.io.*;import java.security.*;import javax.crypto.*;import javax.crypto.spec.*;public class FileEncrypterT extends JFrame Package key;final JButton jbE=new JButton(加密)
5、;final JButton jbD=new JButton(解密);FileEncrypterT()super(文件加密器(TriDES);setBounds(100,100,600,380);this.setResizable(false);Container c=getContentPane();c.setLayout(new FlowLayout();final FilePanel fp = new FilePanel(文件选择);c.add(fp);final KeyPanel pp=new KeyPanel(输入Key);c.add(pp);jbE.addActionListene
6、r(new ActionListener()public void actionPerformed(ActionEvent event)File file = new File(fp.getFileName();if (file.exists()encrypt(file.getAbsoluteFile(),pp.getKey();elseJOptionPane.showMessageDialog( null,请选择文件!,提示,JOptionPane.OK_OPTION););jbD.addActionListener(new ActionListener()public void actio
7、nPerformed(ActionEvent event)File file = new File(fp.getFileName();if (file.exists()decrypt(file.getAbsoluteFile(),pp.getKey();elseJOptionPane.showMessageDialog(null,请选择文件!,提示,JOptionPane.OK_OPTION););getContentPane().add(jbE);getContentPane().add(jbD);public static void main(String args) FileEncryp
8、terT fe=new FileEncrypterT();fe.show();private void encrypt(File fileIn,String sKey)try if(sKey.length() = 48) byte bytK1 = getKeyByStr(sKey.substring(0,16); byte bytK2 = getKeyByStr(sKey.substring(16,32); byte bytK3 = getKeyByStr(sKey.substring(32,48); FileInputStream fis = new FileInputStream(file
9、In); byte bytIn = new byte(int)fileIn.length(); for(int i = 0;ifileIn.length();i+) bytIni = (byte)fis.read(); byte bytOut = encryptByDES(encryptByDES( encryptByDES(bytIn,bytK1),bytK2),bytK3); String fileOut = fileIn.getPath() + .tdes; FileOutputStream fos = new FileOutputStream(fileOut); for(int i =
10、 0;ibytOut.length;i+) fos.write(int)bytOuti);fos.close();JOptionPane.showMessageDialog(this,加密成功!,提示,JOptionPane.OK_OPTION);elseJOptionPane.showMessageDialog(this,“密码长度必须等于48!”,“错误信息”JOptionPane.ERROR_MESSAGE); catch(Exception e)e.printStackTrace();private void decrypt(File fileIn,String sKey)try if
11、(sKey.length() = 48) String strPath = fileIn.getPath();if(strPath.substring(strPath.length()-5).toLowerCase().equals(.tdes) strPath = strPath.substring(0,strPath.length()-5);else JOptionPane.showMessageDialog(this,不是合法的加密文件!,提示,JOptionPane.OK_OPTION);return;JFileChooser chooser = new JFileChooser();
12、chooser.setCurrentDirectory(new File(.);chooser.setSelectedFile(new File(strPath);int ret = chooser.showSaveDialog(this);if(ret=JFileChooser.APPROVE_OPTION)byte bytK1 = getKeyByStr(sKey.substring(0,16);byte bytK2 = getKeyByStr(sKey.substring(16,32);byte bytK3 = getKeyByStr(sKey.substring(32,48);File
13、InputStream fis = new FileInputStream(fileIn);byte bytIn = new byte(int)fileIn.length();for(int i = 0;ifileIn.length();i+)bytIni = (byte)fis.read();byte bytOut = decryptByDES(decryptByDES(decryptByDES(bytIn,bytK3),bytK2),bytK1); File fileOut = chooser.getSelectedFile();fileOut.createNewFile();FileOu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计课程设计猜数游戏 程序设计 课程设计 游戏

链接地址:https://www.31ppt.com/p-2386703.html