当前位置:文档之家› 《Java游戏程序设计教程》实验任务书

《Java游戏程序设计教程》实验任务书

2.改变蛇的运动速度,按+号键加速,按-号键减速;
3.手动控制蛇的移动,按下方向键时让蛇朝对应的方向移动,否则静止不动;

if((location.y<0)||(location.y>bound.y-diameter)) {
dy=-dy;
}

4.在游戏绘制部分实现小球的图形绘制,并通过双缓冲机制消除屏幕闪烁。
//消除屏幕闪烁
publicvoidgamePaint() {
Graphics g;
try{
g=this.getGraphics();
if(g!=null&&im!=null){
g.drawImage(im, 0,0,null);
}
g.dispose();
}catch(Exception e){


//小球图形绘制
publicvoidgameRender(){
if(im==null){
im=createImage(width,heigth);
if(sleepTime<=0)//防止sleepTime值为负数
sleepTime=2;
try{
Thread.sleep(sleepTime);//让线程休眠,由sleepTime值决定
}catch(InterruptedExceptionex){ }
t1 =System.nanoTime();//重新获取当前系统时间
System.exit(0);
}
});
app.setLocation(100, 100);
gamePaneldrawB =newgamePanel();
app.add(drawB,BorderLayout.CENTER);
app.pack();
app.setVisible(true);
drawB.gameStart();
while(true){
gameUpdate();
gameRender();
gamePaint();
t2=System.nanoTime() ;//游戏循环执行后的系统时间,单位纳秒
dt=(t2-t1)/1000000L;//本次循环实际花费的时间,并转换为毫秒
sleepTime=period- dt;//计算本次循环剩余的时间,单位毫秒
《Java游戏程序设计教程》实验任务书
———————————————————————————————— 作者:
———————————————————————————————— 日期:

《Java游戏程序设计教程》实验任务书
实验一 弹跳小球游戏设计
一 实验目的
通过设计和制作弹跳小球游戏来了解游戏程序的基本结构,理解游戏循环和双缓冲机制的基本原理,并掌握游戏运行框架的设计方法。
gamethread.start();
}
//游戏循环,控制游戏运行的帧速度
publicvoidrun() {
longt1,t2,dt,sleepTime;
longperiod=1000/FPS;//计算每一次循环需要的执行时间,单位毫秒
t1=System.nanoTime();//保存游戏循环执行前的系统时间,单位纳秒

实验二贪食蛇游戏设计
一 实验目的
通过设计和制作贪食蛇游戏来理解游戏程序的运行机制,同时学习运用java的事件处理机制来改变游戏状态和传递控制命令。
二 实验内容
学习和了解贪食蛇游戏的基本设计思想(参考教材4.4节内容及相关代码),在此基础上进行改进,要求实现如下功能:
1.当窗口最小化或被遮挡时暂停游戏;
}
//绘图面板
publicgamePanel() {
width=500;
heigth=500;
setBackground(Color.pink);
setPreferredSize(newDimension(width,heigth));
myball=newball(this);
mypad=newpad(this);
}

3.在游戏逻辑更新部分实现小球的运动逻辑,使得小球可以朝着窗口四周移动,并在边界处反弹。
publicvoidmove() {
location.x+=dx;
location.y+=dy;
if((location.x>bound.x-diameter) ||(location.x<0)){
dx= -dx;
4. 在游戏绘制部分实现小球的图形绘制,并通过双缓冲机制消除屏幕闪烁。
三 实验步骤
1.阅读实验要求,设计程序整体结构及各个类的功能。
2.启动java开发环境,新建游戏项目。
3.根据实验内容要求编写代码,以实现相应的功能。
4.书写实验报告,详细阐述代码编写的基本思想及主要过程。
四 课时分配
2课时
五 提交文档
实验报告、源程序代码
1.创建游戏程序主窗体(GameFrame)和绘图面板(GamePanel);
//程序主窗体
publicGameFrame() {
Frameapp=newFrame("GameFrame");
app.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
if(im==null){
System.out.println("imis null");
}else{
dbg=im.getGraphics();
}

dbg.setColor(Color.pink);
dbg.fillRect(0, 0,width,heigth);
myball.draw(dbg);
mypad.draw(dbg);
this.setFocusable(true);
this.requestFocus();
this.addKeyListener(this);
}
2.设计游戏循环,并通过线程来控制游戏运行的帧速率;
//线程
pubead=newThread(this);
二 实验内容
学习和了解游戏基本框架的设计方法(参考教材第3章内容及相关代码),在此基础上设计弹跳小球游戏,实现小球在程序窗口边界反弹的效果。要求实现如下功能:
1.创建游戏程序主窗体(GameFrame)和绘图面板(GamePanel);
2.设计游戏循环,并通过线程来控制游戏运行的帧速率;
3.在游戏逻辑更新部分实现小球的运动逻辑,使得小球可以朝着窗口四周移动,并在边界处反弹。
相关主题