《java游戏大作业设计》

合集下载

《Java程序设计》课程标准

《Java程序设计》课程标准

《Java程序设计》课程标准课程名称:Java程序设计课程代码:1669建议课时数:80(其中实践课时数:40)学分:5适用专业:软件技术课程归口单位:软件与服务外包学院一、前言(一)课程的定位本课程是计算机软件技术专业的一门专业核心课程,目标是使学生熟练运用面向对象的基本思想与方法和Java语言进行程序开发。

它要以《C语言程序设计》、《关系数据库基础与应用》等课程的学习为基础,也是进一步学习《Java Web应用开发》及《Java Web框架编程》打下良好的基础。

(二)设计思路本课程是依据“软件技术专业工作任务与职业能力分析表”中的B/S互联网应用开发和移动应用开发工作项目设置的。

其总体设计思路是,打破以知识传授为主要特征的传统学科课程模式,转变为以工作任务为中心组织课程内容,并让学生在完成具体项目的过程中学会完成相应工作任务,并构建相关理论知识,发展职业能力。

课程内容突出对学生职业能力的训练,理论知识的选取紧紧围绕工作任务完成的需要来进行,同时又充分考虑了高等职业教育对理论知识学习的需要,并融合了相关职业资格证书对知识、技能和态度的要求。

工作项目设计以Java程序员的岗位需求分析为主线来进行,梳理知识与技能的描述。

要求能使用Eclipse集成开发环境,熟练运用Java语言和Spring MVC技术进行程序开发;熟悉Java语法、面向对象的实现方法、JDBC访问、网络通信协议等知识。

本课程以任务驱动为主,采用线上线下混合教学模式,以五大学习任务为主。

学习任务以具体项目为载体,这些项目相互独立且递进的,融合了每个学习阶段任务中要求学生掌握的知识和技能,培养学生的实际编程能力。

在课程实施过程中注重培养学生的职业道德、合作意识、质量意识、服务意识以及学习意识等素养,使其符合企业需求的Java开发工程师应具备的职业素养。

该门课程的总学时为80课时,5学分。

2课程目标通过本课程的学习,学生理解类层次、对象及对象之间的关系,熟悉并能使用Eclipse 集成开发环境,理解Eclipse开发环境的编译、运行方式;掌握面向对象的编程思维;熟悉应用程序开发的一般步骤;了解Java代码编写和文档符合规范,形成良好的编程习惯,养成良好的协作精神与服务意识的团队合作能力;熟悉程序调试、排错的方法。

《JAVA程序设计》大作业报告模板

《JAVA程序设计》大作业报告模板

华北科技学院计算机系课程综合作业实验报告课程名称JAVA程序设计实验学期2010 至2011 学年第 1 学期学生所在系部计算机年级08级专业班级信管B082学生姓名学号************ 任课教师实验成绩计算机系制《JAVA程序设计》课程综合作业实验报告学生的学号,可以更新这条记录中的数据;“查询记录”,输入要查询学生学号可以查询这个学生的所有信息;选择分数信息中的“各科最高低分”菜单,可以查询所有学科中的最高分和最低分;“总分平均分”显示所有学生的总分和平均分。

