当前位置:文档之家› 基于安卓的五子棋游戏

基于安卓的五子棋游戏

基于安卓的五子棋游戏
基于安卓的五子棋游戏

Title : Based on the Android of gobang game Abstract: In recent years, with the popularity of Android phone, Android games will cause direction of customers attention. Gobang as a chess athletics, is very popular in civil. In order to become familiar with the game rules and techniques, and the study of simple artificial intelligence, so I decided to use Java to develop gobang game, mainly complete the function of man-machine battle.

In this program ,combating the features of gobang game, will elaborate the algorithm design of gobang, and prominent the artificial intelligence in the application of the game, and choosing the gobang game development is using computer to realize its artificial intelligence, and training our ability in software development.

In this program, I use eclipse development tool and Java language

to design gobang game.

keywords: Android games gobang man-machine battle

目录

1 引言 (1)

1.1 安卓游戏 (1)

1.2 课题背景 (2)

1.3 我的主要工作 (2)

2 项目概述与需求分析 (3)

2.1 项目概述 (3)

2.2 需求分析 (3)

3 概要设计 (4)

3.1 五子棋解释 (4)

3.2 五子棋的基本规则 (5)

3.3 五子棋的相关术语 (5)

3.4 程序设计分析 (5)

3.5 数据流图 (6)

4 详细设计 (6)

4.1 用例图 (6)

4.2 类图 (8)

4.3 棋盘界面设计 (10)

4.4 核心实现代码 (12)

5 运行测试 (16)

5.1 程序测试 (16)

5.2 测试方法和测试用例 (18)

5.3 测试结论 (18)

5.4 运行效果图 (18)

结论 (20)

致谢 (21)

参考文献 (21)

1 引言

1.1 安卓游戏

运行在安卓系统平台的游戏,运行在安卓平台的游戏深受大家的喜爱。现在,Android游戏不但可以运行于智能手机,也可以运行在平板电脑上。

1.1.1 安卓游戏发展趋势

将向专业化、大规模化方向发展,随着各平台对OpenGL ES支持能力的大力加强,使得开发复杂的3D场景游戏成为可能。更多显示芯片对Android的支持,硬件性能将不再成为制约专业化游戏发展的瓶颈。越来越多在PC、PSP、PS3、XBOX360等各游戏平台占有领先地位的专业游戏公司将向Android等手机平台领域快速渗透,使得游戏的规划更加向专业化方向发展。

将向网络化方向发展,随着各平台对无线通信网络、WIFI网络、蓝牙网络的良好支持,游戏将创新出更好的游戏性和用户本验。网络游戏,多人游戏,联机对战等将进一步强化玩家对游戏的粘着度,并且容易通过对道具等的控制产生营利模式。玩家之间对交互能力的需求也会促成未来的游戏向网络化发展进程的加快。

将向休闲化、时间片化方向发展,移动设备的随身性使是休闲小游戏将得到快速的发展。移动设备对分散时间的利用促进了游戏向时间片化发展,即一个游戏可以随时开始,随时结束,充分利用用户分散的时间片来运行。

1.1.2 开发安卓游戏的意义

由于安卓平台前景广阔,作为安卓平台的应用,即安卓游戏的快速发展,是大势所趋,必然趋势,所以安卓深受广大群众的喜爱。有需求就有供应,游戏开发商在开源的安卓平台上,尽情的发挥他们的想象力,带给我们一款又一款好玩且爱不释手的游戏。比如水果忍者、植物大战僵尸和赛车系列游戏,属于安卓发烧友的装机必备的小游戏。

对于如此之高的安卓系统市场占有率,那么安卓手机的游戏又有何理由不火呢?因此,我们坚信安卓游戏会越来越受到广大朋友的宠爱,且越来越来的安

卓游戏也会进入我们的视野里。

1.2 课题背景

五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为连珠,英译为Renju,英文称只为Gobang或FIR(Five in a Row 的缩写),亦有连五子、五子连、串珠、五幕、五目碰等多种称谓。

五子棋起源于古代中国,发展在日本,风靡于欧洲。对于它于围棋的关系有两种说法,一说早于围棋,早在“尧造围棋”之前,民间就已有五子棋游戏;一说源于围棋,是围棋发展的一个分支。在中国的文化里,倍受人们的青睐。人世纪初五子棋传入欧洲并速度风靡全球。通过一系列的变化,使五子棋这一简单的游戏复杂化、规模化,而最终成为今天的职业连珠五子棋,同时也成为一种国际比赛棋。

1.3 我的主要工作

本次开发使用Android开发平台的eclipse开发工具进行开发,使用Java 语言开发的一款游戏。通过对该游戏程序的编写,还可以巩固我们对以上各种知识的掌握和理解。

对于五子棋游戏,首先我要解决的是游戏界面问题,因为一个清晰美观的界面可以让别人对我们所设计出来的游戏产生好感,一开始考虑界面的设计,界面包括,棋盘,也就是棋子绘制的范围,提示信息,即显示出下棋结果的提示语,还有棋子。为了区分开来,分为黑白两种。我设计玩家执白子,电脑执黑子。

所以把界面分成三个部分:一个是棋盘类,也是主要的类,一个是消息面板的类,还有一个就是控制面板的类。这样一来,我们就可以对他们进行单独的操作了,而且组织他们也比较方便,我们可以根据自己的风格,自己的喜好来组织他们,把整个界面做的美观清晰。而且对他们进行操作也不影响其他组件。

