微软操作系统发展史.docx

上传人:b****7 文档编号:9265582 上传时间:2023-02-03 格式:DOCX 页数:21 大小:104.23KB
下载 相关 举报
微软操作系统发展史.docx_第1页
第1页 / 共21页
微软操作系统发展史.docx_第2页
第2页 / 共21页
微软操作系统发展史.docx_第3页
第3页 / 共21页
微软操作系统发展史.docx_第4页
第4页 / 共21页
微软操作系统发展史.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

微软操作系统发展史.docx

《微软操作系统发展史.docx》由会员分享,可在线阅读,更多相关《微软操作系统发展史.docx(21页珍藏版)》请在冰豆网上搜索。

微软操作系统发展史.docx

微软操作系统发展史

 

班级:

09计算机应用技术

设计成员:

朱祥发092113010059

曾海092113010052

指导教师:

陈仕先、徐凯

实训时间:

2011.9.16—2011.9.23

实训地点:

机电大楼1机房

目录

一、课程设计目的和要求3

1、设计目的3

2、设计要求3

二、课程设计选题3

三、设计时间、设计安排和考核要求4

1、时间安排4

2、设计安排4

3、考核要求4

四、设计内容5

1、题目:

五指棋游戏5

2、具体实现5

3、流程图5

4、具体实现代码7

五、相关截图15

六、设计日志15

七、总结16

八、教师评分16

 

一、课程设计目的和要求

1、设计目的

<1>、复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;

<2>、课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。

提高学生适应实际,实践编程的能力;

<3>、培养学生在项目开发中团队合作精神、创新意识及能力。

2、设计要求

<1>、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;

<2>、系统设计要实用,编程简练,可用,功能全面;

<3>、说明书、流程图要清楚;

<4>、记录设计情况(备查,也为编写设计说明书作好准备);

<5>、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式;

<6>、设计上交内容:

设计报告一份(按格式书写);源程序文件。

二、课程设计选题

老师提供的题目有:

学生信息管理系统、日历记事本、三子棋游戏(Japplet)、库存管理系统、用户管理系统、多人聊天室(GUI)、拿火柴游戏、超市收银系统、ATM柜员机模拟程序、图书信息管理系统、一个简单的算法动态演示程序、商场商品信息管理系统、小区物业管理系统、车辆档案管理系统、自选题目。

我选取的是自选题目,我所选设计题目是“五指棋游戏。

三、设计时间、设计安排和考核要求

1、时间安排

序号

时间

内容

1

9月16日

班级分组,选定课题,查阅相关资料

2

9月17日

划分模块、小组成员分工,编制源程序

3

9月18日~9月19日

编制源程序

3

9月20日

上机调试,修改、完善系统

4

9月21日

上机调试,修改、完善系统

5

9月22日

撰写课程设计报告,上机调试,修改、完善系统

6

9月23日

撰写课程设计报告

7

9月24日

实习成绩的评定

2、设计安排

分组选题:

最多2人为一组,每组一个课题(可根据课题工作量大小,合理分配人数),每组设组长一名,负责该组设计工作的协调、分工等。

设计过程:

分析设计准备阶段(按组讨论、对系统功能进行分析,并进行明确分工);

编程调试阶段(绘制流程图,编制源程序;上机调试,修改程序)

3、考核要求:

在设计期间,学生要按时上机,设计结束根据记录的设计材料整理成设计说明书。

设计说明书中应写下设计中的主要收获,要求对问题有一定的分析,文字简短明确流畅。

结合学生的动手能力,独立分析解决问题的能力和创新精神,设计成绩由指导教师根据考勤、设计说明书质量分优、良、中、及格和不及格五等。

 

四、设计内容

1、题目:

五指棋游戏

2、具体实现:

>、绘制棋盘,15条横线,15条竖线,在直线交点处下棋子(实心圆形)。

<2>、自动默认白子先行,但是可以选择先行方然后黑白交替下子,在棋盘上设定一个与棋盘格大小边长相等的正方形,初始状态,正方形的中心位于期盼的中心点,不能移出边界。

其次在界面上设定了开始游戏、重置功能。

<3>、当任何一方有五个棋子沿着横,竖,斜连在一起时,系统自动判断赢棋,并显示黑方或白方胜利。

棋局结束后,任何一方均不能继续操作。

3、流程图

4、具体实现代码

/*

*Tochangethistemplate,chooseTools|Templates

*andopenthetemplateintheeditor.

*/

packagejavaapplication2;

/**

*

*@authorjmk

*/

importjava.awt.*;

importjava.awt.event.*;

importjava.applet.Applet;

importjavax.swing.*;

publicclassGoBangextendsAppletimplementsActionListener,MouseListener,

/**

*@paramargsthecommandlinearguments

*/