3.主要代码本程序使用Java中基于SWING的图形设计,用到java中的java.awt.*内的包,控件的布局用到java.swing.border.*包,事件处理用到java.awt.event.*,连接数据库用到java.sql 登录界面主要代图1public class denglu{public static void main(String args[]){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){ //11System.out.println(""+e);}new WindowBox("登录窗口"); //调用方法}}class WindowBox extends JDialog implements ActionListener{//声明Box baseBox,boxV1,boxV2,boxV3;JButton button1,button2;}}}如果出现用户名密码错误则会出现提示信息对话框图2通过调用Datawin类中的内容可以进入到主界面声明菜单中的显示、添加、删除、修改、查询、最高低分以及总分平均分菜单项和类,能过给菜单添加事件监听事件图3public void actionPerformed(ActionEvent e){if(e.getSource()==itemshow)show.setVisible(true);else if(e.getSource()==itemadd)add.setVisible(true);else if(e.getSource()==itemupdata)updata.setVisible(true);a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getString(3);a[k][3]=rs.getString(4);a[k][4]=rs.getString(5);a[k][5]=rs.getString(6);k++;}con.close();}catch(SQLException ee){System.out.println(ee);} //处理异常table=new JTable(a,name);getContentPane().removeAll(); //采用BorderLayout布局add(showRecord,BorderLayout.NORTH);add(new JScrollPane(table),BorderLayout.CENTER);validate();}图4构造增加类,声明组件,定义一个表名Object name[]={"学号","姓名","年龄","性别","系别","班级"};和定义一个表单Object a[][]=new Object[1][6];然后给按钮组件增加以下监听事件,通过对表单中输入数据进而增加到数据库中public void actionPerformed(ActionEvent e)//处理事件图5图6构造删除类,声明组件,在文本框中输入信息,进而可以删除数据库中相应的记录给文本框和按钮增加以下事件public void actionPerformed(ActionEvent e){if(e.getSource()==inputNumber){try{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM 学生信息 WHERExueid='"+num+"'");boolean boo=rs.next();if(boo==false){JOptionPane.showMessageDialog(this,"学号不存在",table.repaint();//重打印表con.close();}catch(SQLException ee){JOptionPane.showMessageDialog(this,"更新失败"+ee,"失败",JOptionPane.ERROR_MESSAGE);}}//if图7构造查询方法查询这个窗体整体彩盒式布局,首先声明类和方法设计窗体的外观,给相应的组件添加事件利用SQL语句查询数据库中的信息 rs=sql.executeQuery("SELECT * FROM 学生信息WHERE xueid='"+num+"'");如果输入学号数据库中不存在提示信息“学号不存在”,否则利用table.repaint();方法将数据库中的信息输入到窗体中的table中public void actionPerformed(ActionEvent e)//处理事件{try//连接数据原 hello{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");图8构造最高最低分类首先定义两个静态变量m,n;将数据库中的信息利用查询的方法显示在数字 int b[][]中,con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//只读形式rs=sql.executeQuery("SELECT * FROM 分数信息");st();利用如下方法求得语文成绩的最高分和最低分for(k=0;k<lastNumber;k++){if(m<b[k][0]){m=b[k][0];}if(n>b[k][0]){n=b[k][0];}}a[0][1]=m;a[1][1]=n;同理可以求得其它几科成绩的最高分和最低分然后,将object a[][]中的信息显示有窗体中图9构造总分平均分方法首先将数据库中的信息显示在利用SQL查询方法显示有两个数据中object a[][]和int b[][]中利用如下方法将求得总分和平均分try{con=DriverManager.getConnection("jdbc:odbc:hello","",""); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=sql.executeQuery("SELECT * FROM 分数信息");st();int lastNumber=rs.getRow();b=new int[lastNumber][4];a=new Object[lastNumber][8];int k=0;rs.beforeFirst();while(rs.next()){a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getByte(3);b[k][0]=rs.getByte(3);a[k][3]=rs.getByte(4);b[k][1]=rs.getByte(4);a[k][4]=rs.getByte(5);b[k][2]=rs.getByte(5);a[k][5]=rs.getByte(6);b[k][3]=rs.getByte(6);a[k][6]=b[k][0]+b[k][1]+b[k][2]+b[k][3];a[k][7]=(b[k][0]+b[k][1]+b[k][2]+b[k][3])/4;k++;}con.close();}catch(SQLException ee){System.out.println(ee);}图10四、实验结果及分析程序运行中的报告分析1、在登陆时如果输入不正确的用户和密码会提示用户名或密码错误,因为通过getText()方法无法获得正确的字符串从而提示错误2、在进行数据库相应操作时,如果无法正确连接数据库则会提示不存在所需的数据资源,可能原因是没有正确连接到数据源,即可能数据源名称不正确,或者在数据库中不存在相应的表,或者可能SQL语法错误在进行相应的查询的删除操作时,如果不存在输入的学号会提示用户,“学号学号不存在”,因为不在数据库不无法在相应的字段下找到相匹配的字符串。

Java大作业报告

Java大作业报告

Java大作业报告课程名称:面向对象JAVA编程技术设计题目:猜数字游戏姓名:徐俏学号:3100403012专业班级:信息工程类101班一.设计内容:游戏者在"0~100","0~200","0~300"三个区间内选择随机数字范围,点击按钮“随机产生数字”产生数字n,假设在“0~100”之间,2、当输入一个整数m时,点击按钮“比较”n与m比较。

当m>n时,提示"太大了哦!还可以再小一点~~~";否则显示"小了哦,可以猜大一点的数!",依次类推,直到猜到数字n。

显示"答对啦!!!"。

并且出现"猜的次数大于三次请自觉摁下惩罚键吧!",是的话,按下按钮"进入惩罚选择"。

3、然后点击按钮选择惩罚方式:"惩罚装扮对象""惩罚地点""惩罚事件",都由程序随机产生,最终得到惩罚事件。

二.摘要:J ava.awt,即java抽象窗口工具包(Abstract Window Toolkit,AWT)提供了许多用来设计GUI (Graphics User Interface,图形用户界面)组件类。

java早期进行用户界面设计时,主要是用java.awt包提供的类。

如Button(按钮)、TextField(文本框)和List(列表)等。

JDK1.2推出之后,增加了一个新的javax.swing包,该包提供了功能更为强大的用来设计GUI的类。

Java.awt.event,提供处理由 AWT 组件所激发的各类事件的接口和类。

有关 AWT 事件模型的细节,请参见 java.awt.AWTEvent 类。

事件由事件源所激发。

向事件源注册的事件侦听器可接收有关特定事件类型的通知。

此包定义了事件和事件侦听器,以及事件侦听器适配器,它是让事件侦听器的编写过程更为轻松的便捷类。

《JAVA程序设计》课程设计大作业-Java学生管理系统

《JAVA程序设计》课程设计大作业-Java学生管理系统

《JAVA程序设计》课程设计大作业-Java学生管理系统山东理工大学计算机学院题目: Java学生管理系统班级姓名学号2011 年 12 月 6 日目录摘要.................................................................................3 第一章设计简介及设计方案 (4)1.1 系统功能分析 (4)1.2 系统功能模块设计 (4)1.3 数据库功能分析 (4)1.4 数据库需求分析.........................................................5 第二章详细设计 (6)2.1 数据库设计 (6)2 详细编程…………………………………………………………8 2.第三章设计结果及分析 (12)3.1 设计结果 (12)3.2 设计结果分析.........................................................19 总结..............................................................................17 参考文献 (17)2摘要随着计算机技术的飞速发展,当今社会正快速向信息化社会前进。

而如今学校的规模不断扩大,学生数量急剧加,有关学生的各种信息量也成倍增长,面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工用量。

此次设计我们使用JAVA编程,实现了学生信息管理系统的过程。

本系统采用Sun公司的j2sdk1.4.2_04和SQL SERVER 2000数据库管理系统作为开发工具,通过对学生信息管理系统进行可行性分析、需求分析和设计逐步将一个学生信息管理系统的开发过程呈现出来。

Java大作业设计报告

Java大作业设计报告

《Java程序设计》大作业设计报告设计名称多人聊天室组员姓名学生班级设计时间 2013.12.15设计成绩一、问题描述及设计思路设计多人聊天程序,能进行多人实时聊天,其中服务器为PC端,客户端为安卓端。

在服务器上,不断监听来自客户端的接入请求,对于接入的客户端加入线程池,同时为之开启独立线程,等待从该客户端发来的信息,再转发给其他客户端。

在客户端上,首先布局简单的安卓界面,开启客户端并且登录后,设置button 按钮监听想服务器发送信息请求,同时开启独立线程接收来自服务器的信息(即来自其他客户端的信息)。

二、详细设计过程服务器开发1.首先,导入了我们完成服务器端所要完成的各种类:能,辅助以GUI界面进行美化。

2.在Server类里面的私有成员函数里,有以下定义:程运行做准备,同时创建了一个广义的ArrayList<Socket>vector,用来存放客户端的套接字。

创建了两个file类的文件,分别用于记录客户端的链接信息和保存客户端的聊天记录。

一个独立的线程,互不干扰。

接下来则是采用GUI组件进行简单的界面设计,在try-catch块里完成主要功能。

首先,采用ServerSocket serverSocket = new ServerSocket(port);建立套接字,一旦建立成功,则在服务器端的界面上会出现创建的日期信息。

又使用Socket socket = serverSocket.accept();连接客户端,采用while语句不断监听客户端连接,收到请求后,则在服务器端显示客户端的信息,如连接到服务器的时间,客户端的主机名称和IP地址,这些信息会被写进txt文本进行保存。

mExecutorService.execute(new Thread(newHandleAClient(socket)));则是向线程池中添加线程,这里使用了一个内部类HandleAClient用于处理服务器和单独一个客户端之间的问题。

《Java语言程序设计》大作业报告九宫格游戏

《Java语言程序设计》大作业报告九宫格游戏

if(replay==JOptionPane.YES_OPTION){
Game G=new Game();
1. 运行结果及分析
因为是字节流储存,所以显示是字符
1. 设计经验总结 刚刚开始感觉很难,因为对图形界面太不了解了,有的函数和类都不知道,所以超级难入手,但是当看网上的代码和同学的多了之后也就知道该怎么编了,一旦入手,后 面的就感觉没有那么难了,现在编完了就感觉图形界面也就那么回事,都是固定的模式,模块添加也很简单,虽然还是有很多不懂的地方但是相比于做大作业之前已经有 很多的提高了,还认识了很多不认识的组件,同学们都用了不同的方法,我用的是网格布局然后添加button,感觉这样界面友好一点。弹出的对话框可以JOptionPane而不 是再定义JDialog,文件的读写方法很多,选一种自己理解的就好。 总的来说学到了很多知识,更加巩固了本来就很薄弱的java。 附:源程序
Buttons[i-1][j].setEnabled(true);
Buttons[i][j].setText("");
Buttons[i][j].setEnabled(false);
number_path++;
}
if(j+1!=3&&Buttons[i][j+1].getText()==""){
Buttons[i][j+1].setText(Buttons[i][j].getText());
e1.printStackTrace();
}
if(number_path>best_recond){
JOptionPane.showConfirmDialog(this,"你太厉害了!!这么难都能赢!!!才用了"+Integer.toString(number_path)+"步!!然而并没有打破记录。历史最佳成绩是:"+Integer.toString(best_recond));

Java大作业报告

Java大作业报告

课程:Java程序设计与应用开发题目:登录系统与钟表实现班级:XXXXXXXXXX学号:XXXXXXXX姓名:XXXX日期:XXXXX一、大作业目的用面向对象语言JA V A完成登录系统和钟表的分析、设计和实施。

通过课程设计掌握面向对象编程技术、GUI编程、常用类库的使用和应用系统的开发过程。

二、大作业题目描述和要求1.题目设计简单的登录系统和钟表界面,掌握Java编程中的多媒体应用。

2.要求(1)登录系统是java编程中比较基础的,设计一个登录对话框,通过输入正确的用户名和密码来进入系统,系统是一个带有菜单栏的记事本程序,通过点击菜单栏上的按钮来实现相应的功能。

(2) 通过设计一个钟表程序进一步掌握java在多媒体方面的应用。

3. 开发环境Eclipce + JDK1.4.2三、系统分析1.对于登录系统,首先应该对登录界面进行设计,该对话框中包括两个标签,一个文本输入框,一个密码输入框和两个按钮,这些GUI组件被添加到一个使用了网络袋布局的面板panel中,面板panel又被添加到Text_Login的内容窗格。

设计该系统的初步思路就是首先需要定义图像生成器的界面窗口,其次就是往每个按钮上添加触发事件监听器(如ActionListener、MouseListener、MouseMotionListener),然而在实际操作的过程中,新的问题不断出现,不过最后依依解决了。

对于记事本程序中的菜单栏的实现,菜单也是一种常用的GUI组件,菜单是一种层次结构,最顶层是菜单栏,在菜单栏中可以添加若干个菜单,每个菜单又可以添加若刚菜单选项,子菜单。

当单击一个菜单选项时,会生成一个动作事件,为菜单选项添加事件侦听器就可以侦听起动作事件。

2.对于Java的多媒体应用之钟表实现,程序在窗口上显示一个表盘,时刻度和分刻度为3D样式的,分别为黑灰色和灰色时针分针秒针随着时间在走动,间隔1s。

时针和分针的样式设计为略显锥形,秒针为简单的直线形。

Java程序设计基础大作业

Java程序设计基础大作业

在这个练习里,创建一个简单版本的(账户类)Account类。

将这个源文件放入banking程序包中。

在创建单个帐户的默认程序包中,已编写了一个测试程序TestBanking。

这个测试程序初始化帐户余额,并可执行几种简单的事物处理。

最后,该测试程序显示该帐户的最终余额。

1.创建banking 包2.在banking 包下创建Account类。

该类必须实现上述UML框图中的模型。

1.声明一个私有对象属性:balance,这个属性保留了银行帐户的当前(或即时)余额。

2.声明一个带有一个参数(init_balance)的公有构造器,这个参数为balance属性赋值。

3.声明一个公有方法getBalance,该方法用于获取经常余额。

4.声明一个公有方法deposit,该方法向当前余额增加金额。

5.声明一个公有方法withdraw从当前余额中减去金额。

3.编译TestBanking.java文件。

4.运行TestBanking类。

可以看到下列输出结果:Creating an account with a 500.00 balanceWithdraw 150.00Deposit 22.50Withdraw 47.62The account has a balance of 324.88package banking;public class Account {private double balance;public Account(double balance){this.balance=balance;}public double getBalance() {System.out.println("当前余额为:"+balance+"元");return balance;}public double deposit(doubleadd){ //取钱方法balance+=add;System.out.println("存钱"+add+"元,当余额为"+balance+"元");return balance;}boolean withdraw(doubleget){ / /取钱方法if(get<=balance){System.out.println("取钱"+get+"元,当余额为"+balance+"元");return true;}else{System.out.println("'余额不足");return false;}}}package banking;public class Customer {private String firstName;private String lastName;private Account account;public Customer(String firstName,String lastName) //账户名字构造方法{this.firstName=firstName;stName=lastName;System.out.println("用户名为:"+firstName+"\t"+lastName);public String getFirstName(){return firstName;}public String getLastName(){return lastName;}public void setAccount(Account account) {this.account = account;}public Account getAccount() {return account;}@Overridepublic String toString() {return "Customer [account=" + account + "]"; }}package banking;public class Bank {private Customer customers[];private int numberOfCustomers[];//公有构造器public Bank() {customers = new Customer[5];numberOfCustomers = new int[5];}public static int index = 0;public static int c= 0;public void addCustome(String firstName,String lastName) {index=+c;customers[index] = new Customer(firstName, lastName);numberOfCustomers[index]=++c;}public int getNumOfCustomers(){return numberOfCustomers.length;}public Customer getCustomer(int index){return customers[index];}}package banking;public class SavingAccount extends Account { //存款账户private double interestRate;public double getInterestRate() {return interestRate;}public void setInterestRate(double interestRate) {this.interestRate = interestRate;}public SavingAccount(double balance,double interestRate){super(balance);this.interestRate=interestRate;}}package banking;public class CheckingAccount extendsAccount{ //透支账户private double overdraftProtection; //属性public double getOverdraftProtection() {return overdraftProtection;}public void setOverdraftProtection(double overdraftProtection) { this.overdraftProtection = overdraftProtection;}public CheckingAccount(double balance){ //构造方法super(balance);}public CheckingAccount (double balance,double overdraftProtection) {super(balance);this.overdraftProtection=overdraftProtection;}boolean withdraw(doubleget){ / /覆盖取钱方法if(balance-get>0){balance = balance - get;System.out.println("取钱"+get+"元,当余额为"+balance+"元");return true;}else{if(get<=getOverdraftProtection())System.out.println("'余额为:"+(balance-get));elseSystem.out.println("请在可透支范围内提款!");return true;}}}。

JAVA作业_Java课程设计实验报告_扫雷_哈工大选修课作业

JAVA作业_Java课程设计实验报告_扫雷_哈工大选修课作业

H a r b i n I n s t i t u t e o f T e c h n o l o g y课程设计报告课程名称: JAVA网络设计设计题目:扫雷游戏院系:电子班级:08设计者:学号:指导教师:辛明影设计时间: 2010,11,29一,题目分析扫雷游戏分析:●扫雷的基本原理九宫格中(3*3共九个格子),中间的数字代表其周围的地雷个数,即以中间数为中心所在地九格中共有中间那个数的地雷。

比如中间为1,那么以这个1为中心,其周围共八个空格中只有一个是地雷。

●扫雷的基本功能1) 开局:首先选择游戏等级,然后生成不同等级的雷区界面。

游戏等级分为三级:各等级方块数为——初级:9×9、中级:16×16、高级:24×24;自定义:X,各级地雷数分别为10,40,99;雷区每个方块下面或埋藏有1个地雷,或者没有地雷;2) 挖雷:鼠标点击方块,可挖开它;若所揭方块下有雷,则踩雷,此时所有含地雷的块都标记,该局游戏失败;如果方块上出现数字,它代表在它周围的8个方块中共有多少颗地雷;3) 标记地雷:在某个光标上点击鼠标右键,则标记此块下埋着地雷(实际上可能是误标),显示为F。

每标记一个地雷,地雷数减少1;4) 自动挖开:如果某个数字方块周围的地雷全都标记完,则自动将其剩下的方块挖开;5) 扩散:扫雷程序还会自动展开已确定没有雷的雷区。

