免费论文网 首页

打字小游戏JAVA实验总结及心得体会

时间:2016-12-21 07:19:51 来源:免费论文网

篇一:扫雷游戏实验报告

课程设计

班 级: 姓 名: 学 号: 指导教师: 成 绩: 电子与信息工程学院信息与通信工程系

目录

1.任务概述------------------------------------3

2.功能及模块设计------------------------------3

3.数据结构与算法设计--------------------------4

4.程序描述------------------------------------6

5.设计感想------------------------------------9

6.参考文献------------------------------------10 附录1 程序源码--------------------------------10

1.任务概述

1.1设计题目

扫雷游戏

1.2规则要求

1) 图形用户界面。

2) 类似 windows 附件的扫雷游戏。

3) 其余功能自行扩展。

1.3目标

锻炼自学能力、办公软件操作能力、程序设计能力、培养学生的编程思想、编程兴趣。

1.4运行环境

Java , esclipse

1.5条件与限制

1)图形界面美观大方。

2)功能必须正确,扩展功能自行丰富。

3)程序设计要注意健壮性。

2.功能及模块设计

2.1具体的功能介绍

过程分析:在屏幕中显示一个雷区,雷区范围内预先埋设了一定数量的随机分布的地雷;玩家可以对雷区进行标记,如果能正确标记出雷区中的所有地雷,则游戏胜利;如果踩雷,则游戏失败。

1)开局:开局默认初级难度,有三个难度供选择-初级:12*12、中级:15*15、高级:20*20;各级地雷数分别为:10,25,50;雷区每个方块下或有地雷,或者没有地雷;

2)挖雷:将鼠标移动到某个方格上,并点击鼠标左键,可挖开它;若所揭开方块下有雷,则游戏失败;如果没有雷,则显示数字,数字为这个方格周围八个方格的雷的数目。

3)标记地雷:在鼠标所在的某个方格上右击一次或两次,则标记该区域;一次表示

认为此区域有雷,两次表示不确定这个区域是否有雷。每标记一个区域,则显示的地雷数减1。

4)判断胜负:如果挖出了其它所有无雷区,或者标记出了所有的雷区,则游戏胜利。如果在游戏中挖到任何地雷则游戏失败。

2.2软件模块划分

表1-1

1)选择游戏难度

2)重新开始按钮

3) 存放未找到的雷的个数

4)雷区

3.数据结构与算法设计

3.1数据结构

在存放雷区信息时用到了二维数组。

3.2算法

3.2.1 随机函数

随机布雷扫雷游戏要求在M 行、N 列的一块网格游戏区内随机地布上MineNum 个雷,

且MineNum 的取值应该小于M 和N 的乘积。这可以在一张M×N 的网格上通过满足均匀分布的随机算法实现。其中有MineNum 个网格是雷区,剩下的网格为非雷区。游戏的目标是尽可能快地找到所有的雷区,而不踩到地雷。JAVA 提供了实现随机算法的类Math,通过Math 类的random () 方法,这可以很方便的实现随机布雷功能。这可以通过以下的代码实现随机布雷算法。

for (int i = 0; i < mineNum; ) {

int x = (int) (Math.random() * (int) (Math.sqrt(BlockNum) - 1)); int y = (int) (Math.random() * (int) (Math.sqrt(BlockNum) - 1));

if (mineButton[x][y].isMine != true) {

mineButton[x][y].isMine = true;

i++;

}

}

3.2.2计算点击位置周围雷的数目

扫雷游戏中相邻的九个格子关系密切,因此需要一个简便的算法对这九个格子进行遍历。

可以用以下算法来实现:

