安卓益智小游戏课程设计报告书

安卓益智小游戏课程设计报告书
安卓益智小游戏课程设计报告书

西安**大学

安卓游戏课程设计报告书

院系名称:

专业班级:

学生姓名:

学号:

时间:

Android益智游戏

一、题目:

设计一个ANDROID游戏(BEEN THERE DONE THAT)

社交益智游戏一直很流行,它可以使大家熟悉众多的ANDROID SDK的功能。这是一个有关旅行的社交益智游戏。在这个游戏中,将向用户询问一些有关旅行和相关经历的问题。例如:

你见过埃及的金字塔吗?

你挤过牛奶吗?

你与海豚一起潜过水吗?

二、基本功能:

1、显示应用程序的名称、版本和开发人员的启动屏幕。

2、解释游戏规则:显示文本文件解释如何玩游戏。

3、游戏介绍:在帮助中以文本形式提供游戏的介绍。

4、游戏向用户提出一系列问题,并记录用户做出肯定回答的次数。对于每一个问题,都将显示文本和图形。例如,游戏屏幕可能显示一张山脉图片,询问用户是否爬过山,并记录用户的答案:YES或者NO。

5、可以退出游戏。

三、功能模块图:

四、系统流程图:

五、游戏运行图:

1、游戏主界面:

2、游戏规则界面与帮助界面:

3、游戏界面:(包含三个问题界面)

4、结果页面(根据选择可显示三种不同结果)

六、源代码:

1、Java代码(实现页面跳转,按钮功能,传值的功能的Avtivity类) (1)、主界面:(实现游戏开始、规则、帮助页面的跳转,并实现退出功能)package com.luman.luman;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class MainActivity extends Activity {

private Button button01;

private Button button02;

private Button button03;

private Button button04;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(https://www.360docs.net/doc/bd12290552.html,yout.activity_main);

button01 = (Button)findViewById(R.id.begin);

button02 = (Button)findViewById(R.id.rule);

button03 = (Button)findViewById(R.id.help);

button04 = (Button)findViewById(R.id.tuichuId);

button01.setOnClickListener(new MyButtonListener01());

button02.setOnClickListener(new MyButtonListener02());

button03.setOnClickListener(new MyButtonListener03());

button04.setOnClickListener(new MyButtonListener04());

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

class MyButtonListener01 implements OnClickListener{

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent intent = new Intent();

intent.setClass(MainActivity.this, Activity01.class);

MainActivity.this.startActivity(intent);

}

}

class MyButtonListener02 implements OnClickListener{

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent intent = new Intent();

intent.setClass(MainActivity.this, Other01.class);

MainActivity.this.startActivity(intent);

}

}

class MyButtonListener03 implements OnClickListener{

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent intent = new Intent();

intent.setClass(MainActivity.this, Other02.class);

MainActivity.this.startActivity(intent);

}

}

class MyButtonListener04 implements OnClickListener{

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

finish();

}

}

}

(2)游戏界面:(包含三个问题界面与一个结果界面,并传递数据,结果界面可实现返回主界面功能)

1>问题一:

package com.luman.luman;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.RadioButton;

import android.widget.RadioGroup;

import android.widget.RadioGroup.OnCheckedChangeListener;

public class Activity01 extends Activity{

private RadioGroup radioGroup;

private RadioButton YesButton;

private RadioButton NoButton;

private Button button;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(https://www.360docs.net/doc/bd12290552.html,yout.activity01);

button = (Button)findViewById(R.id.quedingId);

button.setOnClickListener(new MyListener());

radioGroup = (RadioGroup)findViewById(R.id.radioGroupId);

YesButton = (RadioButton)findViewById(R.id.YesId);

NoButton = (RadioButton)findViewById(R.id.NoId);

RadioGroupListener listener = new RadioGroupListener();

radioGroup.setOnCheckedChangeListener(listener);

}

class RadioGroupListener implements OnCheckedChangeListener{ @Override

public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub

if(checkedId == YesButton.getId()){

((First)getApplication()).setScore1();

}

else if(checkedId == NoButton.getId()){

((First)getApplication()).setScore2();

}

}

}

class MyListener implements OnClickListener{

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent intent = new Intent();

intent.setClass(Activity01.this, Activity02.class);

Activity01.this.startActivity(intent);

}

}

}

2>问题二:

package com.luman.luman;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.RadioButton;

import android.widget.RadioGroup;

import android.widget.RadioGroup.OnCheckedChangeListener;

public class Activity02 extends Activity{

private RadioGroup radioGroup;

private RadioButton YesButton;

private RadioButton NoButton;

private Button button;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(https://www.360docs.net/doc/bd12290552.html,yout.activity02);

button = (Button)findViewById(R.id.quedingId);

button.setOnClickListener(new MyListener());

radioGroup = (RadioGroup)findViewById(R.id.radioGroupId);

YesButton = (RadioButton)findViewById(R.id.YesId);

NoButton = (RadioButton)findViewById(R.id.NoId);

RadioGroupListener listener = new RadioGroupListener();

radioGroup.setOnCheckedChangeListener(listener);

}

class RadioGroupListener implements OnCheckedChangeListener{

@Override

public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub

if(checkedId == YesButton.getId()){

((First)getApplication()).setScore1();

}

else if(checkedId == NoButton.getId()){

((First)getApplication()).setScore2();

}

}

}

class MyListener implements OnClickListener{

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent intent = new Intent();

intent.setClass(Activity02.this, Activity03.class);

Activity02.this.startActivity(intent);

}

}

}

3>问题三:

package com.luman.luman;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.RadioButton;

import android.widget.RadioGroup;

import android.widget.RadioGroup.OnCheckedChangeListener;

public class Activity03 extends Activity{

private RadioGroup radioGroup;

private RadioButton YesButton;

private RadioButton NoButton;

private Button button;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(https://www.360docs.net/doc/bd12290552.html,yout.activity03);

button = (Button)findViewById(R.id.quedingId);

button.setOnClickListener(new MyListener());

radioGroup = (RadioGroup)findViewById(R.id.radioGroupId);

YesButton = (RadioButton)findViewById(R.id.YesId);

NoButton = (RadioButton)findViewById(R.id.NoId);

RadioGroupListener listener = new RadioGroupListener();

radioGroup.setOnCheckedChangeListener(listener);

}

class RadioGroupListener implements OnCheckedChangeListener{

@Override

public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub

if(checkedId == YesButton.getId()){

((First)getApplication()).setScore1();

}

else if(checkedId == NoButton.getId()){

((First)getApplication()).setScore2();

}

}

}

