Java课程设计-21点小游戏

上传人:206****923 文档编号:74790552 上传时间:2019-01-29 格式:DOCX 页数:15 大小:542.85KB
返回 下载 相关 举报
Java课程设计-21点小游戏_第1页
第1页 / 共15页
Java课程设计-21点小游戏_第2页
第2页 / 共15页
Java课程设计-21点小游戏_第3页
第3页 / 共15页
Java课程设计-21点小游戏_第4页
第4页 / 共15页
Java课程设计-21点小游戏_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Java课程设计-21点小游戏》由会员分享,可在线阅读,更多相关《Java课程设计-21点小游戏(15页珍藏版)》请在金锄头文库上搜索。

1、20162017学年 第二学期 面向对象程序设计课程设计报告题目:21点小游戏专业:班级:姓名:指导教师:成绩:计算机学院2017年5月16日1.课程设计的目的32.设计思路33.设计结果与分析44.设计体会85.参考文献86.附录9计算机学院面向对象程序设计课程设计报告1.设计目的 面向对象程序设计是一门实践性很强的专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。通过这次设计,掌握

2、了以下内容:面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用类、包、接口的定义与使用。常用工具类与算法的实现(数组、向量、字符串、链表),java.awt、javax.swing中常用标准GUI组件及相应的事件处理,Java的异常处理机制,Java的数据库连接技术,Java的多线程技术与动画制作以及Java的网络编程。游戏规则是:各个参与者设法使自己的牌达到总分21而不超过这个数值。2.设计思路本游戏选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。在要牌的过程中,如果所有的牌加起来超过21点

3、,玩家就输了叫爆掉(Bust),游戏也就结束了。假如玩家没爆掉,而庄家的总点数加起来大于21点后,那庄家就输了。假如庄家没爆掉,而玩家也没有爆掉,那么玩家就与庄家比点数大小,大为赢。一样的点数则庄家赢。3.设计结果与分析 当打开该小游戏时,打开游戏菜单里面的开始游戏,软件运行界面如下图 所示图2 主界面图3 玩家点数大于21点图4 玩家点数大于庄家点数图5 庄家点数大于玩家点数图6 继续要牌图7 玩家点数等于庄家点数4.设计体会该课程设计,除了全面系统的理解了JAVA面向对象编程原理的一般原理和基本实现方法。还把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的编程原理的知识强化,能够把

4、课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。以前对面向对象认识和概念是有点模糊的,现在通过自己动手做课程设计,从实践上认识了面向对象编程是如何通过对象来简化面向过程中的操作。课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意尽力寻找程序中存在的不足之处,进而使功能更加完善。在这次课程设计中,我就是按照实验指导的思想来完成。加深了理解21点游戏的内部功能及内部实现,培养实践动手能力和程序开发能力的目的。 当然在做课程设计要有很大的耐心,做的过程就是不断的调试修改调试过程,只有静下心来才能把问题解决。5.参考文献1 耿祥义,张跃平. Java2实用教程(第三版)M.

5、 北京:清华大学出版社,2004.5:37-103.2 美Herbert Schildt .Java参考大全M. 北京:清华大学出版社,2007.8:145-168.3 陈家兴.JAVA图形用户界面设计与实例M . 北京:冶金工业出版社,2005.2:75-89.4 张伟.Java程序设计实战训练M. 北京:人民邮电出版社,2005.7:97-105.5 孙卫琴.Java面向对象编程M . 北京:电子工业出版社,2009.5:123-156.6 美Deitel.Java.大学基础教程(第六版)M. 北京:电子工业出版社,2008.8:34-78.7 美迪特尔(Deitel.H.M).Java程

6、序设计教程M. 北京:清华大学出版社,2007.4:12-34.6.附录package sdf;import java.awt.*;import java.awt.event.*;import java.util.Random;public class Game extends Frame implements WindowListener, ActionListener Button st = new Button(开始游戏);Button yao = new Button(继续发牌);Button kai = new Button(开牌);Panel p = new Panel();Ran

7、dom r = new Random();Font f1 = new Font(楷体, Font.BOLD, 24);Image I = new Image13;int k = new int14;boolean bool = false, bol = false;int i, n, sum, w;public void paint(Graphics g) int x = 20;if (bool) for (i = 0; i 21) g.drawString(Sorry!你爆了, 300, 380);if (bol) if (sum w) g.drawString(恭喜你YOUWIN!, 20

8、0, 380); else if (sum = w)g.drawString(庄家和你一样大,所以庄家赢!, 200, 380);elseg.drawString(庄家比你大,YOULOST!, 200, 380);bol = false;String str;g.drawString(庄家的牌面点数是:, 250, 420);str = Integer.toString(w);g.drawString(str, 455, 420);public Game() super(21点小游戏);setSize(600, 500);setLocation(300, 100);setLayout(new

9、 BorderLayout();addWindowListener(this);setBackground(Color.lightGray);p.setBackground(Color.blue);p.add(st);st.addActionListener(this);p.add(yao);yao.addActionListener(this);p.add(kai);kai.addActionListener(this);add(South, p);I0 = Toolkit.getDefaultToolkit().getImage(a.jpg);I1 = Toolkit.getDefault

10、Toolkit().getImage(2.jpg);I2 = Toolkit.getDefaultToolkit().getImage(3.jpg);I3 = Toolkit.getDefaultToolkit().getImage(4.jpg);I4 = Toolkit.getDefaultToolkit().getImage(5.jpg);I5 = Toolkit.getDefaultToolkit().getImage(6.jpg);I6 = Toolkit.getDefaultToolkit().getImage(7.jpg);I7 = Toolkit.getDefaultToolki

11、t().getImage(8.jpg);I8 = Toolkit.getDefaultToolkit().getImage(9.jpg);I9 = Toolkit.getDefaultToolkit().getImage(10.jpg);I10 = Toolkit.getDefaultToolkit().getImage(j.jpg);I11 = Toolkit.getDefaultToolkit().getImage(q.jpg);I12 = Toolkit.getDefaultToolkit().getImage(k.jpg);setVisible(true);public static

12、void main(String args) Game g = new Game();public void windowActivated(WindowEvent e) public void windowClosed(WindowEvent e) public void windowClosing(WindowEvent e) e.getWindow().dispose();System.exit(0);public void windowDeactivated(WindowEvent e) public void windowDeiconified(WindowEvent e) publ

13、ic void windowIconified(WindowEvent e) public void windowOpened(WindowEvent e) public void actionPerformed(ActionEvent e) if (e.getSource() = st) kai.setEnabled(true);yao.setEnabled(true);w = Math.abs(r.nextInt() % 22);if (w 10) w = w + 10;bool = true;n = 2;for (i = 0; i 2; i+) ki = Math.abs(r.nextInt() % 13);if (e.getSource

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号