【 – 字数作文】
第一篇:《编程 五子棋》
课程设计
课程名称: 应用程序设计
课题名称: 五子棋游戏
专 业: 信息与计算科学
小组成员:
指导教师:
完成日期: 2011年 9月 29 日
需求分析
1. 引言
很多人从小就开始玩五子棋游戏,但是对其程序及原理都不是非常清楚,因
此我们用MFC编写了一个简易的五子棋益智小游戏,希望在玩五子棋的同时了解它的制作步骤,能从整体上把握游戏的规则。
1.1 编写目的
为了使更多的玩家可以在玩游戏的同时开动脑筋,并在界面上以清新简单的风格吸引玩家的眼球,让他们更多地享受到玩益智游戏的快乐。
五子棋是一个手、脑相结合的游戏,是课余时间很好的休闲游戏,此程序正是根据五子棋游戏这些优点而编写的,可以让大家在无聊时解闷,紧张时放松,松懈时警戒,在五子棋的世界乐此不彼。
1.2 项目背景
a.待开发的软件系统的名称;
五子棋游戏
b.用 户:所有玩家
2. 使用对象
老少皆宜,对此游戏感兴趣的人。
3. 参考文献
无
4. 游戏功能
该游戏是人人对决的益智游戏,游戏开始记录玩家姓名,最先连起5个棋子的玩家为获胜者,游戏玩家的信息被记录在英雄榜上,游戏胜利场数最多的玩家在英雄榜上排名第一,显示排名前三的玩家。在游戏开始的时候,还会出现一段优美的音乐。
游戏界面如下图所示,点击开始输入玩家姓名,游戏在15*15的方格中进行,系统默认黑子先下,当系统判断出赢家时会在方格上方显示胜利一方的名字,同时游戏结束。提前结束游戏,系统会提示确认。点击英雄榜,其中有初始记录,玩家必须超过初始记录才能在英雄榜上留名。
概要设计
1. 引言
很多人从小就开始玩五子棋游戏,但是对其程序及原理都不是非常清楚,因此我们用MFC编写了一个简易的五子棋益智小游戏,希望在玩五子棋的同时了解它的制作步骤,能从整体上把握游戏的规则。
2. 任务概述
程序编写:龚燕飞,朱旭,杨婧
测试:王晓婷
文档:唐科杰,季睿
找资料:江俊杰,项豪放
3. 开发环境
MFC
4. 总体设计
4.1功能架构
主要的类:
CEnter: CEnte类
Chess: Chess类
Computer: Computer类
CprogramsApp: CprogramsApp类
CprogramsDoc:CprogramsDoc类
CProgramsView: CProgramsView类
Managers: Managers类
Player:player类
CEnter类中的成员变量主要有: Editor1 :玩家1
Editor2:玩家2
这些变量游戏开始时要用到的,故放在此类中。
CEnter 类中的成员函数有:
DoDataExchange:数据交换
OnOK:确定游戏开始
CProgramsView类中的成员变量主要有:
begin:开始
blackchess:默认起始为黑子下
Chessboard:棋盘
Chooseblackche:黑子下棋
Choosespa:选择下子区域
Choosewhiteche:白子下棋
End:第一轮结束
m_begin:
m_end:
m_blackchess:黑子位图处理
m_whitechess: 白子位图处理
m_mask:黑子副本
m_score:得分处理
m_Chooseblackchess:
m_Choosewhitechess:
m_Choosespace:下五子棋的启示600字。
CProgramsView 类中的成员函数有:
GamePlayer:游戏玩家
OnDraw:资源载入位图
OnLButtonDown:左下
OnLButtonUp:左上
OnMouseMove:鼠标跟踪移动
OnRButtonDown:右下
OnRButtonUp:右上
PreCreateWindow:建立位图窗口
PrintAll:显示所有位图
PrintPart:显示当前位图
PrintState:显示当前状态
ReadScore:读取得分
WriteScore:将结果读入英雄榜
Managers 类中的成员变量主要有:
Game_State:游戏状态
Gameinfo:游戏信息
LastCh: 上一次鼠标划过的棋子信息
map:棋盘
nChessinfo:当前信息
nKeyDown: 已经走了多少步,走的步数为nKeyDown-1
PAUSE:暂停
Managers 类中的成员函数有:
AddChess: 增加新棋子到棋盘下五子棋的启示600字。
CheckMap:
CheckState: 检查状态
DoMsg: 按键响应
ForbidLoc:判断棋子k是否形成禁手
GameBack:悔棋
GameStart:初始化游戏
GameType:改变游戏设置
GetLastChe:获取最后落子信息
GetNum:求连子个数
Updata:游戏状态更新
player 类中的成员变量主要有:
name:玩家姓名
num:同一玩家赢的次数
播放背景音乐代码:
#include "mmsystem.h"
#pragma comment(lib,"winmm.lib")
PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(),SND_ASYNC|SND_RESOURCE|SND_NODEFAULT|SND_LOOP);
第二篇:《五子棋》下五子棋的启示600字。
大连科技学院
Java课程设计报告下五子棋的启示600字。
题 目 五子棋游戏
学生姓名 XXX 专业班级 软件工程12-1 指导教师 史原 职称 讲师 所在单位 大连科技学院 教研室主任 刘瑞杰
完成日期 2015年6月12日
目 录
1.总体设计 ……………………………………………………. 1
1.1游戏的主要功能 …………………………………………….. 1 1.2游戏的主要设计流程 …………………………………………. 1 2.详细设计 …………………………………………………….. 2 2.1主要程序功能分配 ……………………………………………… 2 2.2创建棋盘类 …………………………………………………… 5 2.3判断输赢功能实现 ……………………………………………… 8 3.运行效果 ………………………………………………………. 9 3.1 系统主界面 …………………………………………………. 9
3.2 选择执白棋录入界面 ……………………………………….. 10 3.3游戏终点退出,自动判输录入界面 ……………………………… 11 参考文献 ……………………………………………………… 12 附录1 软件源程序 ……………………………………………… 13 课程设计实践总结: …………………………………………….. 24
1.总体设计
1.1游戏的主要功能
设计一个15╳15围棋棋盘,由两玩家交替进行对战,并可以实现以下功能: 1.选择落子的先后顺序 2.重置棋盘 3.刷新重新开始 4.退出提示
并且规定退出者判为负,但退出过程中要有提示。以防不小心点错了。 最后判断某一方是否为五子连珠。
实现一个简单的多用户五子棋的游戏程序,包括如下两个界面 (1)选择对弈桌(执黑、执白)。
(2)在游戏界面,有开始,退出(游戏未结束、点退出自动判负)
2.详细设计
2.1主要程序功能分配
棋盘的绘制
public void draw_qipan(Graphics G) //画棋盘 15*15{ G.setColor(Color.lightGray); G.fill3DRect(10,10,300,300,true); G.setColor(Color.black); for(int i=1;i<16;i++){ G.drawLine(20,20*i,300,20*i); G.drawLine(20*i,20,20*i,300);
}
} b. 添加按钮
Button b1=new Button("开始"); Button b2=new Button("重置游戏"); Label lblWin=new Label(" "); Checkbox ckbHB[]=new Checkbox[3]; Button exist = new Button("退出"); public void init(){ ckbHB[0]=new Checkbox("执白",ckgHB,false); ckbHB[1]=new Checkbox("执黑",ckgHB,false); ckbHB[2]=new Checkbox("观看",ckgHB, false);
}
c. 鼠标棋子的触发事件
public void mouseClicked(MouseEvent e) { Graphics g=getGraphics(); int x1,y1; x1=e.getX(); y1=e.getY();
if (e.getX()<20 || e.getX()>300 || e.getY()<20 || e.getY()>300) {
return;
}
if (x1%20>10) { }
if(y1%20>10) { }
x1=x1/20*20; y1=y1/20*20; set_Qizi(x1,y1); m*=(-1);
x1+=10;
y1+=10;
}
d. 按钮的触发事件
public void actionPerformed(ActionEvent e) {
e. 判断落子的位置及画出相应的黑白棋子 public void set_Qizi(int x,int y) //落子{
if (intGame_Start==0) //判断游戏未开始{ }
if (intGame_Body[x/20][y/20]!=0) {
return;
Graphics g=getGraphics(); if (e.getSource()==b1) { } else{ }
if(e.getSource()==exist){
Game_re();
lblWin.setText(Get_qizi_color(color_Qizi)+"输了!"); intGame_Start=0; Game_re(); Game_start();
}
return;
第三篇:《下棋的启示》
下棋的启示
在我童年的记忆中,有许多场景是爸爸妈妈在下五子棋,我在一旁或关注或参与。也许是耳濡目染的缘故,按电脑上的级别来说的话,刚上小学时我已是二段高手了。虽然我也爱下其他棋,但对五子棋是情有独钟。先前只是懂五子棋的规则,可是五子棋却给我带来了数也数不尽的快乐,也给我带来了意想不到的启示。
那天,我正与我的手下败将王钟浩过招,我心里暗暗高兴。我在同龄人里下五子棋是百战百胜,败在我手下的人不计其数,王钟浩也一样,常常被我打得落花流水。想起这些我不禁洋洋得意:他真是太自不量力了。于是,我不假思索地和王钟浩开始了这场战役.我先摆起了三角阵,他用一个棋子堵住,我又放第二枚棋子,他理也不理地只管摆放他的,我心花怒放。他可真是笨啊,我已经有一个“四”了。等他刚下完第三个棋子,我高声喊道:“胜负已定!”他这才反应过来忙说:“不算不算,你作弊!这盘不能算数!”我大笑,“哈哈,你这是羡慕,嫉妒,恨。”我心想,不过是想悔棋罢了,让他一局又何妨。
我们又开始了第二场战役,我琢磨着要摆我自创的“小迷魂阵”,他依旧只摆放他自己的“三”“四”直线。啊!突然,我发现不对劲,对方已经悄悄隐藏下了两个“三”了。这怎么可能?我大吃一惊。就这样,我只好败给了我曾经的手下败将王钟浩。
我下过很多盘棋,唯独这盘棋让我受益匪浅,它让我彻底明白一个道理,那就是关羽失荆州–骄兵必败。
山西省交口县城关一小190班郭
第四篇:《下棋的启示》
下棋的启示
从小学三年级开始,我便酷爱下棋。
我的棋艺是父亲教的,当时,我只懂皮毛,但也将班里的几名棋手给赢了。但我最终的目的是想超过父亲。
一天下午,我大胆地向父亲下“战书”,父亲坦然地接受了,便摆开了阵势。我的跑直冲前去,给父亲来了个“空头炮”,我心里美滋滋地想:“爸爸一定会用他的‘老把式’:将马移上阵地,我要用车抄小道按住他的马脚。这样,就使爸爸的军队不知所措了。”我正打着“如意算盘”,而父亲早已出兵,啊!竟然没出马?一定有什么阴谋,我观察了一下局势,想:“现在没有什么陷阱,自己可以放心冲入父亲的‘老巢’了。”我来了一个“空头炮”,在父亲的“老巢”大开杀戒,知道父亲的车将我的兵吃了,使我的注意力转到我的“营地”。“什么?兵居然被吃了!”我气得眉毛都竖起来了。我的车横冲直撞,才报了此仇,可是,我那镇守敌方阵地的炮,却被我看起来最不起眼的象吃了。
我火冒三丈,马上让车冲上去,可回头想了想:“为什么爸爸损失这么多棋,还能吃我的兵呢?自己本来大局已定,为什么还是要损兵折将呢?也许,我好胜心切,想不伤一兵一卒去取胜。”我调整了心态,出另一个炮给父亲来了个“将军”,父亲让士来抵抗,我知道这是个陷阱,而为了大局着想,我偏让泡掉进陷阱,将士吃了,父亲正合我意,让帅把我的炮吃了。我将车一下来了个“将军”,反败为胜。
父亲擦了擦汗,咽了口唾沫,眼睛瞪得大大的,似乎不敢相信眼前这一切是真的。
下棋“有损必有得”。这,是这局棋给我的启示。
第五篇:《这件事教育了我》
这件事教育了我
中关村一小天秀部
五三班 牛梓桐
在我成长的过程当中,遇到了很多事情。其中有一件事一直令我难以忘怀,它让我懂得了一个深刻的道理,那就是——做事情不能一心二用,否则,你就只能自食其果。
那是我三年级的时候发生的事了。因为期末考试快到了,所以奥数班的老师给我们留了许多道题。一回家,我就匆匆地换好鞋,向我的房间奔去,埋头苦写了起来。这道题怎么做?我咬着笔杆,苦思冥想。最后,我终于把这道难题解开了!这道呢?太简单了!我一定能对!我心里这样想着。不一会儿,我就“消灭”了“6个勇士”。“太棒了!我肯定能做完!"正在我欢呼雀跃的时候,我突然想起了我一直很爱看的动画片《隋唐英雄传》今天播放大结局,想到这里,我立马放下笔和尺子,刚想转身,可又一想还没写完作业呢!干脆一边看电视,一边写作业!这不是两全其美?我十分得意。抓起作业,飞奔向电视机,电视中的动画片刚刚开始。幸好及时赶到。我这样想着。我边看几眼动画片,边写作业,草草地收了场,便专心致志地看起了我的动画片。下礼拜上课的时候,老师年了上次做作业每个人的分数,“牛梓桐,”就要到我了,我赶快向上帝请求给我个好成绩。“60分!”“什么?”我不敢相信,惊讶地张大了嘴巴,从椅子上跳了起来,飞奔到讲台桌旁,从老师手中抢过本子,本子上那鲜红的“60”仿佛来笑话我考这么低的分数。台下传来了同学们的嘲笑声。在这耻笑声中,我深深地低下了头,羞红了脸。
这次的经历让我终生难忘,相信我以后再也不会犯这样的错误了,我会把这个教训铭记在心。
第六篇:《下棋》
象棋,我家里人都会下,连奶奶也知道:“当顶炮,把马跳……。”特别是大伯,下起棋来那可真是废寝忘食,今年春天在镇上举办的象棋比赛中,还得了二等奖呢!听说象棋能开发智力,我非常想学。
国庆节放假时,我让爸爸教,他却认为下象棋会影响学习——不让学。于是我就偷偷让弟弟教,弟弟呢?别看他小,可已有三年的棋龄了,下起棋来面面俱到,让我心服口服,弟弟答应了,那时别提我有多高兴了。
开始听他说:“马走斜,象走方,小卒一去不还乡,两将不能脸对脸……。”他还说什么炮是隔人打,车是一杆枪……一气说了这么多,我隐隐约约只听进了一点去。
我开始和弟弟进行实战了,五分钟还不到,我的大炮都被吃了,一个车被‘马’没了。这不,弟弟又攻进了;城墙”。一个车直逼我的老将,我一招挡不住一招,他是一步逼近一步,最后老将被生擒……输了!我性子一急,把棋子一推,耍起赖来,吼道:;什么烂棋,这么难,不学了!……”弟弟两眼一瞪:;呦!发哪门子火呀!要学棋先要输得起!俗话说:‘吃的苦中苦,方为人上人嘛!’……”