如果a[3,4]周围雷数为1,a[2,3]已被标示为地雷,那么a[24],a[25],a[33],a[35],a[43],a[44],a[45]将被展开,一直波及到不可确定的雷区。

6) 游戏数据的记录:对于得分较高的玩家进行统计,保存在“mine.log”文件中。

7)用于记录游戏时间的独立线程,并在界面实时显示游戏时间。

7)总体设计开发环境:Windows Xp sp3+NetBeans IDE1.项目包的UML视图:图1-项目包视图项目由三个包组成:●saolei.game.mine 功能:这个包是游戏的核心,其中实现了主界面,核心算法,图片管理,等级记录等功能●saolei.awt 功能:实现LedNumber类,把数字格式化为液晶显示图片●saolei.swing 功能:实现 AboutDialog类,响应about事件。

JAVA-课程设计(大作业)报告

JAVA-课程设计(大作业)报告

课程设计(大作业)报告课程名称:面向对象程序设计课程设计设计题目:设计一个记事本院系:信息技术学院班级:设计者:学号:指导教师:设计时间:信息技术学院昆明学院课程设计(大作业)任务书简单记事本程序的设计目录一.题目分析 (5)1.1需求分析 (5)1.2功能要求设计 (5)二.总体设计 (5)2.1设计思路 (5)2.2运行界面 (6)2.3模块说明图 (6)2.4主流程图 (7)2.5 UML图 (7)2.6程序相关说明 (8)三.运行环境 (8)四.详细设计与分析 (8)4.1.初始化组件 (8)4.2.构建菜单栏及其下拉菜单 (8)4.3.“文件”菜单的事件监听 (9)4.5.异常处理 (10)五.调试分析 (12)六.总结 (13)七.参考文献 (14)附录(源代码) (14)一.题目分析1.1需求分析现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。

