java游戏开发课程设计报告

时间:2024.3.31

JAVA游戏开发课程设计报告

题 目         网络益智游戏       

计算机科学与技术系

20##6

目  录

1 实践过程概述... 4

2 课程设计题目描述... 4

3 系统需求分析与设计... 4

3.1 系统需求分析... 4

3.2 系统设计... 4

4 系统测试和使用说明... 7

4.1 系统测试... 7

4.2 系统使用说明... 8

5 课程设计总结... 8

5.1 遇到的问题和解决方法... 8

5.2 心得体会... 9

6 参考文献... 9

7 附录... 10


网络益智游戏

1 实践过程概述

此次软件技术专业JAVA游戏开发课程设计于20##年6月在实验楼三楼机房进行,持续时间为两周。本次课程设计主要是利用所学的面向对象程序设计语言——JAVA来编写程序,实现特定功能,以加深对JAVA的理解。

2 课程设计题目描述

我们设计的网络益智游戏:是一台计算机做服务器产生一个随机数和随机字母,另一台计算机做客户端来猜。

3 系统需求分析与设计

3.1 系统需求分析

随着现在生活节奏的不断加快,现在许多的人们在工作之余,需要通过一些益智小游戏,来调节一下自己的情绪,释放一下自己的疲劳。而网络益智游戏正好符合人们的要求,它不需要你过多的去思考答案,只是轻松一下紧张的神经,放松一下心情,就像开心农场一样,在人们的工作之余调节一下。

3.2 系统设计

3.2.1 系统总体设计

系统功能分析

本系统要用到以下的Java编程技术实现的功能:

① 网络功能:这一程序将由一个服务器程序和一个客户端程序构成。客户端用来猜测随机字母和随机数的大小。服务器用来产生随机字母和随机数,来确定是否猜中。

②多线程功能:当客户端要求与服务器端建立连接时,服务器端就将用到多线程功能,为每一个建立起来的连接创建一个线程。

3.2.2 程序详细设计

(1)程序框架

本系统的程序框架主要包括服务器端和客户端两部分。

服务器端

服务器端通过类和方法来产生随机字母和随机数,来判断客户端送过来的答案是否正确。

客户端

客户端通过类和方法来连接服务器,并把猜测的答案发送到服务器,并接受服务器判断之后的结果。

基本类的设计:

Server类

Server服务器类,其中定义了6个成员变量和5个成员方法。serv变量用于存储套接字,port变量存储端口号,info数组存放接收到的数据包中的信息,rec变量存储接收到的数据包,snd变量存储要发送的数据包,msg变量存储要发送或提取出的信息。main()方法是主方法,用于创建套接字,选择要进行的游戏;guessZimu()方法用于进行猜字母游戏;guessPro()方法用于进行猜大小游戏;judge()方法用于判断试猜答案的匹配情况,并将结果返回给客户端;getZimu()方法是用来生成随机字母。

在main()方法中,首先将参数转化为端口号,据此创建一个套接字。然后等待客户端的数据包,收到的第1个数据包中包含的是该客户端的IP地址,将其输出。接着,就开始与客户端进行交互。先发送消息,让客户端选择要玩的游戏,客户端将作出的选择封装在数据包中发回。如果客户但回复的是“quit”指令,则终止程序,关闭套接字;如果是“1”,代表选择猜字母游戏,调用guessZimu()方法;如果是“2”,代表选择猜大小游戏,调用guessPro()方法。

GuessZimu()方法是进行猜数字的游戏,先调用getZimu()方法,生成一个随机字母,并输出。游戏者有10次试猜机会,每次接收到包含试猜答案的数据包后,都先把试猜答案输出,再调用judge()方法判断答案的匹配情况。如果答案完全匹配,返回答案正确的提示信息,否则继续进行游戏。如果超过10次未猜对,也结束游戏,并向客户端返回正确答案。

judge()方法是判断试猜答案与正确答案匹配情况的方法,组合答案匹配情况的信息,存储到字符串msg中,并封装到数据包发送给客户端。如果答案完全匹配,则返回1,否则返回0。