class MyListener implements OnClickListener{

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent intent = new Intent();

intent.setClass(Activity03.this, Other03.class);

Activity03.this.startActivity(intent);

}

}

}

4>结果界面:

package com.luman.luman;

import com.luman.luman.MainActivity.MyButtonListener01;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

public class Other03 extends Activity{

private Button button;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(https://www.360docs.net/doc/bd12290552.html,yout.other03);

button = (Button)findViewById(R.id.fanhuiId);

button.setOnClickListener(new MyButtonListener());

int score=((First)getApplicationContext()).getScore();

TextView result = (TextView)findViewById(R.id.resultId);

if(score == 3) result.setText("年轻人应该多尝试有意思的事情,不要让自己总是宅在家里啦!");

if(score == 21) result.setText("劳逸结合,不错哦,继续保持这种生活习惯,越活越年轻哦!");

if(score == 12) result.setText("劳逸结合,不错哦,继续保持这种生活习惯,越活越年轻哦!");

if(score == 30) result.setText("朋友,你太爱玩啦,偶尔也要停下来休息休息哦!");

}

class MyButtonListener implements OnClickListener{

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent intent = new Intent();

intent.setClass(Other03.this, MainActivity.class);

Other03.this.startActivity(intent);

}

}

}

(3)、全局变量的定义:

package com.luman.luman;

import android.app.Application;

public class First extends Application{

private int score=0;

public int getScore(){

return score;

}

public void setScore1(){

//aredPreference pre = new SharedPreferene();

score=score+10;

}

public void setScore2(){

score=score+1;

}

}

2、界面.xml代码(共7个界面)

(1)、主界面

xmlns:tools="https://www.360docs.net/doc/bd12290552.html,/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity"

android:background="@drawable/girl"

>

android:id="@+id/begin"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="5dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="40dp"

android:text="开始游戏"

/>

android:id="@+id/rule"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="5dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="30dp"

android:text="游戏规则"

/>

android:id="@+id/help"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="5dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="30dp"

android:text="帮助"

/>

android:id="@+id/tuichuId"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="5dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="30dp"

android:text="退出游戏"

/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="5dp"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:layout_marginTop="30dp"

android:text="@string/edition"

/>

(2)、游戏界面

<1>、问题一:

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical"

android:background="@drawable/jinzita"

>

android:id="@+id/question01"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_marginBottom="10dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="50dp"

android:textSize="20sp"

android:text="你见过埃及的金字塔吗?"

/>

android:id="@+id/radioGroupId"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:id="@+id/YesId"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginBottom="10dp"

android:layout_marginLeft="50dp"

android:layout_marginRight="30dp"

android:layout_marginTop="30dp"

android:text="Yes"

/>

android:id="@+id/NoId"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginBottom="10dp"

android:layout_marginLeft="30dp"

android:layout_marginRight="50dp"

android:layout_marginTop="30dp"

android:text="No"

/>"

android:id="@+id/quedingId"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_marginBottom="5dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="40dp"

android:text="确定"

/>

<2>、问题二:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:scaleType="centerCrop"

android:background="@drawable/jiniunai1"

>

android:id="@+id/question02"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="10dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="50dp"

android:textSize="20sp"

android:text="你挤过牛奶吗?"

/>

android:id="@+id/radioGroupId"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:id="@+id/YesId"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="10dp"

android:layout_marginLeft="50dp"

android:layout_marginRight="30dp"

android:layout_marginTop="30dp"

android:text="Yes"

/>

android:id="@+id/NoId"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="10dp"

android:layout_marginLeft="50dp"

android:layout_marginRight="30dp"

android:layout_marginTop="30dp"

android:text="No"

/>"

android:id="@+id/quedingId"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="5dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="40dp"

android:text="确定"

/>

<3>、问题三:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="@drawable/qianshui"

>

android:id="@+id/question03"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginBottom="10dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="50dp"

android:textSize="20sp"

android:text="你有没有和海豚一起潜水呢?"

/>

android:id="@+id/radioGroupId"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:id="@+id/YesId"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="10dp"

android:layout_marginLeft="50dp"

android:layout_marginRight="30dp"

android:layout_marginTop="30dp"

android:text="Yes"

/>

android:id="@+id/NoId"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="10dp"

android:layout_marginLeft="30dp"

android:layout_marginRight="50dp"

android:layout_marginTop="30dp"

android:text="No"

/>"

android:id="@+id/quedingId"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="5dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="40dp"

android:text="确定"

/>

<4>、结果:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="@drawable/xiao"

>

android:id="@+id/helpId"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginBottom="10dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="50dp"

android:textSize="20sp"

android:text="你的测试结果如下,此结果仅供参考:"

/>

android:id="@+id/resultId"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginBottom="10dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="50dp"

android:textSize="20sp"

/>

android:id="@+id/fanhuiId"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="5dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="60dp"

android:text="返回主界面"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginBottom="5dp"

android:layout_marginLeft="30dp"

android:layout_marginRight="20dp"

android:layout_marginTop="60dp"

android:text="@string/edition"

/>

(3)、游戏规则界面:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="@drawable/xiao"

>

android:id="@+id/ruleId"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginBottom="10dp"

android:layout_marginLeft="60dp"

android:layout_marginRight="60dp"

android:layout_marginTop="50dp"

android:textSize="20sp"

android:text="本游戏总共不超过5道问题,请你根据自身情况进行选择,是选Yes,不是选No,选择好都按确定按钮,答题结束后,我们将为您提供测试的结果供您参考,谢谢使用! "

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginBottom="5dp"

贪吃蛇游戏课程设计实验报告全解

辽宁科技大学课程设计说明书 设计题目:基于C#的贪吃蛇游戏 学院、系:装备制造学院 专业班级:计算机科学与技术 学生姓名:叶佳佳 指导教师:丁宁 成绩: 2015年12月12日

目录 一、概述 (1) 1、用C#实现该设计的方法 (1) 2、贪吃蛇游戏说明 (1) 二、实验目的及设计要求 (1) 1、实验目的 (1) 2、实验要求 (2) 三、课程设计具体实现 (2) 1、概要设计 (2) 1.1、设计思想 (2) 1.2、主模块实现 (2) 1.3、主函数流程图 (4) 2、详细设计 (5) 2.1、设计思想 (5) 2.2、具体模块实现: (5) 四、调试过程及运行结果 (10) 1、调试过程 (10) 2、实验结果 (11) 五、实验心得 (12) 六、参考资料 (13) 七、附录:源代码 (13)