功能也是应有尽有,有的能改变字体,有的能改变文字颜色。

但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。

仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。

本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。

该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。

该程序主要用到了Java swing和事件监听等。

1.2功能要求设计设计一个记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找替换等功能,可扩展功能。

本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:5)菜单中有“文件”,“编辑”,“关于”三个主菜单。

java大作业需求分析和可行性分析

java大作业需求分析和可行性分析

(1)需求性分析游戏操作需求:按界面的开始按钮可以开始游戏。

通过鼠标点击屏幕,松开后小球开始跳动。

小球跳动到平板上继续游戏,否则游戏结束。

页面上可显示分数及成绩排行榜。

按界面的结束按钮可退出游戏。

可更改或者设定小球的颜色及大小。

功能要求:1. 游戏开始时,鼠标点击处决定小球的开始位置。

2.鼠标点击屏幕小球开始跳动。

3.小球落在平板上游戏继续,落下平板则游戏结束。

4.游戏结束显示分数,在界面上还可查看游戏成绩排名,及游戏帮助的相关信息。

(2)可行性分析技术可行性:1.可通过GUI组件完成界面的构建及“开始”,“排行榜”,“帮助”及“退出”按钮键的创建。

2.可通过接口的调用完成界面与用户的交互。

3.可通过方法的构造完成对小球与平台位置及游戏开始及结束的判断。