getZimu()方法是用来生成随机数序列的,它创建了一个Random类对象,并调用它的nextInt()方法来生成随机数。每次生成的随机数,都要与已生成随机数比较,如果有重复,则重新生成,直到不与已生成的随机数重复。

guessPro()方法是用来进行猜大小游戏的,它创建了一个Random类对象,并调用它的nextInt()方法来生成一个0~100之间的随机数,存放到num变量中,并输出。游戏者有10次试猜机会,每次接收到包含试猜答案的数据包后,都先把试猜答案输出,再将其转化为int型数与num比较大小,根据大小情况向客户端返回相应提示信息,同时也在服务器端输出。如果答案完全匹配,返回答案正确的提示信息,否则继续进行游戏。如果超过10次未猜对,也结束游戏,并向客户端返回正确答案。

Client类

Client类其中定义了10个成员变量和4个成员方法。serv变量用于存储套接字,port变量存储端口号,info数组存放接收到的数据包中的信息,rec变量存储接收到的数据包,snd变量存储要发送的数据包,msg变量存储要发送或提取出的信息,localHost变量存储本地主机的IP地址,host变量存储服务器的IP地址,IP变量是服务器IP地址的字符串形式,IPAddr数组是服务器IP地址的字节数组形式。main()方法是主方法,用于创建套接字,选择游戏,控制程序的终止;playGuessZimu()方法是进行猜字母游戏的方法;playGuessPro()方法是进行猜大小游戏的方法;toIPAddr()方法用于将字符串形式的IP地址转换为字节数组形式。

在main()方法中,首先调用toIPAddr()方法,将存储服务器IP地址第1个参数,转存到字节数组中,再把第2个参数转化为端口后,据此创建一个套接字和存储服务器地址的InetAddress类对象host。然后调用InetAddress类对象的getLocalHost()方法,获得本机IP地址,并传送给服务器,告知服务器要加入游戏。然后,接收服务器发来的数据包,根据其中的提示信息,选择游戏或退出程序。如果输入的是“quit”指令,则终止程序,关闭套接字;如果输入的是1,选择玩猜字母游戏,调用playGuessZimu()方法;如果输入的是2, 选择玩猜大小游戏,调用playGuessPro()方法。

playGuessZimu()方法负责猜字母游戏的发送和接收,每次试猜,它都完成以下过程:将键盘键入的数据封装到数据包,发送给服务器,再接收服务器的回复。提取其中的匹配情况信息,并输出,再把存储试猜次数的cnt变量加1。如果完全匹配,输出答案正确的提示信息,终止游戏,否则继续游戏。如果已经试猜10次,将服务器返回的正确答案输出,再终止游戏。

playGuessPro()方法负责猜大小游戏的发送和接收,其运行与处理过程与playGuessZimu()方法类似。

toIPAddr()方法将一个存储IP地址的字符串转化为字节数组。它从字符串的尾部开始向前搜索,在遇到“.”号前所搜索到的数字都是属于IP地址的某一段,将它累加到变量t中。直到遇到“.”号,将t清零后重新开始累加。

4 系统测试和使用说明

4.1 系统测试

使用JDK运行程序时,将server子目录和 client子目录下分别放在两台计算机上。分别用来做服务器和客户端。

在服务器端的计算机上打开一个DOS窗口,使用命令:Javac Server .java  用来编译服务器上的源代码。

使用命令: java Server 6666  运行服务器程序Server,启动服务器端,DOS窗口显示:网络益智游戏——服务器,如图5所示:

图5 服务器运行界面

在另一台客户端的计算机上打开另一个DOS窗口,输入命令: javac Client.java 进行编译

然后输入命令:java Client 192.168.0.72 6666

运行第客户端程序,Client执行后,windows窗口会显示如图6所示:

图6 客户端程序的运行界面

4.2 系统使用说明

由于字母和数字都是随机产生的,我们猜测字母的时候只能依靠我们子的运气去随机猜测,猜数字大小的时候,我们可以根据服务器给我们发过来的信息,来猜测。

5 课程设计总结