有了以上的准备就可以把棋盘绘制出来了,然后就是下棋了,计算机要自己选择一个合适的位置来下棋,也就是说每次自己下完棋之后就要有一个控制变量来控制自能不能下棋。人可以随意的下子,可是计算机就要计算在那个位置下子了。这里由计算机下子的算法来确定,对弈的话就不象单机游戏一样,要计算机来判断人下子之后计算机下那一个地方了,对弈只要在双方下子的时候判断赢棋情况,当然还要同步的控制两个人下棋的顺序,这样的话就要用到线程了,各

自都继承或实现线程类或接口,以便各自能随时单独控制接发消息。

2 项目概述与需求分析

2.1 项目概述

2.1.1 项目开发目标

该款五子棋游戏功能虽然简单,但最主要的还是实现了人与智能电脑对战的模式,所以从这个角度来说,该款游戏需要能很好的设计出电脑的智能。虽然程序不复杂,但要在满足玩家的基本要求的情况下,电脑有一定的智能,能给于新手一定的帮助。另外,通过研究五子棋游戏,帮助更好的运用自身所学,将理论付诸于程序设计中。

2.1.2 项目开发意义

该五子棋落子的坐标系统的意义是让我们学生深入理解,认识到Java语言在程序设计中的重要作用。通过本次程序开发,让我们更加熟练的掌握Java 编程。另外,五子棋游戏的规则,简单来说就是五子连线,这其中分为横、竖、斜三种模式。那么,需要我们对坐标进行深入研究。

同时也让我们对开发工具eclipse熟练掌握并提高学生动手编程的能力开发工具。

2.1.3 开发工具

eclipse平台下,Java开发语言,Android 2.1-update 1虚拟环境。

2.2 需求分析

2.2.1功能需求分析

该五子棋游戏比较简单,进入界面,不会有提示的,且主要是人机对战,是由人先开局,电脑会智能的选择该在哪处下子,并会在每次下棋结束后判断是否有哪方已经获胜,如果获胜则结束本局游戏,并提示玩家游戏结束。故每次玩家在棋盘上点击鼠标,需要实现界面出现棋子,而电脑需要立即作出回复,在最适合的地方落子。因此,可以将本程序需要实现的功能,概括如下:

1.判断该坐标是否在棋盘之外,如果不是,记录下该坐标值以进行下一步操作。

2.判断该位置是否已有棋子,没有的话用类graphics.Paint画出棋子,并

记录下棋盘的状态。

3.判断该颜色棋子的上下左右是否满足连续五个,是的话提醒相应玩家获胜,不是的话,更换玩家,监听事件处理结束。

4.对于玩家的更换是程序自动的,每次用户点击鼠标后,都会变换为电脑,从而画出对应黑方白方的棋子供玩家查看。

2.2.2性能需求分析

使用eclipse开发工具,使用Java开发语言,在Android 2.1-update 1的虚拟环境下进行编程开发,需要套用android-7才能使程序进行运行。另外,需要计算出电脑每次需要落子的位置,不仅要阻止玩家的五子连线机会,还要主动发起攻势。必要的情况下,需要用户掌握一定的五子棋规则及技巧,避免由于盲目落子,造成个人的失败。但作为用户自己设计的智能电脑玩家,需要由主要的参数来控制落子位置,这就要求对棋盘上的坐标进行仔细的研究。如图2-1显示程序开发环境。

图2-1 开发环境

3 概要设计

3.1 五子棋解释

引用《辞海》中所言,五子棋是“棋类游戏,棋具与围棋相同,两人对局,轮流下子,先将五子连成一行者为胜。”。五子棋的名称:日文亦有“连五子、五子连、串珠、五目、五目碰、五格、五石、五法、五联、京棋”等多种称谓,英文则称之为FIR (Five In A Row的缩写)、Gomoku(日语“五目”的罗马拼音)、

Gobang、connect 5、mo-rphion。捷克语piskvorky,韩语omok、韩国人还称之为情侣棋。

3.2 五子棋的基本规则

1.五子棋行棋时,玩家执白棋先下第一子,而后黑棋在棋盘合适的位置落子。接着黑白双方相互顺序子。

2. 最先在棋盘线交点横向,纵向,斜向形成已方的五个棋子连续的一方为胜。

3. 如下至最终一子仍不分胜负则定为平局。

3.3 五子棋的相关术语

阳线:棋盘上可见的纵横直线

阴线:棋盘上无实线连接的隐形斜线

五连:棋盘上形成5个同色的棋子的连

活四:在棋盘某一条阳线或阴线上有同色4子不间隔的紧紧相连,且在此4子两端延长线上各有一个无子的交叉点与此4子紧紧相连

冲四:除活四外的在下一招,便可形成五连,并且存在五连的可能性

活三:在棋盘某一条阳线或阴线上有同色3子不间隔的紧紧相连,且在此3子两端延长线上各有一个无子的交叉点与此3子紧紧相连

活二:在棋盘上,再走一步可成活三的点

眠三:在棋盘上,再走一步可成冲四的点

眠二:在走一步可成眠三的点

3.4 程序设计分析

1.绘制棋盘,14条横线,14条竖线,在直线交点处下棋子。

2.界面中的棋盘通过onDraw函数进行绘制,而黑白子通过引用图片显示在棋盘上。