4.可通过应用dispose,setVisible实现界面间的跳转。

5.可通过调用paint方法来完成小球颜色及大小的设定。

6.可通过数组实现链表的部分功能。

7.可通过repaint()方法更新所画对象的坐标实现移动。

以上为该程序的技术要求,合理制定方案可以保证该程序可以实现并成功运行。

用户使用可行性:通过鼠标点击屏幕实现小球的运动,可通过点击界面的按钮来开始或结束游戏。

组织可行性:成立小组,并制定合理的计划方案,小组建立良好的合作关系,保证该程序的顺利完成。

完成期限:运行环境:JDK1.6游戏流程图:变量名:xPositionyPositionfirstSpeedcountvaluemarksstartTime;endTime;totalTime;fzValue ;array[];JButtonstartButton;JButtonrankButton;JButtonhelpButton;JButtonexitButton;result = 0;u;jtrFileReaderfr;c;output;数据字典:主游戏界面部分排行榜参考资料:Java程序设计教程(第五版)。

java的21点游戏课程设计

java的21点游戏课程设计

java的21点游戏课程设计一、课程目标知识目标:1. 学生理解类和对象的基本概念,掌握Java面向对象编程的基本语法和结构;2. 学生掌握21点游戏的基本规则,并能将其转化为程序逻辑;3. 学生了解并能运用随机数生成器和条件语句来实现游戏功能。

技能目标:1. 学生能运用所学知识独立设计并编写简单的Java程序,实现21点游戏的模拟;2. 学生通过编程实践,提高问题分析、程序设计和调试的能力;3. 学生能通过小组合作,有效沟通,共同完成项目任务。

情感态度价值观目标:1. 学生培养对编程的兴趣,激发学习Java的热情;2. 学生养成积极思考、主动探索的良好学习习惯;3. 学生在团队合作中学会尊重他人,培养协作精神和集体荣誉感。

课程性质:本课程为实践性强的编程课程,旨在通过设计21点游戏,让学生将所学Java知识应用于实际项目中,提高编程能力和团队合作能力。

学生特点:学生已具备一定的Java基础,对面向对象编程有一定了解,但实践经验不足,需通过实际项目来提高。

教学要求:注重理论与实践相结合,强调动手实践,培养学生编程思维和解决问题的能力。

通过小组合作,提高学生沟通协作能力,同时关注学生情感态度的培养。

在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容1. 面向对象编程基础:- 类的定义与对象创建- 成员变量与局部变量- 方法的定义与调用- 封装与访问控制符- 继承与多态2. 21点游戏规则与逻辑:- 游戏规则介绍- 游戏流程控制- 随机数生成器- 条件语句与循环语句的应用3. 编程实现21点游戏:- 设计游戏类和对象- 编写游戏逻辑代码- 异常处理与调试技巧- 小组合作与分工4. 教学内容安排与进度:- 第一课时:面向对象编程基础回顾,介绍21点游戏规则- 第二课时:设计游戏类和对象,编写基本游戏逻辑- 第三课时:实现随机数生成器,完善游戏逻辑- 第四课时:异常处理与调试,小组合作完成项目5. 教材章节关联:- 《Java编程思想》第3章:对象与类- 《Java编程思想》第4章:继承- 《Java编程思想》第5章:接口与多态- 《Java核心技术》第6章:异常、断言和日志教学内容以确保学生掌握Java面向对象编程基础为前提,结合21点游戏项目,使学生能够将所学知识应用于实际项目中。

Java大作业实验报告

Java大作业实验报告

XX大学2012-2013学年第2学期《JAVA面向对象程序设计》课程大作业报告课题名称:Java斗地主纸牌游戏小组成员人数5人小组成员名单(学号和姓名):自己:班级学号____姓名_______其他组员:课题实现采用的工具___eclipse(jdk 1.7.01)________课题完成时间:__2013/05/20____________________________对应提交的电子文档打包文件名称(准确填写):____斗地主.rar_________________________________一.大作业目的通过对斗地主纸牌游戏的程序设计,能更加深入了解面向对象的编程思想。

也对JA V A 这门语言能了解更多,能够正确并较为熟练的运用java进行图像化编程和使用java中的ui 控件。

二.题目与要求斗地主,基本上要有抢地主,出牌,托管功能,整个打牌过程尽量快速简介,尽量不出,规则参照QQ斗地主。

开发过程分工:1.首先列出程序所包含的功能,给出相应所需要的类包(规则;牌类)。

2.设计主窗体布局及菜单栏()登入窗口()。

3.设计抢地主事件及游戏过程中出牌时间的控制()4.设计电脑发牌()电脑判断并出牌()电脑代出()5.添加背景音乐及游戏主题环境的设计()6.包中各个类的整理及程序调试()7.程序中错误的修改以及对于程序的改进()代码编写:详见斗地主.rar(已发至gude@)四:希望达到的效果、1.将其他同学负责的部分添加到同一个工程下,并实现运行。

首先是将不同的文件导入到同一个包中,因为这份斗地主是参考一份网上下载的斗地主源码,所以每个人都是对相应的java代码文件进行相应的编译,所以工程的整体性没有大的问题。

只是不同的人设置了不同的变量名造成了系统的报错,在统一了变量名之后解决了这个问题。

2.设定游戏的主题环境原本的决定是参照传统的纸牌类游戏的界面进行设计,在窗口界面设计好之后我觉得传统的纸牌背景只是桌布背景过于呆板无趣,所以决定网上寻找合适的背景图做为背景。

《java游戏大作业设计》