5.1 遇到的问题和解决方法

在用JAVA编写程序时,我遇到了很多困难,如怎样用Socket类实现客户端和服务器端的通信,怎样来把字符串转换为一个个的字符。通过查阅相关书籍以及在网上搜索资料,我们了解到要使用java.net类中的MessageListenning来负责侦听客户端的消息,使用Thread类创建线程接收客户端发出的消息,使用MulticastSendingThreas类向客户端广播消息。在本系统中,我们用到了前者。设计是以Java独立应用程序来实现的,程序中要捕获异常,就要用到多种捕获异常类,这些类是在J2SE编程环境下自动引入的java.lang包类的异常类。

5.2 心得体会

在这次的面向对象程序设计中,我主要运用了JAVA语言的多线程、异常处理、网络传输等,综合运用了JAVA语言。我深刻感受到了面向对象语言中类库的强大功能,掌握了运用JAVA中的类实现某些基本功能,并学会了自己查询使用类的方法,为以后的面向对象语言的自学奠定了基础。这次设计中,再一次让我感受到了网络通信中服务器和客户相互通信的特点,同时也加深了对网络通信知识的理解。

通过这次为时二周的课程设计,我学到了很多的东西,下面就这在这次课程设计中的心得体会总结如下:

在这次的面向对象程序设计中,主要是运用JAVA语言来编写,并可运用其他的技术。在我的系统中,还采用了多线程、异常处理、网络传输等技术,而这些知识都是我们没有学过的,这就要求我们去查阅相关书籍。正因为这样,才锻炼了我的自学能力,为以后的学习打下了基础。

这次设计中,我深刻感受到了面向对象语言中类库的强大功能,掌握了运用JAVA中的类实现某些基本功能,并学会了自己查询使用类的方法,为以后的面向对象语言的自学奠定了基础。同时,我也感受到了网络通信中服务器和客户相互通信的特点,加深了对网络通信知识的理解,拓宽了我的知识面。

通过二周的努力,这次课程设计圆满的结束了,在这个过程中,我学到了很多的知识,同时也非常感谢杭志老师帮助与指导。在以后的学习中,我会更加努力的学好专业知识,并将所学知识用于实践当中去,以便牢固掌握知识。

6 参考文献

[1] 陆光义,先锋.Java游戏编程导学.北京:清华大学出版社,2004

[2] 飞思科技产品研发中心.精通Java.北京:电子工业出版社,2004

[3] 朱福喜等.Java项目设计与开发范例.电子工业出版社,2005

[4] Robert C.Martin 著,黄晓春译.UML FOR JAVA PROGRAMMERS.清华大学出版社,2004

7 附录

(1)基本类的程序代码:

① Server类的代码:

import java.net.*;

import java.io.*;

import java.util.*;

import java.lang.String.*;

// 服务器类

public class Server{

      // 存储套接字

      static DatagramSocket serv;

      // 存储端口号

      static int port;

      // 存放接收到的数据包中的信息

      static byte[] info = new byte[1000];

      // 存储接收到的数据包

      static DatagramPacket rec = new DatagramPacket(info, info.length);

      // 存储要发送的数据包

      static DatagramPacket snd;

      // 存储要发送或提取出的信息

      static String msg;

      // 主方法

      public static void main(String[] args) {

             System.out.println("网络益智游戏——服务器");

             try {

                    // 将第1个参数转化为端口号

                    port = (int)Float.parseFloat(args[0]);

                    // 创建套接字

                    serv = new DatagramSocket(port);

                    // 等待客户端连接

                    serv.receive(rec);

                    // 输出加入游戏的计算机的IP地址

                    msg = new String(rec.getData(), 0, rec.getLength());

                    System.out.println(msg + "加入游戏");

                    while(true) {

                           // 发送消息,让客户端选择要玩的游戏

                           msg = "请选择游戏:1.猜字母  2.猜大小";

                           // 数据封装

                           byte[] buf = msg.getBytes();

                           snd = new DatagramPacket(buf, buf.length, rec.getAddress(), rec.getPort());                         serv.send(snd);

                           // 发送

                           serv.receive(rec);

                           // 接收客户端的回复

                           msg = new String(rec.getData(), 0, rec.getLength());

                           // 如果是“quit”指令,终止程序

                           if (msg.compareTo("quit") == 0) {

                                  break;

                           }

                           // 如果是“1”,选择猜数字游戏

                           if (msg.compareTo("1") == 0) {

                                  guessZimu();

                           }

                           // 是“2”,选择猜大小游戏

                           else {

                                  guessPro();

                           }

                    }

                    // 关闭套接字

                    System.out.println("断开连接……");

                    serv.close();

             } catch(SocketException se) {

                    se.printStackTrace();

             } catch(IOException ie) {

                    ie.printStackTrace();

             }

      }