3.白子先行,黑白交替下子。边框的的交接点无法落子,故棋盘实际可以进行落子的范围为12×12格。

4.玩家落子之后,电脑需要判定棋盘的某一位置是否有棋子,并在棋盘上,选择一个最佳位置落子。

5.当任何一方有五个棋子沿着横,竖,斜连在一起时,系统自动判断赢棋,并显示黑方或白方胜利。棋局结束后,任何一方均不能继续操作。

3.5 数据流图

该五子棋的主要程序流图如图3-1所示。

图3-1 程序流程图

图3-1显示当任何一方有五个棋子沿着横,竖,斜连在一起时,系统自动判断赢棋,并显示黑方或白方胜利。棋局结束后,任何一方均不能继续操作。

4 详细设计

4.1 用例图

用例图就是由主角、用例以及它们之间的关系构成的图。该图说明了用例模型中的关系。

可以将用例图组织到用例包中,并归用例包所有,让特定包中仅显示互为关联关系的内容。用例图由参与者(Actor)、用例(Use Case)、系统边界、箭头

组成,用画图的方法来完成。

参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。参与者在画图中用简笔人物画来表示,人物下面附上参与者的名称,例如图4-1所示。

图4-1 角色

用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。我们可以给用例取一个简单、描述性的名称,一般为带有动作性的词。用例在画图中用椭圆来表示,椭圆下面附上用例的名称,例如图4-2所示。

图4-2 用例

系统边界是用来表示正在建模系统的边界。边界内表示系统的组成部分,边界外表示系统外部。系统边界在画图中方框来表示,同时附上系统的名称,参与者画在边界的外面,用例画在边界里面。因为系统边界的作用有时候不是很明显,所以我个人理解,在画图时可省略。

箭头用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系。箭头尾部用来表示启动交互的一方,箭头头部用来表示被启动的一方,其中用例总是要由参与者来启动。

用例图主要的作用有三个:(1)获取需求;(2)指导测试;(3)还可在整个过程中的其它工作流起到指导作用。

对问题做出了分析之后,就可以根据分析的结果画出用例图了,因为下棋的角色是人,所以角色就是下棋者,下棋者直接发生的动作是点击鼠标,在棋盘上绘制棋子,所以就有可以把整个下棋的过程分为两个用例。绘制棋盘界面和点击

五子棋需求分析