一、概述 1、用C#实现该设计的方法 首先应该了解设计要求,然后按照功能设计出实际模块,每个模块都要完成特定的功能,要实现模块间的高内聚,低耦合。设计模块是一个相当重要的环节,模块的数量不宜太多,也不宜太少,要是每个模块都能比较简单的转换成流程图。模块设计完成后,就该给每个模块绘制流程图。流程图要尽可能的简单且容易理解,多使用中文,补一些过长的代码,增加理解难度。此外,流程图应容易转换成代码。 根据流程图编写好代码后在WindowsXP操作系统,https://www.360docs.net/doc/bd12290552.html,2008开发环境下进行运行测试,检查错误,最终设计出可行的程序。 2、贪吃蛇游戏说明 游戏操作要尽可能的简单,界面要尽可能的美观。 编写程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁、障碍物或身体交叉(蛇头撞到自己的身体),则游戏结束。游戏结束时输出相应得分。 具体要求有以下几点: (1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; (2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面; (3)说明书、流程图要清楚; 二、实验目的及设计要求 1、实验目的 .NET课程设计是教学实践环节中一项重要内容,进行此课程设计旨在掌握基础知识的基础上,进一步加深对VC#.NET技术的理解和掌握; 提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质; 培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新 1

《游戏设计》课程设计指导书

《游戏设计》课程设计指导书 编写:蔺广逢 适用于:数字媒体专业 2011.12

游戏设计课程设计任务书 设计时间:1周学分数:1.0 执笔人:范彩霞编写日期:2008年10月 一、课程设计目的 游戏设计课程设计是数字媒体技术专业必修的实践环节。本课程设计是《游戏设计》课程实践环节的深化和延续。通过该实践环节的训练,使学生能够更加全面和系统的掌握游戏设计的体系结构。通过对所做游戏的故事梗概、游戏类型以及设计制作过程中所涉及的相关技术的学习和掌握,提高学生的实践能力以及团队协作能力,为在计算机游戏设计这一领域进行深入研究做准备。 二、课程设计的内容与要求 本课程设计通过分组来进行,每组3~4人。对每一个组,都必须设计和实现一个完整的游戏,游戏的类型不限,软件运行环境限为Microsoft Windows,硬件平台限为PC。在每组进行游戏设计之前必须提供游戏文档说明,包括游戏的故事情节、游戏的类型、游戏界面的设计等。每组设计的游戏不一定是原创的,但绝不能抄袭已有的游戏。 每组设计的游戏需要有较为完整的情节,要求能体现以下的基本技术:提供使用键盘或鼠标控制视点的朝向和运动的功能;在游戏中至少有一个人物是三维的,并且能产生相应的动画。必须在某个场景中有配音或者背景音乐;最好能在某一个画面中体现一些特效技术;必须能实时或者准实时运行。 游戏设计完成后对自己所做的游戏进行短评,包括:游戏中的哪一部分是最得意的?对最初的游戏设计作了哪些修改,为什么?在这个游戏项目的实践中获得的经验和教训是什么?如果有更多的时间下一步会怎么做? 三、课程设计的报告(论文、作业)的要求 课程设计报告是课程设计过程的整理和总结。因此,编写课程设计报告是课程设计阶段的一个重要组成部分。课程设计报告的内容和要求根据设计内容而定,对于本课程设计,主要应包括以下内容: 封面:封面上应标明“游戏设计课程设计”报告、专业、姓名、学号与时间等; 课程设计报告内容主要包括: (1)课程设计的目的;

c++课程设计报告-掷骰子游戏

目录 一、课题设计的内容与主要功能............. 错误!未定义书签。题目内容 ............................... 错误!未定义书签。 功能.................................. 错误!未定义书签。二.课题分析 ............................ 错误!未定义书签。项目的实现方法 ......................... 错误!未定义书签。 类的声明.............................. 错误!未定义书签。 》 核心算法及其实现代码.................... 错误!未定义书签。程序流程图 ............................. 错误!未定义书签。三.主要功能的实现步骤................... 错误!未定义书签。四.程序测试 ............................ 错误!未定义书签。测试计划 ............................... 错误!未定义书签。测试过程 ............................... 错误!未定义书签。 五、总结 (12) 六、参考书籍 (14) 【 七、附件 (15) 程序的源代码........................... 错误!未定义书签。评分表 (27)