      //猜字母游戏的方法

        static void guessZimu(){

                 //储存生成的随机字母

                 char zimu;

                 //储存客户端发送来的答案

               char ans=0;

                 int i;

                 System.out.println("开始进行猜字母游戏……");

                 //生成随机的字母

                 zimu=getZimu();

                 //输出生成的随机字母

                 System.out.println(zimu + " ");

                 System.out.println(ans + " ");

                 //进行游戏

                 for(i=1;i<=10;i++)

                 {

                   //接受客户端发来的数据包

                    try{

                         serv.receive(rec);

                 } catch(IOException ie){

                      ie.printStackTrace();                 

                   }

                  //数据包中提取答案

                   msg=new String(rec.getData(),0,rec.getLength());

                   char[] chars =msg.toCharArray();

                   ans=chars[0];

                  //输出答案

                  System.out.println("第"+i+"次的答案:" );

                  System.out.println(ans + " ");

                  // 调用judge()方法判断答案的匹配情况

                     if(judge(zimu,ans)==1){

                  //如果答案完全匹配,返回正确的提示信息

                    msg="恭喜你猜对了!";

                    System.out.println("答案正确");

                    byte[] buf=msg.getBytes();

                    snd=new DatagramPacket(buf,buf.length,rec.getAddress(),rec.getPort());

                    try{

                          serv.send(snd);}

                     catch(IOException ie){

                               ie.printStackTrace();}

                      break;

                    }

          }

           //如果超过10次未猜对,结束游戏

             if(i>10){

                       //生成正确的答案

            char[] n=new char[1];

            String str=new String(n);

           //返回游戏结束的提示信息

             msg="没机会了,正确答案是:"+ str;

             System.out.println("游戏结束");

             byte[] buf=msg.getBytes();

             snd=new DatagramPacket(buf,buf.length,rec.getAddress(),rec.getPort());

             try{

                  serv.send(snd);

                }

              catch(IOException ie){

                    ie.printStackTrace();

                }

            }   

       }

        // 猜大小游戏的方法

      static void guessPro() {

             int num, i, j, t;

             System.out.println("开始进行猜大小游戏……");

             Random rnd = new Random();

             // 生成一个0~100的随机数(不含100)

             num = rnd.nextInt(100);

             // 输出生成的随机数

             System.out.println("生成的随机数:" + num);

             try {

                    // 进行游戏

                    for (i = 1; i <= 10; i++) {

                           // 接收客户端发来的数据包

                           serv.receive(rec);

                           // 提取其中的答案

                           msg = new String(rec.getData(), 0, rec.getLength());

                           // 将其转化为整数形式

                           t = (int)Float.parseFloat(msg);

                           // 输出答案

                           System.out.print("第" + i + "次的答案:" + msg + " ");

                           // 根据不同情况,返回相应的信息

                           if (t < num) {

                                  msg = "小了,再大点!";

                           }

                           else if (t > num) {

                                  msg = "大了,再小点!";

                           }

                           else {

                                  msg = "恭喜你猜对了!";

                           }

                           System.out.println("结果:" + msg);

                           // 数据封装

                           byte[] buf = msg.getBytes();

                           snd = new DatagramPacket(buf, buf.length, rec.getAddress(), rec.getPort());

                           // 发送

                           serv.send(snd);

                           // 如果答案正确,输出提示信息,终止游戏

                           if (t == num) {

                                  System.out.println("答案正确");

                                  break;

                           }

                    }

                    // 如果超过10次未猜对,也终止游戏

                    if (i > 10) {

                           // 生成正确答案

                           char[] n = new char[2];

                           n[0] = (char)(num / 10 + 48);

                           n[1] = (char)(num % 10 + 48);

                           String str = new String(n);

                           msg = "没有机会了,正确答案是:" + str;

                           System.out.println("游戏结束");

                           byte[] buf = msg.getBytes();

                           snd = new DatagramPacket(buf, buf.length, rec.getAddress(), rec.getPort());

                           serv.send(snd);

                    }

             } catch(IOException ie) {

                    ie.printStackTrace();

             }

      }