五子棋小游戏需求分析 1.需求分析: 双人对战五子棋游戏是一个益智游戏,它可以锻炼人们的反应能力,尤其是在开发人的智力方面,很受人们的欢迎。本组该次设计的小游戏是仅供人人对弈的,而因为函数的复杂性及人机对弈的情况的多样性,所以还未进行人机对弈的程序的编译。 本程序设计包含二维数组、鼠标操作及图形化函数等方面知识。 具体需求如下: (1) 初始化:屏幕初始化,屏幕被初始化宽600*600像,显示19*19格的棋盘。系统默认为黑棋先走,然后黑白双 方轮流落子。 (2) 鼠标处理:通过鼠标点击落子,从而开始游戏。 (3) 游戏中途未设置退出功能,只有一方获胜,棋局结束方可根据提示退出。 2.运行环境: 该课程设计在设计与实验过程中需要在windows XP系统/windows 2000以上系统中进行,程序设计要求在visual C++6.0平台中进行,完成代码的编写、编译、调试、测试等工作。本游戏对计算机硬件和操作系统要求极低,所以在这里只是把自己的电脑硬件参数和系统参数列下: 操作系统:windows xp 软件环境:安装VC++6 3.设计概要: (1)初始化模块:即屏幕初始化。屏幕初始化用于显示欢迎信息及简介。 (2)棋盘模块:显示棋盘和棋子,棋盘设计为20*20格的二维平面图,背景颜色为黑色,每隔20个单位,用白线画出水平和垂直线,可以用循环语句控制实现。画线函数line()的参数就是棋盘线的起始坐标和终点坐标, (3)判断模块:判断上、下、左、右、左上、右上、左下、右下是否有五个相同的颜色,如果有的游戏就结束,显示胜利方,否则,游戏双方继续落子。而当棋盘已满,即数组空间已满的时候,也结束程序,显示和局。 4.技术要求 定义二维数组char a[20][20],用于记录鼠标当前位置。 定义结构体 MOUSEMSG struct MOUSEMSG {

ANDROID毕业论文

基于Android 平台的Google Map的手机导航设计 摘要 Google 公司于 2007 年 11 月发布 Android 系统以来,短短四年时间,Android 已经占据了智能手机市场的半壁江山,是目前最为炙手可热的智能手机操作系统。Android 走进了越来越多人的生活,成为他们获取信息主要设备。随着拥有私家车的家庭越来越多,大部分司机朋友都希望能接收到导航服务,为自己的旅程提供准确便利的信息。除了购买导航仪以外,导航软件的出现为司机朋友增加了一个选择,通过手机就能实现导航功能,不但节省了一笔导航仪的费用,还能为获得除了导航服务以外的更多信息。目前市面上大部分导航软件都存在如占用空间大,地图数据不全面等弊端,一部分用户体验可能就不是很好。Google Map 作为最先推出的网上地图,各种数据信息最为全面和准确,本系统通过Google Map Api 设计一个能够实现定位、导航和交通信息发布等等功能的在线导航软件。在Android 设备上具有良好的用户界面、响应速度和用户体验。 关键词智能手机 Android Google Map 导航应用 Abstract Since Google released Android system in November 2007, just four years time, Android already accounts for half of the Smartphone market, is by far the hottest Smartphone operating system. Android went more and more people's lives, as the main equipment they get information. With the large sum of families have private car, most drivers want navigation services, to provide accurate information to facilitate their journey. In addition to buying Navigator, navigation software is another choice for drivers, phone can make navigation, saves a navigation instrument fee, but also to obtain in addition to navigation services for more information. There most of the navigation software on the market has some drawbacks such as occupy a large space; map data is not comprehensive. Part of the

五子棋源代码(C++),完美版

#include #include using namespace std; #define WIDE_AND_LONG 20 //棋盘的长和宽 #define NAME_LEN 20 //输入姓名的长度 typedef class Gobang { public: int InitPlayerName(char *, char *); int CheckInput(char,int); int CheckIndexInput(char, char, char); int GetPlayerName(); int InitBoard(); int WriteBoard(char, char, bool); int BeginOrNot(); int CheckRow(); int CheckColumn(); int CheckTopLeft(); int CheckTopRight(); int CheckDownLeft(); int CheckDownRight(); int CheckDraw(); int CheckFinish(); int Chess(); int ShowBoard(); private: char acBoard[WIDE_AND_LONG][WIDE_AND_LONG]; char acPlayerOneName[NAME_LEN]; char acPlayerTwoName[NAME_LEN]; }GOBANG; //初始化姓名的缺省值 int GOBANG::InitPlayerName(char *pPlayerOne,char *pPlayerTwo) { strcpy(acPlayerOneName,pPlayerOne); strcpy(acPlayerTwoName,pPlayerTwo); return 0; } //检查输入姓名时是否含非法字符空格和Tab键 int GOBANG::CheckInput(char ch, int iNameLen) { if(' ' == ch || '\t' == ch) { cout<<"含有非法字符!"<

基于c语言五子棋小游戏--本科生毕业设计

五子棋小游戏 一.需求分析 现在有越来越多的人使用电脑,而且五子棋的受众广泛但实体棋操作较为繁琐且平时较难实现,所以电脑版的五子棋游戏应运而生。大家对于这个小游戏的需求如下:首先,设计这个游戏最基本的就是实现玩家之间对战,玩家可以通过某些操作来实现对战功能;有时候可能由于时间等原因,玩家可能需要保存游戏,此时需要一个“保存”功能;有时候可能玩家由于失误会走错棋,此时就需要“悔棋”功能;有时候玩家可能觉得这局游戏玩的非常不好,这时候就需要“重新开始游戏”功能;玩家在玩过游戏之后有可能想保存游戏记录便于以后分析此时就需要“排行榜”功能;有些玩家在玩游戏时喜欢听音乐,这时候就需要在下棋时可以播放背景音乐的功能;最基本的通过输入坐标来实现落子的操作方式很繁琐而且很不方便,这时候就可以将落子机制改为更直观的光标移动模式。 二.设计思路 1.玩家对战功能:在玩家对战功能中,玩家可以通过按方向键来移动光标、按空格来实现落子,最终在横或竖或斜方向上达成五个相同颜色的棋子来获得胜利。 基本思路: (1)使用二维数组保存棋局。 (2)由于要使用光标,所以使用输出缓冲器。 (3)打印棋盘。 主要使用Print()函数来算出棋盘并将缓冲器内容输出。

其余为其中调用的辅助函数。chessPrint()是打印交点坐标的字符的函数;getCurse()是打印光标的函数;write()函数是用来向缓冲器里面写入字符串的函数;ln()函数是负责将缓冲器写 入位置提行的函数;Display()函数是将缓冲器中内容输出到屏幕的函数。 (4)下子,在后文有详细介绍。 (5)胜负平判断 调用Check()函数进行四个方向的检查,检查是否有五子连珠。

(完整版)五子棋人工智能课题毕业论文

人工智能专家系统论 文 题目五子棋AI算法和网络通信的研究 学生姓名陈维梅 学号 系别商务学院 年级2009 专业计算机科学与技术 指导教师 职称讲师 完成日期

五子棋AI算法和网络通信的研究 摘要: 本系统将利用五子棋游戏作为研究对象,通过设计出一个能够实现两种不同对战模式的五子棋游戏。并对所涉及到的相关技术进行初步的探讨,将重点放在人机对奕中AI算法研究方面。 游戏中提供两种选择模式:人机对战和人人对战。在人机对战中玩家通过选择不同的AI等级和电脑一决高下。在人人对战中双方可以进行下棋,悔棋但要通过对方的同意。同时还可以实现在线聊天。AI的不同等级是以不同的搜索深度确定的。本系统以深度为2,3,4分别为初级,中级,高级。网络对战中则使用Socket实现点对点通信。 关键字:五子棋、博奕AI算法、网络通信 Research the AIof Renju and the Communication Summary: This system will use Renju as research objects, passing to design a Renju game that can provide two kinds of dissimilarities to the play mode. to involve to of the related technique carry on the study of the first step, play more attention in the AI calculate way research aspect. It provide two kinds of choice modes in the game:Person's machine to the war and the everyone to war.The player passes to choose the different AI grade and computer in person's machine the rightness the war

五子棋需求分析报告

中国矿业大学 应用系统开发实践 设计题目:基于VC的五子棋游戏软件的设计与开发指导教师:

学生: 专业: 计算机科学与技术09-1班 2012年5月 目录 1 引言 (2) 2 系统需求分析 (2) 2.1系统需求 (2) 2.2功能需求 (2) 2.3系统运行环境 (2) 3 五子棋算法分析 (3) 3.1五子棋的发展 (3) 3.2五子棋的规则 (3) 3.3具体算法分析 (4) 3.3.1 棋盘局势状态表示 (4) 3.3.2棋盘中下棋的顺序表示 (5) 3.3.3具体算法 (5) 4 系统流程 (7) 5 系统功能实现 (8)

5.1窗口设计 (9) 5.2棋盘设计 (9) 5.3按钮功能的实现 (10) 5.4胜负判断 (11) 6 系统测试与分析 (13) 7 结论 (17)

1.引言 目前网络上有很多五子棋子游戏,玩法简单,娱乐性也很高。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。通过对五子棋的设计与开发,了解和掌握游戏开发的原理与方法。让电脑像人脑一样思考,一直是人工智能发展的最终目标。作为一门边缘学科,它有诸多的研究领域,博弈即为其中之一。博弈的参加者可以是个人、集体、某种生物或机器,他们都力图用自己的“智力”去击败对手。博弈为人工智能提供了一个极好的试验场所,人工智能中的许多概念和方法都是从博弈程序中提炼出来的,人工智能中大多以下棋为例来研究博弈规律。本文以五子棋为入口,设计了一个五子棋双人对战和人机对弈系统,以实现人和人,人和计算机的博弈,最终的目的是为了建立一个有具体规则的五子棋平台。 2.需求分析 目前网络上有很多五子棋子游戏,玩法简单,娱乐性也很高。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。通过对五子棋的设计与开发,了解和掌握游戏开发的原理与方法。让电脑像人脑一样思考,一直是人工智能发展的最终目标。作为一门边缘学科,它有诸多的研究领域,博弈即为其中之一。博弈的参加者可以是个人、集体、某种生物或机器,他们都力图用自己的“智力”去击败对手。人机对弈程序的要点,至少应具备以下4个部分:(1) 状态表示:某种在机器中表示棋局的方法,能够让程序知道博弈的状态。(2) 走法产生:产生合法走法的规则,以使博弈公正地进行,并可判断对手是否乱走。(3)搜索技术:从所有合法的走法中选择最佳的走法技术。(4) 对弈界面。

安卓系统毕业论文设计

安卓系统毕业论文设计 编号毕业设计论文任务书题目安卓电子菜单点菜 系统院系专业计算机及应用学生姓名黎少环学号030111301428 指导教师单位桂林航天工业高等专科学校 姓名郑利华职称副教授题目类型理论研究实验研 究工程设计工程技术研究软件开发 2012年 4月22日一、毕业设计论文的内容、要求计算机领域在不断创新。计算机在代替和延伸脑力劳动方面发挥越来越重要的作用 不仅在工业方面而且在日常生活中也越来越离不开计算机。在数字化的今天为了更加加快人们在吃的方面节省更多的 时间由此电子点菜系统的出现更加利于人们在点餐时高效 点菜方便点菜员与顾客沟通更好展示主推菜品有效提高单 桌消费额餐厅繁忙时方便顾客自助点菜有效节约人工提高 服务质量菜单管理饭店所有菜品信息、菜品口感、份量方便客人选择超强展示简洁界面方便服务员及顾客点菜优越于 传统菜谱提高效率点菜、提交、下单同步进行规范管理可与现有点菜方式同时使用弥补现有点菜系统的缺陷准确无误 避免传统手写点菜失误造成的消费者投诉数据分析餐厅营 业状况一目了然并兼容现有餐饮管理软件开机的首页可以 插入企业广告增加酒店营业收入饭店形象大步提升提高了 客户忠诚度、增加收益等。为了使电子点菜系统更加简单、到位、便捷并能都基于上述种种原因本论文通过Android平台和eclipse SDK 的编程环境实现andriod电子点菜系统。

andriod电子点菜系统。主要分为前台和后台管理。前台管理设计了九个按钮分别命名为android电子点餐系统、特色菜、热菜、凉菜、汤类、酒类、套餐、呼叫服务、结账当想点菜时点击特色菜、热菜、凉菜、汤类、酒类、套餐等按钮则进入另一个界面进行点菜并点击界面中的完成按钮算出所点菜的金额。二、毕业设计论文应完成的工作 1、毕业设计论文说明书打印四份 2、英译汉资料或不少于2000汉字的调研报告 3、任务书 4、软件清单工科要求、设计图纸等 5、设计的软件或硬件作品三、应收集的资料及主要参考文献 1 谭浩强.Java语言程序设计第三版M.北京:清华大学出版社2008. 2 张孝祥.Java就业培训教程M.北京:清华大学出版社2003 4 李春儒.守望互联网经济—电子商务发展现状与趋势OL2005. 5 史斌星史佳.Java基础编程贯通教程M.北京清华大学出版社2003. 6 马海军杨继萍.Java 2 实用教程M.北京清华大学出版社2004. 7Smego.Android应用程序设计基础2009. 8E2ECloud.深入浅出Android程序设计OL.北京人民邮电出版社2009. 9Smego.Android A Programmers GuideOL2008. 10杨丰盛.Android 应用开发揭秘M.西安机械工业出版社2010. 四、试验、测试、试制加工所需主要仪器设备及条件硬件要求计算机一台显示器一台软件要求系统开发平台android 与eclipse 系统开发语言java 数据库管理软件Microsoft SQL Server 2005

Java五子棋游戏源代码(人机对战)

//Java编程:五子棋游戏源代码 import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*; import java.io.PrintStream; import javax.swing.JComponent; import javax.swing.JPanel; /* *main方法创建了ChessFrame类的一个实例对象(cf), *并启动屏幕显示显示该实例对象。 **/ public class FiveChessAppletDemo { public static void main(String args[]){ ChessFrame cf = new ChessFrame(); cf.show(); } } /* *类ChessFrame主要功能是创建五子棋游戏主窗体和菜单**/ class ChessFrame extends JFrame implements ActionListener { private String[] strsize={"20x15","30x20","40x30"}; private String[] strmode={"人机对弈","人人对弈"}; public static boolean iscomputer=true,checkcomputer=true; private int width,height; private ChessModel cm; private MainPanel mp; //构造五子棋游戏的主窗体 public ChessFrame() { this.setTitle("五子棋游戏"); cm=new ChessModel(1); mp=new MainPanel(cm); Container con=this.getContentPane(); con.add(mp,"Center"); this.setResizable(false); this.addWindowListener(new ChessWindowEvent()); MapSize(20,15); JMenuBar mbar = new JMenuBar(); this.setJMenuBar(mbar); JMenu gameMenu = new JMenu("游戏");

五子棋游戏的设计与实现毕业设计论文

毕业论文(设计)题目五子棋游戏的设计与实现

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

(完整版)五子棋本科毕业设计

第一章绪论 1.1开发背景: 游戏软件是当今世界发展最迅速,最有影响力,最有潜力与活力的领域之一?游戏软件深受广大青年人喜爱,而且在发达国家中老年人也有大部分喜欢游戏的,因此游戏软件在很大程度上给予绝大部分人精神上的娱乐?第二次世界大战以后,电子计算机技术得到了突飞猛进的发展?先是由晶体管代替了笨重的真空管,后来出现了集成电路和大规模集成电路,使电子子计算机一代一代实现更新,同时软件技术也发展迅速?在美国,集中了许多计算机软件的设计人才,他们工作之余,时常喜爱编一种能与人斗智的“游戏”,以此来锻炼编程的能力?这种“游戏”花样繁多,但其特点都是利用计算机软件事先设计好的“分析”?“判断”能力反过来与人较量?由于不断修改更新,使计算机的“智力”水平与人难分高低?到了90年代,游戏软件已经为世界各国的人使用,BLACKISLAND和Blizzard.这两个强大的游戏制作组起到了巨大的带动作用,还有中国的洛河工作室在国内也起到了巨大作用,他们让很多很多人喜欢上了游戏软件,打开了这个市场。如今游戏软件产业已经受到了广泛的关注,它年轻有潜力而且吸引人,让人们日益丰富的生活需求得以满足。 五子棋游戏更是吸引着不同年龄段的人群,无论男女老少都可以玩,都喜欢玩,而当前微型计算机已经是在广大人群中流行着,用电脑来下五子棋更是一种时尚。五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。在上古的神话传说中有“女娲造人,伏羲做棋”一说,《增山海经》中记载:“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。”李

毕业设计android论文-范本

1 绪论 1.1 智能手机平台 智能手机具有独立的操作系统,像个人电脑一样支持用户自行安装软件、游戏等第三方服务商提供的程序,并通过此类程序不断对手机的功能进行扩充,同时可通过移动通讯网络来实现无线网络接入。目前,全球多数手机厂商都有智能手机产品,而芬兰诺基亚、美国苹果、加拿大RIM(黑莓)、美国摩托罗拉、中国台湾宏达(htc)更是智能机中的佼佼者。 智能手机具有五大特点:1. 具备无线接入互联网的能力,即需要支持GSM网络下的GPRS或者CDMA网络的CDMA 1X或3G网络。 2. 具有PDA的功能,包括PIM(个人信息管理),日程记事,任务安排,多媒体应用,浏览网页。 3. 具有开放性的操作系统,可以安装更多的应用程序,使智能手机的功能可以得到无限扩展。4. 人性化,可以根据个人需要扩展机器功能。5. 功能强大,扩展性能强,第三方软件支持多。 1.1.1 Symbian Symbian(中文名:塞班)是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,但是虽然在智能型手机市场取得了无比的成功,并长期居于首位,Symbian S60、Symbian3,UIQ等(尤其是S60)系统近两年亦遭遇到显著的发展瓶颈。最近12个月欧洲手机公司诺基亚(Nokia)在智能手机市场市占率的滑落是不争的事实。需要注意的是,并不是所有的Symbian 系统都是智能系统,比如S40系统,就不属于智能手机系统。 1.1.2 Android Android ( 中文名:安卓) 是基于Linux平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前在市场上可谓如日中天,越来越受到玩家的青睐,倍受摩托罗拉推崇。在Android发展的过程中,

Python-大作业之五子棋游戏(附代码)

Python 大作业——五子棋游戏 姓名:学号: 姓名:学号: 一游戏介绍: 我们设计的是五子棋游戏,支持两人一个鼠标对下,黑方用左键单击,白方用右键单击,谁先下均可,落子无悔,下过的棋子对方点击后不会变色,程序可自行判断输赢并在五子连珠时弹出结果对话框,游戏双方需遵守不在空地点击和一次下一子的规则。 二游戏代码设计: 代码均为原创,没有借鉴和抄袭,首先是用户GUI界面设计,点击start进入游戏界面,点击quit则退出程序,为了方便判断和记录,我们按从左到右,从上到下的顺序给15x15=225颗棋子编号225,左键绑定函数callback1,点击后可算出它位于哪颗棋子上再画出来黑子,并把对应编号计入record这个列表,之后进入判断函数。右键绑定函数callback2,点击后画出白子,对应编号计入recor这个列表,之后进入判断函数,其中总列表rec的作用是使棋子不被下第二遍。 三作业感想 这个游戏虽然很小但是可以供室友们晚上娱乐之用,我们倾注了很多心血,之前采用模块化编程失败了很多次,有事件响应问题,参数传递问题,到第七个程序才成功,感谢张同珍老师指点了很多,

我们学会了使用类,受益匪浅,对Python产生了浓厚的兴趣。四过程截图 五、实验代码 from Tkinter import * from tkMessageBox import * class Game: def __init__(self): self.A=[] self.B=[] self.record=set()

self.recor=set() self.rec=self.record|self.recor self.root=Tk() self.root.geometry("180x250") self.root.title("Wu Zi Qi Game") self.r=Canvas(self.root,width=180,height=210,bg="purple") pic=PhotoImage(file="beijing.gif") self.r.create_image(90,100,image=pic) self.r.place(x=0,y=15) Label(self.root,text="***Wu Zi Qi Game***",fg="red").place(x=20,y=0) Button(self.root,text="start",command=self.start).place(x=30,y=230) Button(self.root,text="quit ",command=self.root.destroy).place(x=100,y=230) self.r.mainloop() def start(self): self.root.destroy() self.top=Tk() self.top.title("Game Start") self.c=Canvas(self.top,width=480,height=480,bg="white") self.c.pack() self.c.create_rectangle(25,25,455,455,fill="gray") for i in range(30,451,30): for j in range(30,451,30): self.c.create_oval(i-2,j-2,i+2,j+2,fill="blue") for i in range(1,16): self.c.create_line(30,30*i,450,30*i) self.c.create_line(30*i,30,30*i,450) self.c.create_oval(234,234,246,246,fill="black") self.c.create_oval(115,115,125,125,fill="black") self.c.create_oval(355,115,365,125,fill="black") self.c.create_oval(115,355,125,365,fill="black") self.c.create_oval(355,355,365,365,fill="black") self.c.bind("",self.callback1) self.c.bind("",self.callback2) self.c.mainloop() def callback1(self,event): u,v=event.x,event.y s=u/15 if s%2==1: self.x=(s+1)/2 else: self.x=s/2

软件工程课程设计五子棋游戏

计算机工程系课程设计报告 课程名称:软件工程 课程设计题目:五子棋游戏 班级 2013级计科(4)班 姓名许婷娜 学号 20130905428 2015年12月27日

目录 1. 引言 (1) 1.1系统的开发背景(可行性分析) (1) 1.2 系统简介 (2) 1.2.1系统介绍 (2) 1.2.2开发本系统所做的工作 (2) 2. 需求分析 (3) 2.1 需求的描述与分析 (3) 2.2 需求定义 (3) 2.2.1 功能需求 (3) 2.2.2 性能需求 (4) 3. 系统设计 (4) 3.1总体设计 (4) 3.1.1设计思想 (4) 3.1.2五子棋游戏的功能的结构图 (5) 3.2程序设计分析 (5) 4. 五子棋游戏的详细设计 (6) 4.1五子棋游戏的主窗口界面 (6) 4.2五子棋游戏的核心模块的详细设计 (10) 4.2.1五子棋游戏程序核心代码 (10) 4.2.2五子棋游戏程序主面板与鼠标事件 (13) 4.2.3五子棋游戏程序流程图 (17) 4.3五子棋游戏的游戏功能模块的详细设计 (18) 4.3.1五子棋游戏的开局功能模块 (18) 4.3.2五子棋游戏的棋盘功能模块 (18) 4.3.3五子棋游戏的模式功能模块 (19) 4.3.4五子棋游戏的退出功能模块 (19) 4.4五子棋游戏的外观功能模块的详细设计 (19) 4.5五子棋游戏的版本功能模块的详细设计 (20)

5. 五子棋游戏的测试 (20) 5.1系统测试的类型 (20) 5.2测试举例 (21) 5.2.1测试用户的对弈结果 (21) 5.2.2测试用户切换棋盘类型功能 (22) 5.2.3测试用户切换模式类型功能 (23) 5.2.4测试用户切换外观类型功能 (24) 5.2.5测试版本功能 (26) 小结 (27) 致谢 (28) 参考文献 (29)

安卓手机应用程序设计毕业论文

安卓手机应用程序设计毕业论文 目录 前言 (1) 第1章系统概述 (2) §1.1 开发背景 (2) §1.1.1 Android系统的发展历程 (2) §1.1.2 Android系统的发展前景 (3) §1.1.3 本地通应用与Android系统结合的优势 (4) §1.2 国内外研究现状 (4) §1.2.1 国内的研究现状 (4) §1.2.2 国外的研究现状 (5) §1.2.3 结合相关应用来对比该应用的优势 (5) §1.3 系统创新点 (6) §1.3.1 向用户提供双向式的信息交流 (6) §1.3.2 交互性的应用形式 (6) §1.3.3 实时性的信息交互 (7) §1.3.4 更方便用户的便捷性 (7) §1.4系统意义 (7) §1.4.1对用户的意义 (7) §1.4.2对旅游行业的意义 (8) 第2章系统分析 (9) §2.1 系统要点分析 (9) §2.1.1广泛的用户参与是该应用推广的前提 (9) §2.1.2完善的应用功能是该应用可以推广的基础 (9) §2.1.3便捷的应用环境和定位功能是该应用的又一突破. 9 §2.2系统流程分析 (10) §2.3系统功能结构分析 (12) §2.4系统数据库的分析 (14)

第3章主要功能模块的设计 (16) §3.1攻略文章的设计 (16) §3.2推荐必到点 (17) §3.3游客路线的选择以及到达方式 (17) §3.4路线上传及分享 (17) §3.5文章和标签的匹配 (18) 第4章数据库设计 (19) §4.1概念结构设计 (19) §4.2逻辑结构设计 (20) 第5章详细设计与实现 (21) §5.1 应用界面设计 (21) §5.1.1 应用登陆首页设计 (21) §5.1.2 攻略文章界面设计 (22) §5.1.3 推荐必到点界面设计 (23) §5.1.4我的行程界面设计 (23) §5.2 基本界面的实现 (24) §5.2.1 Activity (24) §5.2.2数据库文件的打包 (27) 第6章系统实现 (28) §6.1开发技术及系统架构 (28) §6.1.1开发技术选择 (28) §6.1.2安卓各种开发工具的选择 (28) §6.2本次开发过程中的技术难点 (29) §6.2.1 系统的技术难点主要有以下方面 (29) §6.2.2技术难点的实现 (29) 结论 (30) 参考文献 (31) 致谢 (32)

五子棋程序代码

/************************************* ** 程序名称:五子棋 ** ** 编译环境:vs2012 ** ** 编辑作者:往事随风<1034882113> ** ** 最后修改:2013-07-25 ** ** 项目类型:win32控制台程序 ** **************************************/ #include #include// _kbhit() _getch() /****************** 宏定义区 **********************/ #define BOARD_LEN 640 // 棋盘大小 #define BOARD_WIDTH 640 #define EXTRA_LEN 200 // 右边提示区域的长度 #define SIZE 40 // 棋盘小方格大小 #define ROW 14 // 棋盘为14*14 /****************** 数据类型定义区******************/ /****************** 全局变量区**********************/ IMAGE img_chessboard; // 背景 IMAGE img_box_black; // 黑色棋盒 IMAGE img_box_white; // 白色棋盒 IMAGE img_bkbox; // 右边区域背景 IMAGE img_time; // 显示时间 IMAGE img_count[11]; // 十个数字和一个冒号 int m_x = (BOARD_LEN - SIZE * ROW)/2; // 居中 int m_y = (BOARD_WIDTH - SIZE * ROW)/2; byte gobang[ROW+1][ROW+1] = {0};// byte不能表示负数0:无子1:黑子2:白子byte type = 0; // 1: 白棋0:黑棋 bool replay = true; // false 游戏结束,true代表游戏运行中 DWORD b_oldtime; // 黑棋花费时间 DWORD w_oldtime; // 白棋花费时间 DWORD start_time; // 游戏起始时间 /****************** 函数声明区**********************/ void init_system(); void init_img(); void init_chessboard(); void getMouse(POINT *point); void deal_mousemsg(POINT point); void game_win(int x,int y); void quit_game();

【强烈推荐】五子棋人人对战_c++五子棋毕业论文报告

VC课程设计报告 学院:理学院 专业班级:信息与计算科学班 学生姓名:***** 学生学号:12345 指导教师:### 提交时间:2013年07 月02 日

成绩: 设计题目:五子棋人人对战

目录 第1章引言 .................................................................................................................................................第2章任务概述 ......................................................................................................................................... 2.1问题概述 ......................................................................................................................................... 2.1.1问题重述 .............................................................................................................................. 2.1.2设计目的 .............................................................................................................................. 2.2需求分析 ......................................................................................................................................... 2.2.1基本要求 .............................................................................................................................. 2.2.2游戏功能介绍 ......................................................................................................................第3章概要设计 ......................................................................................................................................... 3.1功能设计 ......................................................................................................................................... 3.2程序结构 ......................................................................................................................................... 3.3基本流程 .........................................................................................................................................第4章程序实现 ......................................................................................................................................... 4.1主要变量及函数的说明 ................................................................................................................. 4.1.1主要变量 .............................................................................................................................. 4.1.2主要函数 .............................................................................................................................. 4.2主要功能的实现 ............................................................................................................................. 4.2.1类声明 .................................................................................................................................. 4.2.2棋盘初始化 .......................................................................................................................... 4.2.3开始下棋 .............................................................................................................................. 4.2.4判断下棋合法 ...................................................................................................................... 4.2.4判断输赢 ..............................................................................................................................

相关主题
文本预览
相关文档 最新文档