《java游戏大作业设计》
图3-2
在触碰Ghost事件中(如图3-4所示),只有当Ghost处于特殊状态时,玩家角色才可以将其吞食消除,否则吃豆人将会失去一条生命并且重置回出生点,并在计分板上使其生命显示减1(同步计数器)。
图3-3
四、
4
在游戏场景中,除了中央的游戏区域外,左右各有三块区域用于显示游戏信息,而其余部分则用Blank类方法填充空白。
addObject(life2,45,350);
addObject(life3,20,350);
豆子的绘制(程序中放置在转角处)需要对通路进行统计,即CoinFill函数的square的计数:
①.在指定的区域放置大豆子,当吃到大豆子时所有的怪物立刻变为可以被吃掉的状态。
注:在吃掉大豆子后吃豆人的标记run会变为true,意味着此时可以吃掉怪物,这个状态的持续时间定义为5秒。
coins++;
}
else if(i >=283 && i <=358 && j >= 172 && j <= 221) coins = coins;
else if(square > 2)
{
addObject(new Coin(),i,j);
coins++;
}
}
}
}
c = coins;
}
4
在Animal类中定义了用于子类继承的抽象方法,如:方向的移动、方向移动的提前量判断等,在该类中还设置了角色的场景移动传送方法,用于对游戏场景中部特殊的通道移动的定义。对于Ghost而言,他们的移动的范围要求比吃豆人更广提高难度,当他们从地图中央两侧的通道进入时,将会从另一侧出现。这种突然出现在身边的Ghost往往能提高玩家的紧张感,提升游戏性。

Java课程设计模板游戏大连

Java课程设计模板游戏大连

Java课程设计模板游戏大连一、课程目标知识目标:1. 学生能够掌握Java语言的基本语法和编程结构;2. 学生能够理解面向对象编程的核心概念,如类、对象、继承、封装和多态;3. 学生能够运用所学知识设计并实现一个简单的模板游戏。

技能目标:1. 学生能够运用Java编程解决实际问题,提高问题解决能力;2. 学生能够通过编写代码,培养逻辑思维和编程技巧;3. 学生能够运用调试工具进行程序调试,提高程序调试能力。

情感态度价值观目标:1. 学生对编程产生兴趣,激发学习主动性和创新精神;2. 学生在团队协作中学会沟通、分享和合作,培养团队精神;3. 学生在游戏设计中关注用户体验,提高对产品质量的追求。

分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够独立编写Java程序,完成一个简单的模板游戏;2. 学生能够运用面向对象的思想进行程序设计,提高代码的可读性和可维护性;3. 学生能够在课程实践中,学会与他人合作,共同解决问题;4. 学生通过对游戏设计的学习,培养审美观念和用户体验意识。

二、教学内容1. Java基本语法和数据类型:变量、数据类型、运算符、控制流程(条件语句、循环语句);2. 面向对象编程基础:类与对象、构造方法、封装、继承和多态;3. 数组与字符串:数组的使用、字符串处理;4. Java异常处理:异常的概念、异常处理机制;5. Swing图形用户界面编程:窗口、组件、事件处理;6. 游戏设计原理:游戏循环、游戏状态管理、用户输入处理;7. 游戏案例分析与实现:选择一个简单的游戏案例,如“大连模板游戏”,进行案例分析和代码实现。

教学内容按照以下进度安排:1. 第1-2周:Java基本语法和数据类型学习;2. 第3-4周:面向对象编程基础学习;3. 第5-6周:数组与字符串学习;4. 第7-8周:Java异常处理学习;5. 第9-10周:Swing图形用户界面编程学习;6. 第11-12周:游戏设计原理学习;7. 第13-14周:游戏案例分析与实现。

24分游戏课程设计java

24分游戏课程设计java

24分游戏课程设计java一、课程目标知识目标:1. 理解Java编程中基本数据类型及其运算规则,特别是整数运算;2. 掌握Java控制结构,如循环和条件判断在游戏逻辑中的应用;3. 学会使用Java数组存储和管理游戏中的数据;4. 掌握用面向对象的方式设计简单的游戏类和方法。

技能目标:1. 能够编写简单的24分游戏程序,实现用户交互和逻辑判断;2. 能够运用所学知识解决实际问题,如通过编程验证用户输入是否正确;3. 能够对程序进行调试和优化,提高代码的可读性和效率。

情感态度价值观目标:1. 培养学生对编程的兴趣,增强其学习Java编程的自信心;2. 培养学生团队协作精神,通过小组讨论和分享,共同解决问题;3. 培养学生良好的编程习惯,注重代码规范,树立正确的技术价值观。

分析课程性质、学生特点和教学要求,本课程目标旨在使学生在理解Java基本知识的基础上,通过设计并实现24分游戏,提高实际编程能力。

课程将引导学生从实际问题出发,通过分解任务、设计算法、编写代码,最终实现一个具有实际功能的小游戏。

在过程中,注重培养学生的逻辑思维、问题解决能力和团队协作精神,使学生体会到编程的乐趣和挑战。

通过具体的学习成果,教师可对学生的知识掌握和技能运用进行有效评估。

二、教学内容1. Java基本数据类型和运算规则复习:回顾整数、浮点数等基本数据类型及其运算规则,强调整数运算在24分游戏中的应用。

2. Java控制结构:讲解循环结构(for、while)和条件判断(if-else、switch-case)在游戏逻辑中的应用,分析如何通过这些控制结构实现游戏流程控制。

3. 数组的使用:介绍数组的定义、初始化和遍历方法,讲解如何使用数组存储和管理24分游戏中的数据。

4. 面向对象编程基础:引导学生将游戏功能划分为不同的类和方法,实现代码的模块化和可重用性。

教学大纲:- 复习Java基本数据类型和运算规则(第2章)- Java控制结构在实际问题中的应用(第3章)- 数组的使用和管理(第4章)- 面向对象编程基础(第5章)5. 游戏设计案例分析:分析24分游戏的设计思路,讲解如何将所学知识应用于游戏编程。

java课程设计弹球

java课程设计弹球

java课程设计弹球一、教学目标本章节的教学目标旨在让学生掌握Java编程的基本技能,通过实践项目“弹球游戏”的设计与实现,培养学生的编程兴趣和解决问题的能力。

具体目标如下:1.理解Java编程语言的基本语法和结构。

2.掌握面向对象编程的思想,了解类和对象的概念。

3.熟悉常用数据结构,如数组、链表、栈和队列。

4.学习Java图形用户界面(GUI)编程,了解Swing组件的使用。

5.能运用Java语言编写简单的应用程序。

6.能运用面向对象的思想,设计并实现具有一定复杂度的软件系统。

7.熟练使用Java开发工具,如Eclipse或IntelliJ IDEA。