        //判断答案匹配情况的方法

         static char judge(char zimu,char ans){

             int a=2;

        if(ans==zimu){

                         a--;

                      }

         else

              {msg="你答错了";

        byte[] buf=msg.getBytes();

        snd=new DatagramPacket(buf,buf.length,rec.getAddress(),rec.getPort());

        try{

            serv.send(snd);

           }catch(IOException ie)

              {

               ie.printStackTrace();

              }

         }

         //如果答案匹配,则返回1

         if(a==1){

                  return 1;

                 }

         //否则返回0

          else{

                return 0;   

              }

}

      // 生成随机数的方法

      static char getZimu()

            {

             // zimu数组存储生成的随机数

             Random random = new Random();

             int r=0;

                 r=random.nextInt(57)+65;

                while(r>90&&r<97||r==0)

                 r=random.nextInt(57)+65;

                 char zimu=(char)r;

               return zimu;

             }

}

       

② Client类的代码:

import java.net.*;

import java.io.*;

// 客户端类

public class Client{

      // 存储套接字

      static DatagramSocket client;

      // 存储端口号

      static int port;

      // 存放接收到的数据包中的信息

      static byte[] info = new byte[1000];

      // 存储接收到的数据包

      static DatagramPacket rec = new DatagramPacket(info, info.length);

      // 存储要发送的数据包

      static DatagramPacket snd;

      // 存储要发送或提取出的信息

      static String msg;

      // localHost变量存储本地主机的IP地址

      // host变量存储服务器的IP地址

      static InetAddress localHost, host;

      // 服务器IP地址的字符串形式

      static String IP;

      // 服务器IP地址的字节数组形式

      static byte[] IPAddr = new byte[4];

     

      // 主方法

      public static void main(String[] args) {

             System.out.println("网络益智游戏——客户端");

             try {

                    // 第1个参数为服务器IP地址,将其转存到字节数组中

                    IP = args[0];

                    toIPAddr();

                    port = (int)Float.parseFloat(args[1]);

                    // 获得服务器IP地址

                    host = InetAddress.getByAddress(IPAddr);

                    // 获得本机IP地址

                    localHost = InetAddress.getLocalHost();

                    // 创建套接字

                    client = new DatagramSocket(port);

                    // 将本机IP地址传送给服务器

                    msg = localHost.getHostAddress();

                    // 数据封装

                    byte[] buf = msg.getBytes();

                    snd = new DatagramPacket(buf, buf.length, host, port);

                    // 发送

                    client.send(snd);

                    while (true) {

                           // 接收服务器的发送来的数据包

                           client.receive(rec);

                           // 从数据包中提取消息并输出

                           msg = new String(rec.getData(), 0, rec.getLength());

                           System.out.println(msg);

                           // 选择要玩的游戏,并告知服务器

                           BufferedReader bufRdr = new BufferedReader(new InputStreamReader(System.in));

                           System.out.print("请输入:");

                           msg = bufRdr.readLine();

                           buf = msg.getBytes();

                           snd = new DatagramPacket(buf, buf.length, host, port);

                           client.send(snd);

                           // 如果输入的是“quit”指令,终止程序

                           if (msg.compareTo("quit") == 0) {

                                  break;

                           }

                           // 如果输入的是1,选择玩猜字母游戏

                           if (msg.compareTo("1") == 0) {

                                  playGuessZimu();

                           }

                           // 如果输入的是2, 选择玩猜大小游戏

                           else {

                                  playGuessPro();

                           }

                    }

                    // 关闭套接字

                    System.out.println("断开连接……");

                    client.close();

             } catch(UnknownHostException ue) {

                    ue.printStackTrace();

             } catch(SocketException se) {

                    se.printStackTrace();

             } catch(IOException ie) {

                    ie.printStackTrace();

             }

      }

     