for (int x = i - 1; x < i + 2; x++) {

for (int y = j - 1; y < j + 2; y++) { if ( ( (x != i) || (y != j)) && (x >= 0) && (y >= 0)

篇二:21点游戏实验报告

实验一

一、实验目的 21点游戏

1.掌握使用Java语言进行结构化程序设计;

2.熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先

级,熟悉使用Java的选择语句,循环语句。

3.熟悉Eclipse开发环境,编写简单的Application程序,并编译和执行。

二、实验要求

1.调试程序、编译,运行后得到正确的结果;

2.写出实验报告,要求记录编译和执行Java程序当中的系统错误信息提示,并给出解

决办法。

三、实验环境

1.计算机一台;

2.JDK、MyEclipse工具软件。

四、实验内容

编写并运行21点游戏。

具有菜单形式的界面

掌握Random类基本用法

设计胜负判定算法

五、实验步骤

1.了解21点游戏的基本规则

2.用0到53代表52张扑克牌

3.完成洗牌发牌模块

4.设计胜负判定算法

六、实验结果

源代码为:

package youxi21dian;

import java.util.Scanner;

import java.util.Random;

public class Dian21 {

/** * @param args */

static int bb[]=new int[52];

static String aa[]=new String[52];

static Scanner s=new Scanner(System.in);

static Random r=new Random();

static int s1=0,s2=0,p=0;

//同意发排,s1,s2表示甲方和乙方的最后点数

public static void main(String[] args) { // TODO Auto-generated method stub for(int i=0;i<52;i++)bb[i]=i%13+1;for(int i=0;i<13;i++) aa[i]="红桃"+(i+1);for(int i=13;i<26;i++) aa[i]="黑桃"+(i%13+1);for(int i=26;i<39;i++) aa[i]="方片"+(i%13+1);for(int i=39;i<52;i++) aa[i]="梅花"+(i%13+1); System.out.println("欢迎使用游戏21点!"); System.out.println("请选择盘点方:0甲方,1 乙方!"); int f=s.nextInt(); if(f==0)System.out.println("您为: 甲方; 对方为: 乙方!"); else System.out.println("您为: 乙方; 对方为: 甲方!"); xipai(); System.out.println("现在开始发牌!"); int j=1,y=1; fapai(j,y); while(j==1||y==1){System.out.println("如果需要发牌请按1!若不需要请按0!"); System.out.print("甲方请选择:"); int a=s.nextInt();j=a; System.out.print(" 乙方请选择:"); int b=s.nextInt();y=b; System.out.println(""); fapai(j,y);

} System.out.println("结果为:"); result(); } //洗牌

public static void xipai(){

int t;String l; for(int m=0;m<1000;m++){ int i=r.nextInt(51);

t=bb[i];bb[i]=bb[51-i];bb[51-i]=t;

l=aa[i];aa[i]=aa[51-i];aa[51-i]=l;

}

}

//发牌

public static void fapai(int j,int y){

}

//结果

public static int result(){

System.out.print("甲方点数为: "+s1); if(j==1){ System.out.print("甲方为: "); System.out.print(aa[p]); System.out.println(" "+"点数为:"+" "+bb[p]); s1=s1+bb[p++]; } else System.out.println("甲方不需要发牌!"); if(y==1){ System.out.print("乙方为: "); System.out.print(aa[p]); System.out.println(" "+"点数为:"+" "+bb[p]); s2=s2+bb[p++]; } else System.out.println("乙方不需要发牌!");

System.out.println(" 乙方点数为: "+s2); if(s1>21&&s2>21){System.out.println("双方点数均超过21点,都被爆掉了! 平局!");return 0;}

if(s1>21&&s2<=21){System.out.println("甲方点数超过21点,被爆掉了! 乙方胜!");return 0;}

if(s2>21&&s1<=21){System.out.println("乙方点数超过21点,被爆掉了!甲方胜!");return 0;}

}

}

结果为:

欢迎使用游戏21点!

请选择盘点方:0甲方,1 乙方!

1

您为: 乙方; 对方为: 甲方!

现在开始发牌!

甲方为: 梅花13 点数为: 13

乙方为: 梅花12 点数为: 12

如果需要发牌请按1!若不需要请按0!

甲方请选择:1

乙方请选择:1

甲方为: 梅花11 点数为: 11

乙方为: 红桃4 点数为: 4

如果需要发牌请按1!若不需要请按0!

甲方请选择:0

乙方请选择:0

甲方不需要发牌!

乙方不需要发牌!

结果为:

甲方点数为: 24 乙方点数为: 16

甲方点数超过21点,被爆掉了! 乙方胜! if(s2>s1){System.out.println("乙方胜!");return 0;}else if(s2==s1){System.out.println("平局!");return 0;}else {System.out.println("甲方胜!");return 0;}

篇三:实训报告书

实训报告书

实训名称: JAVA扫雷小游戏

系 (部):信息工程系

专业班级:

学生姓名:

学号:

指导教师:张民 完成日期:

山东科技大学泰山科技学院

[键入文字]

……

……

……

…目 录 1 实训目的 ................................................................................................. 1 2 扫雷游戏系统的分析与设计 .............................................................. 1 …

…装

……

……

……3

……

…4 …

…5 …

订…

……

……

……

……

……

…线

……

……

……

……

……

2.1 系统功能描述 ............................................................................ 1 2.2 系统模块设计 ............................................................................ 1 主要代码清单....................................................................................... 3 程序运行与测试 ................................................................................ 11 实训总结 ........................................................................................... 112

课程实训报告书

扫雷游戏系统的设计与实现

1 实训目的

随着社会的不断进步,人们所承受的压力不断上升,在游戏层出不穷的时刻,扫雷游戏仍受到不少人的青睐,其本身的性质,决定了人们对它的喜爱程度,不需要特殊的技巧,不需要不断地升级,不需要太多的时间进行初步的熟悉,简简单单却乐趣无穷。

2 扫雷游戏系统的分析与设计

2.1 系统功能描述

(1)该游戏具有计时功能,即扫完全部地雷所花费的时间。

(2)用户可以选择是否有音效。 (3)用户可以自定义级别,还可以输入任意地雷数。

(4)自动保存扫雷排行榜。

2.2 系统模块设计

系统的整体布局为:CardLayout布局,采用菜单、按钮、面板??等组件,菜单项主要有开始,选择级别,自定义,标记,声音,扫雷排行榜,退出,按钮的功能是重新开始游戏(可以选择游戏菜单里的开局,也可以点击企鹅图标重新开始游戏)。

2.3 数据库结构设计

系统结构图

1

系统流程图

3 主要代码清单

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Frame

extends JFrame {

JTextField text;

JLabel nowBomb, setBomb;

int BombNum, BlockNum; // 当前雷数,当前方块数

int rightBomb, restBomb, restBlock; // 找到的地雷数,剩余雷数,剩余方块

2


打字小游戏JAVA实验总结及心得体会
由:免费论文网互联网用户整理提供,链接地址:
http://m.csmayi.cn/show/126804.html
转载请保留,谢谢!
相关阅读
最近更新
推荐专题