8.掌握调试和优化代码的方法。

情感态度价值观目标:1.培养学生对编程的兴趣,提高自主学习的积极性。

2.培养学生团队合作精神,学会在团队中分工协作。

3.培养学生面对挑战、解决问题的信心和能力。

二、教学内容本章节的教学内容以Java编程语言为基础,通过设计弹球游戏的项目,让学生掌握Java的基本语法、面向对象编程、GUI编程等知识。

教学大纲如下:1.Java基本语法:数据类型、运算符、控制结构、函数。

2.面向对象编程:类与对象、构造方法、封装、继承、多态。

3.Java常用数据结构:数组、链表、栈、队列。

4.Swing编程:窗口、按钮、文本框、图像显示等组件的使用。

5.事件处理:鼠标事件、键盘事件。

6.文件操作:文件的读取与写入。

7.项目实践:弹球游戏的设计与实现。

三、教学方法本章节采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。

1.讲授法:用于讲解Java基本语法、面向对象编程等理论知识。

2.案例分析法:通过分析典型案例,让学生了解Java编程的实际应用。

3.实验法:让学生动手实践,设计并实现弹球游戏项目。

4.小组讨论法:鼓励学生在小组内分工协作,共同完成项目任务。

四、教学资源本章节的教学资源包括教材、参考书、多媒体资料、实验设备等。

Java大作业报告

