Java课程设计报告-21点小游戏

上传人:大米 文档编号:511147711 上传时间:2024-01-15 格式:DOC 页数:13 大小:544KB
返回 下载 相关 举报
Java课程设计报告-21点小游戏_第1页
第1页 / 共13页
Java课程设计报告-21点小游戏_第2页
第2页 / 共13页
Java课程设计报告-21点小游戏_第3页
第3页 / 共13页
Java课程设计报告-21点小游戏_第4页
第4页 / 共13页
Java课程设计报告-21点小游戏_第5页
第5页 / 共13页
点击查看更多>>
资源描述

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

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

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

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

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

5、参考文献1 耿祥义,跃平. Java2实用教程第三版M. :清华大学,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程序设计教程M. :

6、清华大学,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();Random r = new Ra

7、ndom();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!, 200, 380); else

8、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 BorderLayout(

9、);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.getDefaultToolkit().getI

10、mage(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.getDefaultToolkit().getImage(8

11、.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 void main(Stri

12、ng 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) public 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);

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

当前位置:首页 > 建筑/环境 > 施工组织

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