一、课题设计的内容与主要功能 题目内容 ` 编写程序实现投掷双骰子游戏,游戏规则为:游戏者每次投掷两颗骰子,每颗骰子是一个正方体,有6面上面分别标有1、2、3、4、5、6个圆点,当骰子停止时,将每颗骰子朝上的点的数相加,在第一次投掷骰时, 如果所得到的和为7或11,那么游戏者为赢得胜利; 如果所得到的和为2、3或12,那么游戏者为输掉了;如果和为4、5、6、8、9或10,那么为游戏者的点数;如要想赢得胜利,必须继续投掷骰子,直到取得自已的点数为止, 但是如果投掷出的和为7或者连续投掷了6次仍未赚得点数,那么游戏者为输了。 功能 该游戏的主要功能为:实现随机投掷两个骰子把其所得点数相加,然后根据点数和判断玩家的输、赢或平局。在游戏中有1.获得帮助 2.玩一手游戏 3.退出游戏三个提示,分别为玩家提供帮助指示、选择进入新的游戏、退出当前的游戏并为该局游戏显示游戏结果。 二.课题分析

《c语言课程设计报告--小游戏“石头剪子布”》

《C语言课程设计》报告题目:石头剪子布 班级: 学号: 姓名: 指导教师: 成绩:

目录: 一、选题背景...................................................................................................................... - 2 - 二、设计思路...................................................................................................................... - 2 - 三、主要问题的解决方法及关键技术.............................................................................. - 3 - 四、程序流程图.................................................................................................................. - 3 - 五、源程序清单.................................................................................................................. - 6 - 六、程序运行结果.............................................................................................................. - 8 - 七、设计总结...................................................................................................................... - 9 - 八、教师评语.................................................................................................................... - 10 - 一、选题背景 通过一个学期的C语言课程的学习,《C语言程序设计》课程已结束,根据学校课程学习的安排,要进行一周的C语言实习,自己动手编写游戏和系统。根据老师布置的设计任务书,按照学委的安排,根据个人的能力及意愿,我选择了设计一格小游戏:石头剪子布。 实验准备:做游戏前,首先,自己详细看了《C语言程序设计》(教科书),理解了相关函数的用法和作用;另外,上网查询了很多相关资料,还有找了很多相关的游戏设计的代码,都详细的看了一遍,加深了对C语言以及相关内容进一步理解。根据实际情况设计出一款比较理想的小游戏。 设计题目的要求: ①游戏要设置开始,结束操作控制 ②游戏要有时间提示即相关结果的提示语 ③游戏要能自动判断输赢,并显示最终比赛结果 二、设计思路 系统功能模块图: 输入:计算机随机输入选择,用户输入选择,并将数据储存。 计算:根据计算机和用户的选择,计算大小,并判断输赢,计算用户的胜负率,并储存。 输出:根据用户的输入,将用户的游戏结果显示在屏幕上。

2048小游戏java课程设计报告书

《JA V A语言程序设计》 课程设计报告 2048智力小游戏设计 专业班级:计算机科学与技术嵌入13-1 学生姓名:卓海有 学生学号: 小组成员:单建飞堵文斐李栋承梅孔伟指导教师姓名:宋强

目录 1.前言 (1) 2.游戏需求分析 (1) 需求分析 (1) 可行性分析 (2) 3.概要设计 (3) 4.详细设计 (4) 流程图 (4) 界面的整体布局 (4) 方法模块分析 (5) 5.测试 (8) 6.总结 (10) 6.参考文献 (10) 7.部分源代码: (10)

一、前言 最近以来,移动手游越来越成为当下游戏产业中重要的一环,市场也在加大对这一产业的投入,涌现出了愤怒的小鸟,水果忍者,flappy bird,2048等诸多优秀的手游,然而任何一款手游能够风靡,主要还是依靠其简单的操作性,因此本次java课设我选择其中的典型2048PC版作为本次课设的课题。 2048游戏规则很简单,玩家每次可以选择上下左右其中一个方向去移动,每移动一次,所有的数字方块都会往移动的方向靠拢外,系统也会在空白的地方随机出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出“2048”这个数字方块。 二、游戏需求分析 需求分析 现代社会对休闲小游戏的需求是:提高游戏的操作可行性,降低游戏的操作难度,降低游戏的上手难度,降低游戏的竞争需求,对使用设备的要求趋于简单化和多样化,游戏界面更加人性化,功能更加贴合使用。 (1)界面 一款的好的游戏其界面必须友好,简洁已经成为当今UI设计的主流,简单易上手才能得到玩家的青睐。 (2)功能需求 能够显示游戏的当前得得分,并记录游戏的最高分并显示,当在次打开游戏时,能够显示最高分;在游戏进行的过程中循环播放音乐,并能够关闭音乐或者打开音乐;游戏的主界面上,相同的数字要显示相同的颜色。游戏结束要有相应的提示。游戏的主要目的是通过上下左右移动来将相邻相同的数字相加,通过不断地累加最终加到2048。 (3)操作性需求 游戏的体验是衡量一款游戏的关键,本游戏可通过键盘w,s,a,d以及方向键来控制方块的移动,还可以通过在游戏的主面板中向上下左右拖动鼠标

电子技术乒乓球比赛游戏机课程设计报告书

1绪论 1.1选题背景 1.1.1 课题目的及意义 本次课程设计的容是独立完成一个乒乓球比赛游戏机的设计,采用EWB电路仿真设计软件完成乒乓球比赛游戏机电路的设计及仿真调试,在微机上仿真实现乒乓球比赛游戏机的设计。通过这次课程设计让我们了解和熟悉了乒乓球游戏机的原理和Multisim仿真设计软件的操作,也让我们加深了解了对双向移位寄存器、双D触发器及、加法器及逻辑门电路的一些实际用途,并将理论与实践相结合。 1.1.2 课题的容和要求 独立完成一个乒乓球比赛游戏机的设计,采用EWB电路仿真设计软件完成乒乓球比赛游戏机电路的设计及仿真调试,在微机上仿真实现乒乓球比赛游戏机的设计。 课程设计具体容如下:乒乓球比赛是由甲乙双方参赛,加上裁判的三人游戏(也可以不用裁判),乒乓球比赛模拟机是用发光二极管(LED)模拟乒乓球运 乒乓球比赛模拟机框图 设计要求:

1、基本部分 (1) 至少用8个LED排成直线,以中点为界,两边各代表参赛双方的位置,其中一个点亮的LED(乒乓球)依次从左到右,或从由到左移动,“球”的移动速度能由时钟电路调节。 (2) 当球(被点亮的那只LED)移动到某方的最后一位时,参赛者应该果断按下自己的按扭使“球”转向,即表示启动球拍击中,若行动迟缓或超前,表示未击中或违规,则对方得一分。 (3) 设计自动记分电路,甲乙双方各用一位数码管显示得分,每记满9分为一局。 2、发挥部分(选做) (1) 甲乙双方各设一个发光二极管表示拥有发球权,每得5分自动交换发球权,拥有发球权的一方发球才能有效。 (2) 发球次数能由一位数码管显示。 (3) 一方得分,电路自动响铃3秒,此期间发球无效,等铃声停止后方可比赛。 课题任务要求 1、画出总体设计框图,以说明乒乓球比赛游戏机由哪些相对独立的功能模块组成,标出各个模块之间互相联系,时钟信号传输路径、方向和频率变化。并以文字对原理作辅助说明。 2、设计各个功能模块的电路图,加上原理说明。 3、选择合适的元器件,在EWB上连接验证、仿真、调试各个功能模块的电路。在连接验证时设计、选择合适的输入信号和输出方式,在充分电路正确性同时,输入信号和输出方式要便于电路的仿真、调试和故障排除。 4、在验证各个功能模块基础上,对整个电路的元器件和连接,进行合理布局,进行整个数字钟电路的连接验证、仿真、调试。 5、自行接线验证、仿真、调试,并能检查和发现问题,根据原理、现象和仿真结果分析问题所在,加以解决。学生要解决的问题包括元器件选择、连接和整体设计引起的问题。 1.2 方案选择 根据设计任务,对照图乒乓球比赛模拟及1.1,可以分为三个模块进行设计:

《贪吃蛇游戏课程设计》报告

贪吃蛇游戏程序设计 一、课程设计任务 贪吃蛇小游戏程序设计 二、设计要求 通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。 (1).收集资料,分析课题,分解问题,形成总体设计思路; (2).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍; (3).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行; (4).完成课程设计报告,并进行答辩 三、需求分析 3.1、程序功能 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。 3.2、设计思想 程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇

的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。 3.3、流程图

四、设计的具体实现 (1)函数定义 函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用 #define N 200 #define M 200 #include"graphics.h" #include #include #include #include #include #include #include #define LEFT 97//A #define RIGHT 100//D #define DOWN 115//S #define UP 119//W #define Esc 0x011b int i,key; int score=0; int gamespeed=250;//游戏速度可根据实际情况自行调整 struct Food { int x;//食物的横坐标 int y;//食物的纵坐标 int yes;//判断是否要出现食物的变量}food;//食物的结构体 struct Snake { int x[M]; int y[M]; int node;//蛇的节数 int direction;//蛇的移动方向 int life;//蛇的生命,0表示活着,1表示死亡 }snake; void Init();//图形驱动 void Close();//图形结束 void DrawK();//开始画面 void GamePlay();//玩游戏的具体过程void GameOver();//游戏结束 void PrScore();//输出成绩 (2)主函数main( ) 主函数是程序的主流程,首先定义使用到的常数、全局变量及函数原型说明,然后初始化图形系统,调用函数DrawK()画出开始画面,调用函数GamePlay(),即玩游戏的具体过程,游戏结束后调用Close()关闭图形系统,结束程序 void main()//主函数 { Init();//图形驱动 DrawK();//开始画面

Unity课程设计报告书

移动终端游戏开发课程设计说明书 题目: Flappy Bird游戏设计 院系: 专业班级: 学号: 学生: 指导教师: 2016年 6 月 30 日

理工大学课程设计(论文)任务书 学院 2016年 4月 1 日

理工大学课程设计(论文)成绩评定表

目录 1 需求分析 (1) 2 概要设计 (1) 2.1 设计思路 (1) 2.2 存储结构设计 (2) 2.3 功能模块设计 (3) 3 详细设计 (3) 3.1 游戏工程视图 (3) 3.2 游戏界面布局 (5) 3.3 功能模块设计实现 (6) 3.3.1游戏开始设计 (6) 3.3.2小鸟移动模块设计 (7) 3.3.3管道碰撞模块设计 (8) 3.3.4场景延续模块设计 (8) 3.3.5分数统计模块设计 (8) 3.3.6游戏结束模块设计 (9) 3.4 其他设计实现 (10) 3.4.1 摄像机的跟随 (10) 3.4.2 游戏音效的添加 (11) 3.4.3 游戏开始界面的设计 (11) 4 运行与测试 (12) 5 总结 (15) 参考文献 (15)

1 需求分析 1.技术需求: 此游戏是在Unity5.3.3上开发出来的,Unity5.3.3可以支持2D、3D场景的编辑,本游戏是基于3D场景开发的。游戏中的脚本语言使用的是C#,Unity5.3.3中的Monodevelop为脚本编辑提供了平台。 2.功能需求: Flappy Bird是一款益智类的小游戏,其玩法为:游戏开始后,玩家需间歇性的点击鼠标,让小鸟向上飞,不会掉下来,并且要穿过随机出现的管道的间隙,不能碰到管道,碰到就游戏结束,穿过一个管道就可以得到一分。其制作包括对以下六大功能的需求: (1)当开始游戏后,玩家需要单击指定位置才能开始游戏,否则无法开始;(2)需要通过点击屏幕来控制小鸟的位置,完成使小鸟上下移动的功能;(3)需要对小鸟是否碰到地面或者管道进行判断,从而决定游戏是否结束;(4)需要设置触发器以实现场景的延续,当小鸟碰到触发器,场景中的第一幅背景便挪到最后一幅的后面,从而实现视觉上场景不断出现的效果; (5)需要对玩家进行记分,并对最高分进行判断和存储; (6)在失败后,需要使玩家通过点击按钮重新开始游戏。 2 概要设计 2.1 设计思路 Flappy Bird 是一款形式简易但难度极高的休闲游戏,我们打算使用unity开发工具来制作这款游戏。经过分析,我们首先要完成的是对素材的收集,我们可以从网上搜索下载,也可以自己使用PS等工具来画。其次,我们需要对整个游戏进行模块划分,理清整个游戏是由哪几个模块组成的,经过讨论分析,我们得出这个游戏共需要六大模块。分析完之后,便进入了正式的游戏制作环节,我们需要对各个模块进行详细设计,其中包括页面布局、碰撞检测、小鸟飞行动画等。完成各个模块的详细设计后,我们便可以在unity中对它们进行组装和拼接,并运行测试,修改错误和不适当的地方。自此,整个游戏就设计完成了。

unity3d游戏课程设计报告报告

游戏程序设计课程报告 课程: Unity3D课程设计 题目:探索迷宫 班级: 学号: 姓名: 日期: 2014.12

一、摘要 UNITY游戏是一种新型的 IT引擎。我们研究主要内容是UNITY 游戏设计方法。指以游戏客户端软件为窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性单人游戏。 本报告主要讲述了这个小游戏的设计思路及初步使用Unity3D 软件的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。 基于UNITY基础,构建了一个益智游戏风格的游戏,并有主角与关卡、游戏逻辑、游戏环境界面等设计,使得玩家可以在场景中进行寻找神龛的冒险游戏。 本游戏的控制很简单,及用键盘的WASD及SPACE五个控制人物的上下左右跳跃五个方向,用户根据自己的战略方式选择寻找油桶点亮煤油灯然后寻找神龛。 二、概述 《UNITY游戏程序设计》这一课程以大作业形式进行考核,能更好地锻炼学生综合运用本课程所授知识的能力。大作业主要内容为设

计完成面向某一主题内容的游戏演示程序。 自选游戏主题,并根据所选定的主题内容设计一个典型的游戏场景及玩家逻辑,其中包含主角与关卡,游戏逻辑,游戏环境界面与交互过程等的设计;开发完成与设计相符的游戏Demo。 要求使用Unity3D游戏开发软件实现上述游戏Demo。 三、具体要求 1、每人单独完成,特殊可由多人合作完成。 2、游戏主题自拟。 3、根据所设游戏主题、场景及玩家逻辑,实现完成相应的游戏 Demo,并撰写设计开发报告。 四、设计主题 基于视频教程“平衡球”的基础,构建了一个益智游戏风格的游戏,并有主角与关卡(一关)、游戏逻辑(触碰油桶、神龛)、游戏环境界面(通道)等设计,使得玩家可以在场景轨道中进行吃油桶、神龛的冒险游戏。 五、设计思路 本游戏以几个环环相扣的通道作为人物运动的轨迹,在通道上分别设计一些油桶,通过电脑上的WASD SPACE分别控制人物的运动方向;如果人物运动位置没有偏离所设计通道平面而且碰触到油桶,即算初步成功,当人物吃掉所设计的油桶,油灯就会点亮。当人物找到并吃掉所设计的神龛,就会通过关卡。 本报告主要讲述了这个小游戏的设计思路及初步使用Unity3D

Unity游戏综合课程设计报告

湖北民族学院综合课程设计 项目名称:Rpg游戏《我的奇妙之旅》 专业:数字媒体技术 班级: 学期:大三 成员:姓名学号 胡芳惠031341302 裴王杰031341315 唐青031341326

数字媒体技术专业制2016年7月

目录第一章项目概述 第二章项目研究内容 第三章项目关键技术 第四章项目实验测试 第五章项目结论 参考文献

第一章项目概述 本项目是基于unity 3D 平台开发的三维的RPG(冒险类)游戏:英文名称为“the miraculous journey”,又称为“我的奇妙之旅”。这是一个通过玩家控制主角的行走、攻击、拾取,打败怪物、获取资源以便通关进入下一个关卡继续冒险的游戏,所以本游戏是一个偏生存类的游戏,需要玩家通过理性的分析是否去攻击怪物,而去获得最终的胜利。和其他unity游戏相比,我们更注重玩家的体验,比如控制主角的动作的连贯性,技能释放的特效华丽及合法性等等,而作为一个3d类的游戏,我们采用第三人称视角去展示主角的的视角,让玩家不容易出现纯3d视角带来的不适,可以让玩家更快的去适应整个游戏的风格。总的来说,我们小组所做的这款游戏集合了我们组内所有成员对以前所玩游戏的不足之处都加以改进,让游戏更加适应更多的玩家。本文中所述的游戏项目开发工具是Unity 3D 自带的开发工具,叫做MonoBehaviour,选择的开发语言是c#。项目的开发过程主要分为前期、中期和后期。前期需要与导师、组员之间进行协调沟通,确定好游戏开发的类型为RPG冒险类游戏,然后组员之间对游戏的开发进行框架设计、游戏规则确定、游戏代码理论设计等前期的设计工作。中期为游戏具体的开发环节,要根据前期的设计要求,查找好素材资源,包括游戏场景、游戏主角原型、NPC原型、UI素材以及音效等资源等,然后对游戏进行场景搭建、功能实现、UI设计、添加音效等操作来实现游戏的开发。在后期需要对已经制作好的初级游戏进行不断的测试,找到并完善游戏中存

unity3d游戏课程设计报告

游戏程序设计课程报告 课程:Unity3D课程设计 题目:探索迷宫 班级: 学号: 姓名: 日期:2014.12 一、摘要

UNITY游戏是一种新型的IT引擎。我们研究主要内容是UNITY 游戏设计方法。指以游戏客户端软件为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性单人游戏。 本报告主要讲述了这个小游戏的设计思路及初步使用Unity3D 软件的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。 基于UNITY基础,构建了一个益智游戏风格的游戏,并有主角与关卡、游戏逻辑、游戏环境界面等设计,使得玩家可以在场景中进行寻找神龛的冒险游戏。 本游戏的控制很简单,及用键盘的W ASD及SPACE五个控制人物的上下左右跳跃五个方向,用户根据自己的战略方式选择寻找油桶点亮煤油灯然后寻找神龛。 二、概述 《UNITY游戏程序设计》这一课程以大作业形式进行考核,能更好地锻炼学生综合运用本课程所授知识的能力。大作业主要内容为设计完成面向某一主题内容的游戏演示程序。 自选游戏主题,并根据所选定的主题内容设计一个典型的游戏场景及玩家逻辑,其中包含主角与关卡,游戏逻辑,游戏环境界面与交

互过程等的设计;开发完成与设计相符的游戏Demo。 要求使用Unity3D游戏开发软件实现上述游戏Demo。 三、具体要求 1、每人单独完成,特殊可由多人合作完成。 2、游戏主题自拟。 3、根据所设游戏主题、场景及玩家逻辑,实现完成相应的游戏 Demo,并撰写设计开发报告。 四、设计主题 基于视频教程“平衡球”的基础,构建了一个益智游戏风格的游戏,并有主角与关卡(一关)、游戏逻辑(触碰油桶、神龛)、游戏环境界面(通道)等设计,使得玩家可以在场景轨道中进行吃油桶、神龛的冒险游戏。 五、设计思路 本游戏以几个环环相扣的通道作为人物运动的轨迹,在通道上分别设计一些油桶,通过电脑上的WASD SPACE分别控制人物的运动方向;如果人物运动位置没有偏离所设计通道平面而且碰触到油桶,即算初步成功,当人物吃掉所设计的油桶,油灯就会点亮。当人物找到并吃掉所设计的神龛,就会通过关卡。 本报告主要讲述了这个小游戏的设计思路及初步使用Unity3D 软件的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。

安卓益智小游戏课程设计报告书

西安**大学 安卓游戏课程设计报告书 院系名称: 专业班级: 学生姓名: 学号: 时间:

Android益智游戏 一、题目: 设计一个ANDROID游戏(BEEN THERE DONE THAT) 社交益智游戏一直很流行,它可以使大家熟悉众多的ANDROID SDK的功能。这是一个有关旅行的社交益智游戏。在这个游戏中,将向用户询问一些有关旅行和相关经历的问题。例如: 你见过埃及的金字塔吗? 你挤过牛奶吗? 你与海豚一起潜过水吗? 二、基本功能: 1、显示应用程序的名称、版本和开发人员的启动屏幕。 2、解释游戏规则:显示文本文件解释如何玩游戏。 3、游戏介绍:在帮助中以文本形式提供游戏的介绍。 4、游戏向用户提出一系列问题,并记录用户做出肯定回答的次数。对于每一个问题,都将显示文本和图形。例如,游戏屏幕可能显示一张山脉图片,询问用户是否爬过山,并记录用户的答案:YES或者NO。 5、可以退出游戏。 三、功能模块图:

四、系统流程图:

五、游戏运行图: 1、游戏主界面: 2、游戏规则界面与帮助界面:

3、游戏界面:(包含三个问题界面)

4、结果页面(根据选择可显示三种不同结果) 六、源代码: 1、Java代码(实现页面跳转,按钮功能,传值的功能的Avtivity类) (1)、主界面:(实现游戏开始、规则、帮助页面的跳转,并实现退出功能)package com.luman.luman; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.View;

扫雷游戏程序设计课程设计报告

课 程 设 计 扫雷游戏程序设计 2013 年 11 月 5 日 设计题目 学 号专业班级 学生姓名 指导教师

合肥工业大学课程设计任务书

一.设计任务 (1)鼠标左击排雷,右击插小旗,打问号; (2)方格里面的数字表示方格周围的雷数; (3)能够显示未标记雷数和游戏用时; (4)雷区上面的小脸可以变化,显示微笑,惊讶,痛苦,胜利。在任何情况下单击小脸可以重新开始游戏; (5)可进行游戏难度的设定:包括预定义的难度级别(雷区行数,列数和雷数),和自行定义雷区行数,列数和雷数的功能; (6)排行榜功能,扫雷成功时候,根据游戏用时更新排行榜。 二. 具体设计 (一)、设计思路 扫雷游戏是很经典也很有趣的一款游戏,这次的游戏程序设计要求设计出功能与原游戏相近的一款游戏,首先定义变量和类要画出游戏方格以及位图,设计游戏等级,等级越高方格越多雷数也越多;然后设置随机布雷以保证每次重新开始游戏都有不同的雷区地图;另外定义鼠标左击扫雷,左击标记周围埋雷情况,右击奇数次排雷偶数次取消上次排雷,以及扫雷第一次左击不能扫到雷。

(二)、设计表示: 1、鼠标左击排雷,右击插小旗,打问号; 2、方格里面的数字表示方格周围的雷数; 3、能够显示未标记雷数和游戏用时; 4、雷区上面的小脸可以变化,显示微笑,惊讶,痛苦,胜利。在任何情况下单击小脸可以重新开始游戏; 5、可进行游戏难度的设定:包括预定义的难度级别(雷区行数,列数和雷数); 6、任何时候开始游戏第一次点击不会扫到雷。 由于时间等原因未完成功能: 排行榜和自行定义雷区行数,列数和雷数功能。 (四)、详细设计 1、添加位图 前十二幅是在雷区的,后四幅是按钮。为了便于加载,必须各自保证其连续性。 分别表示游戏进行的状态、结果胜利或触雷。

扫雷游戏-课程设计报告

扫雷游戏-课程设计报 告

J A V A课程设计题目:扫雷游戏 院(系)计算机信息工程学院 专业网络工程 班级 13级网络工程1班 学生姓名方琴刘莉虹程子卿薛中意 设计时间 2015年8月 指导教师万中英 提交日期2015年10月8日 摘要

《扫雷》是一款大众类的益智小游戏。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷。先任意点开少量的方格,没有爆炸时,会出现一个数字,这个数字代表的意思是以它为中心的9个格子内所有雷的个数。一般围在一堆数字中间的有可能是雷,你在你认为是雷的那里插旗,就可以把它设定为雷,然后在数字区用鼠标左右键双击,可以打开非雷区,等打开所有非雷区,你就赢了。 采用GUI界面设计,窗口定位,绘图机制,鼠标监听等Java 技术。用户可以自己选择地雷的数量,地雷随机分布在17*24的方块矩阵中,地雷数量越多,难度越大。鼠标放在方格上,单击鼠标左键开始游戏,按空格键插旗。如果插旗错误,或是点击到了地雷,则游戏失败。 1.2 课程设计要求 (4)

1.1 该设计的目的及意义 1.利用扫雷游戏巩固和Java语言程序设计这一课程的基本知识的理解 和掌握; 2.掌握Java语言程序设计中编程和程序调试的基本技能; 3.基本掌握完全面向对象程序设计的基本思路和方法; 4.利用Java语言程序设计学会基本的软件设计; 5.掌握书写程序设计说明文档的能力。 1.2 课程设计要求 1. 分析课程设计题目的思路及要求; 2. 编写程序代码,调试程序使其能正确运行; 3. 设计完成的软件要便于操作和使用,有整齐、美观的使用界面; 4. 能实现简单的扫雷游戏; 1.3 相关技术 1.GUI界面设计;

小游戏Java课程设计报告书

《JAVA 语言程序设计》 课程设计报告 2048智力小游戏设计 专业班级:计算机科学与技术嵌入13-1 学生姓名:卓海有 学生学号: 小组成员:单建飞堵文斐李栋承梅孔伟 指导教师姓名:宋强

目录 4 4 4 5 8 10 10 10

一、前言 最近以来,移动手游越来越成为当下游戏产业中重要的一环,市场也在加大对这一产业的投入,涌现出了愤怒的小鸟,水果忍者,flappybird,2048等诸多优秀的手游,然而任何一款手游能够风靡,主要还是依靠其简单的操作性,因此本次java课设我选择其中的典型2048PC版作为本次课设的课题。 2048游戏规则很简单,玩家每次可以选择上下左右其中一个方向去移动,每移动一次,所有的数字方块都会往移动的方向靠拢外,系统也会在空白的地方随机出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出“2048”这个数字方块。 二、游戏需求分析 需求分析 现代社会对休闲小游戏的需求是:提高游戏的操作可行性,降低游戏的操作难度,降低游戏的上手难度,降低游戏的竞争需求,对使用设备的要求趋于简单化和多样化,游戏界面更加人性化,功能更加贴合使用。 (1)界面 一款的好的游戏其界面必须友好,简洁已经成为当今UI设计的主流,简单易上手才能得到玩家的青睐。 (2)功能需求 能够显示游戏的当前得得分,并记录游戏的最高分并显示,当在次打开游戏时,能够显示最高分;在游戏进行的过程中循环播放音乐,并能够关闭音乐或者打开音乐;游戏的主界面上,相同的数字要显示相同的颜色。游戏结束要有相应的提示。游戏的主要目的是通过上下左右移动来将相邻相同的数字相加,通过不断地累加最终加到2048。 (3)操作性需求 游戏的体验是衡量一款游戏的关键,本游戏可通过键盘w,s,a,d以及方向键来控制方块的移动,还可以通过在游戏的主面板中向上下左右拖动鼠标

猜数字游戏C语言课程设计报告书

. .. . .. .. 《C程序设计》 课程设计报告(2014—2015学年第2 学期) 题目:猜数字游戏 学院:机械工程学院 班级:机械1310班 学号:1303090190 姓名:杨晨 指导教师:罗涛华 时间:起2015年5月25日止2015年5月31日

一、课程设计基本信息 课程代码:05190124 课程名称:计算机基础课程设计 课程英文名称: Computer-based Course Design 课程所属单位(院(系)、教研室):数学与计算机学院计算机基础课程群 课程面向专业:食品科学与工程学院、机械工程学院、电气与电子工程学院、土建学院、动物科学与营养工程学院、化学与环境工程学院、工商管理类、国际经济与贸易、旅游管理、金融学、行政管理、汉语言文学、英语、护理学、康复治疗专业、生物科学类、制药工程、制药工程(生物制药)、药物制剂、物流管理 课程类型:必修课 先修课程:大学计算机基础通识选修课程、程序设计课程 学分:1 总学时:1周 二、课程设计目标 掌握所学语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能:1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2.通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 3.系统设计编程简练,可用,功能全面,并有一定的容错能力。用户界面良好,有较好的输出功能。在完成课题基本要求后,具有创新型设计,具有一定的实用价值。 4.根据个人的设计调试过程,撰写设计报告。 三、课程设计内容 熟练掌握所学语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。 四、课程设计要求 1.要求每个同学都要认真对待,积极参与。 2.课程设计结束时,提交完成的所有源程序、相关文件和可执行文件。同时填写并完 成《课程设计报告册》。 3.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计中完全未参 与的将作不及格处理。

unity3d游戏课程设计报告报告

游戏程序设计课程报告 课程:Un ity3D 课程设计 题目:探索迷宫 班级:________________ 学号:______________ 姓名:_______________________ 日期:2014.12 ___________ 一、摘要

UNITY游戏是一种新型的IT引擎。我们研究主要内容是UNITY 游戏设计方法。指以游戏客户端软件为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性单人游戏。 本报告主要讲述了这个小游戏的设计思路及初步使用Un ity3D 软件的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。 基于UNITY基础,构建了一个益智游戏风格的游戏,并有主角与关卡、游戏逻辑、游戏环境界面等设计,使得玩家可以在场景中进行寻找神龛的冒险游戏。 本游戏的控制很简单,及用键盘的WAS及SPAC五个控制人物的上下左右跳跃五个方向,用户根据自己的战略方式选择寻找油桶点亮煤油灯然后寻找神龛。 二、概述 《UNITY游戏程序设计》这一课程以大作业形式进行考核,能更 好地锻炼学生综合运用本课程所授知识的能力。大作业主要内容为设计完成面向某一主题内容的游戏演示程序。 自选游戏主题,并根据所选定的主题内容设计一个典型的游戏场景及玩家逻辑,其中包含主角与关卡,游戏逻辑,游戏环境界面与交互过程等的设

计;开发完成与设计相符的游戏Demo 要求使用Unity3D游戏开发软件实现上述游戏Demo 三、具体要求 1、每人单独完成,特殊可由多人合作完成。 2、游戏主题自拟。 3、根据所设游戏主题、场景及玩家逻辑,实现完成相应的游戏 Demo并撰写设计开发报告。 四、设计主题 基于视频教程“平衡球”的基础,构建了一个益智游戏风格的游 戏,并有主角与关卡(一关)、游戏逻辑(触碰油桶、神龛)、游戏环境界面(通道)等设计,使得玩家可以在场景轨道中进行吃油桶、神龛的冒险游戏。 五、设计思路 本游戏以几个环环相扣的通道作为人物运动的轨迹,在通道上分别设计一些油桶,通过电脑上的WASD SPACE别控制人物的运动方向;如果人物运动位置没有偏离所设计通道平面而且碰触到油桶,即算初步成功,当人物吃掉所设计的油桶,油灯就会点亮。当人物找到并吃掉所设计的神龛,就会通过关卡。 本报告主要讲述了这个小游戏的设计思路及初步使用Un ity3D 软件的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。

java火柴游戏课程设计报告

成绩评定表

课程设计任务书

目录 一、需求分析 1.1设计要求 (1) 1.2技术原理 (1) 二、概要设计 (1) 三、详细设计 3.1程序类 (2) 3.2主要代码 (2) 四、................................................. 测试10 五、........................................... 收获和体会12 六、参考文献 (12)

需求分析 1.1 设计要求程序随机产生20—50 根火柴,由人与计算机轮流拿,每次拿的数量不超过3根,拿到最后一根为胜。(使用图形界面) 1.2 技术原理 该游戏程序设计的主要内容是使用java 中的各种组件与容器互相搭配来完成的一个小游戏。 游戏设计中的主要的知识要点包括java 的awt 包中的颜色类,图形类,图像类,事件监听器类,和util 包中的stack 类,timer 类,和timertask 类的使用方法,以及swing 包中的窗口类,按钮类,标签类,面板类,复选框类等一些常用组件的用法。 通过这些组件来掌握事件监听器的用法,java 中栈的用法,以及实现了Runnable 类的TimerTask 类的用法,通过这个类实现线程技术,还有Graphics 类中的主要方法的使用,学会运用这些方法来来绘制火柴,绘制图片的目的。 概要设计 1.设置随机数的范围 2.获取随机数 3.设计出人性化的图形界面 4.给予不同的提示完成游戏

三、详细设计 3.1程序类 '..± Package Enplorer 或 -j_r (.default package.) d m J RE System Library Jc -iSE-1 7' -<■>? resources jar - D:\Pro^ram File£\Java^jre# >园rtjar - D:\Pragrafn >0 辰已jn「- D:\PrQgr3m Fif C5\Ja va\jfe7\Jib o 畐j-csjar - D:\Program fil es\J ava\jre7\lib p @ thar^tsjar - D;\P t?gym Files\Java\jrcA D 邑jfrjar - D:\Program File&\Java\jre7\Jlb ?w acce^-bridge.jflr D:-,Frcg「日=1 匚ikf 后阳l> 邑dnsnsjar - D:\Program Files\Java^re7\lib 'Oio jsrce^s.j^r - P:'P「cig「力m F:leC lx ..于jr「7\l「 4 星localedatajar - D^Program Fltes\Java\jr

相关文档
最新文档