Java大作业报告
if(a[x][y+1]!=0&&a[x][y+1]!=10){
btns[n+col*q].setText(a[x][y+1]+"");
a[x][y+1]=10;
btns[n+col*q].setEnabled(false);
}
else if(a[x][y+1]==0){
out(a,btns,e,n+col*q,x,y+1);
a[x-1][l]=10;
btns[n+col*q].setEnabled(false);
}
p=0;
}
}
}
p=1;
m=x;
if(n>-1&&n<col&&m>-1&&m<col)
{
for(int q=0;q<row&&p==1;q++){
if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){
JMenuItem mi1=new JMenuItem("初级");
JMenuItem mi2 = new JMenuItem("中级");
JMenuItem mi3 =new JMenuItem("高级");
mi1.addActionListener(this);
menu1.add(mi1);
mi2.addActionListener(this);
contentPane.add(p2,BorderLayout.CENTER);

JAVA拼图大作业实验报告1

JAVA拼图大作业实验报告1

JAVA拼图大作业实验报告2016秋季学期《Java语言》大作业系统说明报告目录1项目目的与意义 (3)1.1项目背景说明 (3)1.2项目目的与意义 (3)2 软件开发环境与技术说明 (4) 2.1软件开发环境 (4)2.2软件开发技术描述 (4)3系统分析与设计 (5)3.1项目需求分析说明 (5)3.2系统设计方案 (5)4系统源代码 (8)4.1系统源代码文件说明 (8)4.2源代码 (8)5系统使用说明书 (41)6参考资料 (49)7附件说明 (49)1项目目的与意义1.1项目背景说明JAVA语言2016年学期期末大作业-44拼图游戏的设置1.2项目目的与意义目的:实现简单的4X4JAVA拼图游戏的简单功能,可以进行用户的登录和拼图游戏的完成,给用户以良好的游戏体验,再加入更多个性化的内容意义:从用户角度,设计一个简单但是十分考验人的小型拼图游戏,让人们在简单方便的操作中舒缓自己一天的疲惫,和朋友一起进行挑战,不断地突破,展现游戏的美丽,实现游戏的价值从开发者角度,这是对我半年JAVA语言学习的检测,同时我也自学了许多东西,比如数据库的链接,SQL语句和JAVA的各种函数,让我可以真正的体会到开发一个项目的过程和需要付出的不懈努力,也让我享受到了自己尽全力完成一个项目的过程和完成后的喜悦。

2 软件开发环境与技术说明2.1软件开发环境JAVA开发环境-EclipseJAVA支持包:import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.*;import javax.swing.*;mysql-connector-java-5.1.40-bin.jar(MySql驱动jar 包)数据库环境:MySql数据库(使用的是Navicat图形界面)2.2软件开发技术描述1.拼图游戏界面设计主要使用了JAVA的GUI图形界面,主登录界面和账号注册界面使用的是流式FlowLayOut布局进行登录框和按钮的设置,而拼图游戏界面则是使用的网格式GridFlowOut布局.2.通过连接MySql数据库,(名称:user),创建数据表user_info 列名称为:username(账号),password(密码),score(过关时间), Count(过关所用步数);实现了游戏的账号注册和登录功能,以及每个账号成绩的记录和储存,并可以再推行界面中显示每个用户的游戏记录3.通过Timer类实现了拼图游戏计时功能4.图片存储在项目文件夹下image文件夹中,通过名字的巧妙设置实现了打乱图片顺序,切换图片,判断拼图是否完成。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
②生命显示:(左下角三个小吃豆人)
Lives life1 = new Lives(1);
Lives life2 = new Lives(2);
Lives life3 = new Lives(3)
③四种颜色的怪物:
Inky inky = new Inky();
Blinky blinky = new Blinky();
图3-2
在触碰Ghost事件中(如图3-4所示),只有当Ghost处于特殊状态时,玩家角色才可以将其吞食消除,否则吃豆人将会失去一条生命并且重置回出生点,并在计分板上使其生命显示减1(同步计数器)。
图3-3
四、
4
在游戏场景中,除了中央的游戏区域外,左右各有三块区域用于显示游戏信息,而其余部分则用Blank类方法填充空白。
for(int i = 0; i <pacworld.length; i++)
{
for(int j = 0; j <pacworld[i].length; j++)
{
pacworld [i][j] = false;
}
}
接下来根据数组绘制地图DrawPath,将绘制的边界以特殊的信息保存到数组中。
private void DrawPath()(部分代码)
通过本次游戏设计,综合自己在校期间所学的理论知识,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论,进一步巩固和加强自身对java基础知识的理解,提高自己的编程水平,从而达到理论与实践相结合的目的。
二、
吃豆子游戏是一种古老而又有趣的游戏,游戏软件不计其数,网上就有好多关于实现的复杂算法和设计,其难度让一般初学者望而却步。开发的出来的吃豆子游戏是一种内容丰富,画面优美,益智类游的戏,并且不受网络的限制,让人们能够在任何时刻通过体验游戏,放松心情。
设计需求:
①游戏界面设计要能够彰显设计者的基本设计框架及思路;
②游戏界面布局要清晰整洁、层次明确;
③游戏的设计要使玩家能在短时间内掌握游戏规则;
④玩家可以自由操控角色,玩家角色具有吃豆子的功能;
⑤吃到不同的豆子能有不同的效果(分数变化、角色状态的变化等等);
⑥怪物要能够自主运动,采用其特定的算法独立实现;
所有的类在设计的时候保证了相互之间的联系性,类与类之间存在方法上的调用,对象方法的灵活运用是吃豆人游戏的一大主体。
3
作为一个游戏,事件的设计必不可少。在设计一个游戏时总是会在特定的游戏场景中抛出一个自定义事件,由相关的界面(可能是多个)去订阅这个事件,当接收到这个事件时,这些界面刷新显示数据,从而解除游戏逻辑层和界面显示层的耦合关系。每一个游戏都有其自定义的游戏触发事件,本次设计的吃豆人游戏也有着其独到的自定义事件。
⑦游戏中怪物与玩家角色之间要有相应的事件(比如:触碰到玩家角色时玩家生命减1);
⑧界面上要能有够显示出当前的得分情况以及当前的生命值;
⑨对于游戏的设计,在游戏结束时能够有相应的提示。
三、
3
图3-1
在吃豆人游戏的类设计中,首先要确立的是类的关联、划分主次。整个游戏主要由两大部分组成,在这其中PacWorld类既是其中的一大组成部分也游戏一个重要的“舞台”,承载了其他的类方法,在这其中,设计者可以根据具体的游戏需要来加入相应的游戏元素、游戏规则,从而达到丰富游戏的目的。
{
min = 200;
max = 442;
for (int x = min; x<= max; x++)
{ pacworld [x][341] = true; }
min = 283;
max = 358;
for (int x = min; x<= max; x++)
{
pacworld [x][221] = true;
int square = 1;
if(pacworld [i+1][j] == true) square++;
else if(pacworld [i-1][j] == true) square++;
if(pacworld [i][j+1] == true) square++;
else if(pacworld [i][j-1] == true) square++;:
pacworld [x][213] = true;
pacworld [x][204] = true;
}
min = 120;
max = 522;
for (int x = min; x<= max; x++)
{
pacworld [x][426] = true;
pacworld [x][87] = true;
Position position = new Position();
Score scorE = new Score();
addObject(position,320,460);
addObject(pacman,320,257);
addObject(scorE,46,75);
addObject(inky,283,210);
而另一大组成部分Actor类则作为各种对象类的集合定义游戏中的各种方法。其中包括Animal类、Writing类以及Object类。Animal类中包含了两个重要的元素——PacMan类和Ghost类,分别实现吃豆人和怪物的运动、动画、触发事件等算法逻辑及调用方法。Writing类包含主游戏框架面板上计分板、位置显示、空白填充以及生命计数器的方法类。Object类中则是定义被吃的大小豆子。
addObject(blinky,320,171);
addObject(pinky,320,217);
addObject(clyde,358,210);
addObject(blankL,75,214);
addObject(blankR,575,214);
addObject(life1,70,350);
②.在路口处放置小豆子
③.放置完豆子使其计数器加一
public void CoinFill()
{
coins = 0;
for(int i = 0; i <pacworld.length; i++){
for(int j = 0; j <pacworld[i].length; j++){
if(pacworld [i][j] == true){
addObject(life2,45,350);
addObject(life3,20,350);
豆子的绘制(程序中放置在转角处)需要对通路进行统计,即CoinFill函数的square的计数:
①.在指定的区域放置大豆子,当吃到大豆子时所有的怪物立刻变为可以被吃掉的状态。
注:在吃掉大豆子后吃豆人的标记run会变为true,意味着此时可以吃掉怪物,这个状态的持续时间定义为5秒。
World类又分为PacWorld和MyWorld两个类,其中PacWorld类是游戏场景元素的一个大集合。作为一个舞台的大容器,它包括游戏区块(左中右三部分)的布局、边界(墙壁)的绘制、背景颜色、空白填充、位置信息显示、分数、大小豆子、怪物以及的位置生成、豆子的生成位置等元素,给游戏塑造出了一个整体框架。
游戏中央的场景中绘制出地图(边界线/墙壁),留出通道,在其中的相应位置放入对应的怪物、大小豆子以及游戏的控制主体——吃豆人,左右放置对应的计分板和计数器,构成整个游戏的基本元素框架。
图4-1
先定义各元素信息:
①左右空白填充:
Blank blankR = new Blank();
Blank blankL = new Blank();
CheckD:用于检查你可以去往哪个方向
private boolean checkD(char s)
{
int x = 0, y = 0;
switch(s)
{
case 'u': y=-steps;break;
case 'd': y=steps;break;
case 'l': x=-steps;break;
Java游戏编程基础课程
大作业报告
课题:吃豆人游戏的设计与实现
姓名:黄子强
学号:201517030207
同组姓名:刘照、杜威
专业班级:网工15102
指导教师:何青
设计时间:2018.6.18
一、
复习、领会、巩固和运用课堂上所学的JAVA游戏编程方面的技术知识,让学生掌握游戏设计的基本原理和游戏编程的基本方法,掌握游戏开发的一般步骤和相应文档的编制,能够设计、调试、运行一个完整的游戏项目;提高开发过程中的团队意识,锻炼学生书面和口头表达能力,为学生提供主动学习、积极探索与大胆创新的机会。
coins++;
}
else if(i >=283 && i <=358 && j >= 172 && j <= 221) coins = coins;
else if(square > 2)
{
addObject(new Coin(),i,j);
coins++;
}
}
}
}
c = coins;
}
4
在Animal类中定义了用于子类继承的抽象方法,如:方向的移动、方向移动的提前量判断等,在该类中还设置了角色的场景移动ost而言,他们的移动的范围要求比吃豆人更广提高难度,当他们从地图中央两侧的通道进入时,将会从另一侧出现。这种突然出现在身边的Ghost往往能提高玩家的紧张感,提升游戏性。
相关文档
最新文档