      // 进行猜字母游戏的方法

      static void playGuessZimu() {

             System.out.println("开始进行猜数字游戏……");

             // 记录试猜的次数

             int cnt = 0;

             try {

                    do {

                           // 输入本次试猜的答案

                           BufferedReader bufRdr = new BufferedReader(new InputStreamReader(System.in));

                           System.out.print("第" + (cnt+1) + "次试猜:");

                           msg = bufRdr.readLine();

                           // 数据封装

                           byte[] buf = msg.getBytes();

                           snd = new DatagramPacket(buf, buf.length, host, port);

                           // 发送

                           client.send(snd);

                           // 接收服务器的回复

                           client.receive(rec);

                           // 提取答案匹配情况

                           msg = new String(rec.getData(), 0, rec.getLength());

                           // 输出答案匹配情况

                           System.out.println("结果:" + msg);

                           // 试猜次数加1

                           cnt++;

                           // 如果完全匹配,输出答案正确的提示信息,终止游戏

                           if (msg.compareTo("恭喜你猜对了!")==0) {

                                 

                                  if (cnt <= 3) {

                                         System.out.println("你真是个天才!");

                                  }

                                  else if (cnt <= 6) {

                                         System.out.println("还不错,是个人才!");

                                  }

                                  else if (cnt <= 8) {

                                         System.out.println("还将就,你赢了!");

                                  } else {

                                         System.out.println();

                                  }

                                  break;

                           }

                           // 如果已经试猜10次,也终止游戏

                           else if (cnt == 10) {

                                  client.receive(rec);

                                  msg = new String(rec.getData(), 0, rec.getLength());

                                  System.out.println(msg);

                                  break;

                           }

                    } while (true);

             } catch(IOException ie) {

                    ie.printStackTrace();

             }

      }

     

      // 进行猜大小游戏的方法

      static void playGuessPro() {

             System.out.println("开始进行猜大小游戏……");

             // 记录试猜的次数

             int cnt = 0;

             try {

                    while (true) {

                           // 输入本次试猜的答案

                           BufferedReader bufRdr = new BufferedReader(new InputStreamReader(System.in));

                           System.out.print("第" + (cnt+1) + "次试猜:");

                           msg = bufRdr.readLine();

                           // 数据封装并发送

                           byte[] buf = msg.getBytes();

                           snd = new DatagramPacket(buf, buf.length, host, port);

                           client.send(snd);

                           // 接收服务器的回复

                           client.receive(rec);

                           // 提取信息并输出

                           msg = new String(rec.getData(), 0, rec.getLength());

                           System.out.print(msg);

                           // 试猜次数加1

                           cnt++;

                           // 如果猜对了,输出答案正确的提示信息,终止游戏

                           if (msg.compareTo("恭喜你猜对了!") == 0) {

                                  if (cnt <= 3) {

                                         System.out.println("你真是个天才!");

                                  }

                                  else if (cnt <= 6) {

                                         System.out.println("还不错,是个人才!");

                                  }

                                  else if (cnt <= 8) {

                                         System.out.println("还将就,你赢了!");

                                  } else {

                                         System.out.println();

                                  }

                                  break;

                           }

                           // 如果已经试猜10次,也终止游戏

                           else if (cnt == 10) {

                                  client.receive(rec);

                                  msg = new String(rec.getData(), 0, rec.getLength());

                                  System.out.println();

                                  System.out.println(msg);

                                  break;

                           }

                           System.out.println();

                    }

             } catch(IOException ie) {

                    ie.printStackTrace();

             }

      }