MouseMotionListener,ItemListener{

//****************旗子的颜色标识0:

白子1:

黑子*****************//

intcolor=0;

booleanisStart=false;//游戏开始标志

//**************设置棋盘棋子状态0无子1白子2黑子****************//

intbodyArray[][]=newint[21][17];

//***************定义控件****************//

Buttonb1=newButton("游戏开始");

Buttonb2=newButton("重置游戏");

Buttonb3=newButton("悔棋");

//***************定义标签****************//

LabellblWin=newLabel("");

LabellblWin1=newLabel("五指棋小游戏");

LabellblWin2=newLabel("游戏规则:

");

LabellblWin12=newLabel("黑白双方依次落子,由黑先");

LabellblWin22=newLabel("下,当棋盘上有三个子时如");

LabellblWin32=newLabel("果此时白方觉得开的局不利");

LabellblWin42=newLabel("于自已可以提出交换,黑方");

LabellblWin52=newLabel("无条件接受!

也可以不交换");

LabellblWin62=newLabel("主动权在白方!

然后继续下");

LabellblWin72=newLabel("棋,任一方先在棋盘上形成");

LabellblWin82=newLabel("横向、竖向、斜向的连续的");

LabellblWin92=newLabel("相同颜色的五个(含五个以");

LabellblWin102=newLabel("上)棋子的一方为胜。

");

LabellblWin3=newLabel("");

JTextFieldjtf=newJTextField(10);

CheckboxckbHB[]=newCheckbox[2];

CheckboxGroupckgHB=newCheckboxGroup();

publicvoidinit(){

setLayout(null);

//*****************位置控制****************、//

addMouseListener(this);

add(b1);

b1.setBounds(860,90,80,30);

b1.addActionListener(this);

add(b2);

b2.setBounds(860,130,80,30);

b2.addActionListener(this);

jtf.setBounds(860,300,130,30);

add(b3);

b3.setBounds(860,170,80,30);

ckbHB[0]=newCheckbox("白子先",ckgHB,false);

ckbHB[0].setBounds(860,20,60,30);

ckbHB[1]=newCheckbox("黑子先",ckgHB,false);

ckbHB[1].setBounds(860,50,60,30);

add(ckbHB[0]);

add(ckbHB[1]);

ckbHB[0].addItemListener(this);

ckbHB[1].addItemListener(this);

add(lblWin);

lblWin.setForeground(Color.red);

lblWin.setFont(newFont("serif",Font.PLAIN,20));

lblWin.setBounds(820,210,150,80);

add(lblWin1);

lblWin1.setForeground(Color.blue);

lblWin1.setFont(newFont("serif",Font.PLAIN,30));

lblWin1.setBounds(40,20,800,30);

add(lblWin2);

lblWin2.setBounds(860,300,130,30);

lblWin2.setFont(newFont("serif",Font.PLAIN,20));

add(lblWin12);

lblWin12.setBounds(830,330,180,30);

lblWin12.setFont(newFont("serif",Font.PLAIN,15));

add(lblWin22);

lblWin22.setBounds(830,360,180,30);

lblWin22.setFont(newFont("serif",Font.PLAIN,15));

add(lblWin32);

lblWin32.setBounds(830,390,180,30);

lblWin32.setFont(newFont("serif",Font.PLAIN,15));

add(lblWin42);

lblWin42.setBounds(830,420,180,30);

lblWin42.setFont(newFont("serif",Font.PLAIN,15));

add(lblWin52);

lblWin52.setBounds(830,450,180,30);

lblWin52.setFont(newFont("serif",Font.PLAIN,15));

add(lblWin62);

lblWin62.setBounds(830,480,180,30);

lblWin62.setFont(newFont("serif",Font.PLAIN,15));

add(lblWin72);

lblWin72.setBounds(830,510,180,30);

lblWin72.setFont(newFont("serif",Font.PLAIN,15));

add(lblWin82);

lblWin82.setBounds(830,540,180,30);

lblWin82.setFont(newFont("serif",Font.PLAIN,15));

add(lblWin92);

lblWin92.setBounds(830,570,180,30);

lblWin92.setFont(newFont("serif",Font.PLAIN,15));

add(lblWin102);

lblWin102.setBounds(830,600,180,30);

lblWin102.setFont(newFont("serif",Font.PLAIN,15));

JTextAreajt=newJTextArea(20,20);

//JPanelp=newJPanel(newGridLayout(2,4));

add(jt);

jt.setBackground(Color.red);

jt.setBounds(860,500,20,40);

add(lblWin3);

lblWin3.setBounds(0,50,180,630);

gameInit();

this.resize(newDimension(1018,670));

}

publicvoiditemStateChanged(ItemEvente){

//************选择黑子先还是白子先************//

if(ckbHB[0].getState()){

color=0;

}else{

color=1;

}

}

//****************控件实现

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==b1){

gameStart();

}else{

reStart();

}

}

publicvoidmousePressed(MouseEvente){

}

//******************落子控制

publicvoidmouseClicked(MouseEvente){

intx1,y1;

x1=e.getX();

y1=e.getY();

if(e.getX()<40||e.getX()>800||e.getY()<40||e.getY()>800){

return;

}

if(x1%40>20){

x1+=40;

}

if(y1%40>20){

y1+=40;

}

x1=x1/40*40;

y1=y1/40*40;

setDown(x1,y1);

}

publicvoidmouseEntered(MouseEvente){

}

publicvoidmouseExited(MouseEvente){

}

publicvoidmouseReleased(MouseEvente){

}

publicvoidmouseDragged(MouseEvente){

}

publicvoidmouseMoved(MouseEvente){

}

//*********************棋盘控制

publicvoidpaint(Graphicsg){

g.setColor(Color.LIGHT_GRAY);

g.setClip(180,20,800,640);

g.fill3DRect(20,60,800,800,true);

g.setColor(Color.BLACK);

for(inti=1;i<21;i++){

g.drawLine(20,40*i,800,40*i);

g.drawLine(40*i,40,40*i,640);

g.setClip(200,80,800,800);

}

}

//8**************落子

publicvoidsetDown(intx,inty){

//判断游戏未开始

if(!

isStart){

return;

}

if(bodyArray[x/40][y/40]!

=0){

return;

}

Graphicsg=getGraphics();

//判断黑子还是白子

if(color==1){

g.setColor(Color.black);

color=0;

}else{

g.setColor(Color.white);

color=1;

}

g.fillOval(x-20,y-20,40,40);

bodyArray[x/40][y/40]=color+1;

//判断输赢

if(gameWin1(x/40,y/40)){

lblWin.setText("恭喜"+startColor(color)+"赢了!

");

isStart=false;

}

//判断输赢

if(gameWin2(x/40,y/40)){

lblWin.setText("恭喜"+startColor(color)+"赢了!

");

isStart=false;

}

//判断输赢

if(gameWin3(x/40,y/40)){

lblWin.setText("恭喜"+startColor(color)+"赢了!

");

isStart=false;

}

//判断输赢

if(gameWin4(x/40,y/40)){

lblWin.setText("恭喜"+startColor(color)+"赢了!

");

isStart=false;

}

}

//棋子颜色设定

publicStringstartColor(intx){

if(x==0){

return"黑子";

}else{

return"白子";

}

}

//游戏开始

publicvoidgameStart(){

isStart=true;

enableGame(false);

b2.setEnabled(true);

}

//游戏开始初始化

publicvoidgameInit(){

isStart=false;

enableGame(true);

b2.setEnabled(false);

ckbHB[0].setState(true);

for(inti=3;i<21;i++){

for(intj=0;j<17;j++){

bodyArray[i][j]=0;

}

}

lblWin.setText("");

}

//游戏重新开始

publicvoidreStart(){

repaint();

gameInit();

}

//设置组件状态

publicvoidenableGame(booleane){

b1.setEnabled(e);

b2.setEnabled(e);

ckbHB[0].setEnabled(e);

ckbHB[1].setEnabled(e);

}

//判断输赢横

publicbooleangameWin1(intx,inty){

intx1,y1,t=1;

x1=x;

y1=y;

for(inti=1;i<5;i++){

if(x1>15){

break;

}

if(bodyArray[x1+i][y1]==bodyArray[x][y]){

t+=1;

}else{

break;

}

}

for(inti=1;i<5;i++){

if(x1<1){

break;

}

if(bodyArray[x1-i][y1]==bodyArray[x][y]){

t+=1;

}else{

break;

}

}

if(t>4){

returntrue;

}else{

returnfalse;

}

}

//判断输赢竖

publicbooleangameWin2(intx,inty){

intx1,y1,t=1;

x1=x;

y1=y;

for(inti=1;i<5;i++){

if(x1>15){

break;

}

if(bodyArray[x1][y1+i]==bodyArray[x][y]){

t+=1;

}else{

break;}}

for(inti=1;i<5;i++){

if(x1<1){

break;}

if(bodyArray[x1][y1-i]==bodyArray[x][y]){

t+=1;

}else{

break;}}

if(t>4){

returntrue;

}else{

returnfalse;}}

//判断输赢左斜

publicbooleangameWin3(intx,inty){

intx1,y1,t=1;

x1=x;

y1=y;

for(inti=1;i<5;i++){

if(x1>15){

break;}

if(bodyArray[x1+i][y1-i]==bodyArray[x][y]){

t+=1;

}else{

break;}}

for(inti=1;i<5;i++){

if(x1<1){

break;}

if(bodyArray[x1-i][y1+i]==bodyArray[x][y]){

t+=1;

}else{

break;}}

if(t>4){

returntrue;

}else{

returnfalse;}}

//判断输赢左斜

publicbooleangameWin4(intx,inty){

intx1,y1,t=1;

x1=x;

y1=y;

for(inti=1;i<5;i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1