      // 将字符串形式的IP地址转换为字节数组形式

      public static void toIPAddr() {

             int i, j, t, q;

             char ch;

             t = 0;

             q = 1;

             j = 3;

             i = IP.length() - 1;

             do {

                    ch = IP.charAt(i);

                    // 遇到"."符号说明已经获得了IP地址中某一段的值

                    if (ch == '.') {

                           IPAddr[j] = (byte)t;

                           j--;

                           t= 0;

                           q = 1;

                    }

                    // 否则继续累加

                    else {

                           t = t + (int)(ch - 48) * q;

                           q = q * 10;

                    }

                    i--;

             } while (i >= 0);

             IPAddr[j] = (byte)t;

      }

}

更多相关推荐:
打砖块游戏课程设计报告

目录第1章程序设计专题目的与要求111程序设计目的112程序设计的实验环境113程序设计的预备知识114程序设计要求1第2章程序设计内容221概要设计222程序整体设计说明223程序部分源代码及注释824测试结...

24点游戏课程设计报告

目录123基本功能描述2设计思路2软件设计431设计步骤432界面设计533关键功能实现6331发牌功能的实现6332计时功能的实现7333计算功能的实现7334验算功能的实现94567结论与心得体会9参考文献...

连四游戏课程设计报告

第1章引言1第2章任务概述121问题概述1211问题重述1212设计目的122需求分析1221基本要求1222游戏功能介绍123编程语言概述124编程环境概述1第3章概要设计231功能设计232程序结构233基...

游戏24点课程设计报告

游戏24点课程设计报告一题目分析类计算24点任意输入4位数字利用四则运算使之得到结果24输出所有不同算法的计算表达式可为运算优先级而使用括号二问题分析1全面性此问题要求输出结果为24的计算表达式并且要求输出要全...

java_扫雷游戏课程设计报告

滨江学院20xx20xx学年第2学期数字图像处理课程论文专业姓名学号20xx年06月05日设计通信编程课程论文Java设计扫雷游戏王李超20xx2334038南京信息工程大学滨江学院电子工程系南京210041设...

FLASH页面游戏课程设计报告

FLASH页面游戏课程设计报告第一章绪论11课题背景意义随着社会的不断发展人们的生活水平在不断地提高网络游戏也越来越多的融入到人们的生活中去游戏的出现带来了网络上的优势扩宽了人们平时玩的传统游戏的界限给人们带来...

动画与游戏设计 课程设计报告

动画与游戏开发课程报告学号1111020xx103姓名张慧专业班级11级计科本01班日期电子信息工程学院1目录一课程内容及应用领域11基于DirectX的粒子系统3111粒子系统简介3112广告板技术3113粒...

C++程序课程设计报告_21点游戏

随机数枚举类型C面向对象程序设计课程设计报告设计题目21点游戏学生学号学生姓名专业班级学生成绩指导教师医药信息工程学院图像处理与多媒体教研室20xx1一设计任务分析121点游戏介绍21点游戏是一个古老的#9@k游戏...

JAVA课设报告书—扫雷游戏

Java程序设计实验报告2(弹球游戏)[1]1

Java语言程序设计课程设计实习报告题目学号姓名一实验目的1掌握Swing图形用户界面编程以及事件处理等掌握java绘图技术2掌握多线程编程的基本原理能使用RunnableExecutorService等接口进...

扫雷游戏课程设计报告

一需求分析题目32实现一个NM的扫雷游戏设计要求能够实现一个NM的扫雷游戏a能够打开一个方格由于做的是静态显示故在控制台上方格用代替已打开的方格不能关闭b能够标记一个方格标记方格的含义是对该方格有雷的预测并不表...

游戏程序设计课程报告

游戏程序设计姓名班级学号游戏引擎杜维计科三班320xx05030302游戏引擎概述自DOOM游戏出现以来游戏产业的发展非常迅猛因此DOOM不仅仅是一款优秀的游戏它同时也创造了一种全新的游戏开发方式游戏引擎它是采...

游戏课程设计报告(36篇)