网络编程技术综合实报告.docx
- 文档编号:4376279
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:14
- 大小:177.84KB
网络编程技术综合实报告.docx
《网络编程技术综合实报告.docx》由会员分享,可在线阅读,更多相关《网络编程技术综合实报告.docx(14页珍藏版)》请在冰豆网上搜索。
网络编程技术综合实报告
辽宁工业大学软件学院
《C#网络编程技术》综合实验报告一
题目:
面向对象程序设计
院(系):
专业班级:
学号:
学生姓名:
指导教师:
教师职称:
起止时间:
面向对象程序设计
问题描述
飞行棋是由四种颜色组成的,上面画有飞机的图形,最多可以四个人各拿一种颜色一起玩。
飞行棋里有一个骰子,骰子是正方体的,有六个面分别是一个点、二个点、三个点、四个点、五个点和六个点。
你只要转动骰子,骰子停下来的时候正面是几,你就走几步。
但是刚开始时只有投到六,你的飞机才能起飞,并且投到六你还有机会再投一次。
说明:
到终点时走的步数要正好到达才算胜利,不然要返回来走。
问题分析
本次设计的系统大致上能够实现飞行棋的一些基本操作,诸如掷骰、然后根据点数
判断是否出飞机或走动飞机,飞机的迭加以及撞机后的处理,并严格按照飞行棋的游戏
规则进行走动。
用户只能在特定的区域来掷骰以及控制飞机的移动。
最后当有一方所有
飞机都到达终点会弹出消息框提示胜利。
程序设计
程序实现
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespace第九次作业
{
classProgram
{
//在数组中1:
幸运轮盘◎
//2:
地雷☆
//3:
暂停▲
//4:
时空隧道卍
//-1:
普通棋格□
staticint[]mapi=newint[100];
staticstring[]playername=newstring[2];
staticint[]playeri=newint[2];
staticvoidMain(string[]args)
{
playeri[0]=0;
playeri[1]=0;
装饰();
名字();
Console.Clear();
装饰();
方块();
棋盘();
playGame();
Console.ReadKey(true);
}
privatestaticvoidplayGame()
{
while(true)
{
for(inti=0;i<2;i++)
{
Dice(i);
if(playeri[i]>=99)
{
Console.WriteLine();
Console.WriteLine("{0}获得胜利,按任意键退出游戏",playername[i]);
return;
}
}
}
}
privatestaticvoid名字()
{
Console.WriteLine("请输入玩家1的名字");
playername[0]=Console.ReadLine();
while(playername[0]=="")
{
Console.WriteLine("名字不能为空,请重新输入");
playername[0]=Console.ReadLine();
}
Console.WriteLine("请输入玩家2的名字");
playername[1]=Console.ReadLine();
while(playername[1]==""||playername[1]==playername[0])
{
if(playername[1]=="")
{
Console.WriteLine("名字不能为空,请重新输入");
}
else
{
Console.WriteLine("名字不能相同,请重新输入");
}
playername[1]=Console.ReadLine();
}
}
privatestaticvoid装饰()
{
Console.WriteLine("*****************************************************************");
Console.WriteLine("**");
Console.WriteLine("*飞行棋*");
Console.WriteLine("**");
Console.WriteLine("*****************************************************************");
Console.WriteLine("幸运轮盘◎地雷☆暂停▲时空隧道卍");
}
privatestaticvoid方块()
{
for(inti=0;i { mapi[i]=-1; } int[]luckTurn={6,23,40,55,69,83}; int[]landMine={5,13,17,33,38,50,64,80,94}; int[]pause={9,27,60,93}; int[]timeTunnel={20,25,45,63,72,88,90}; for(inti=0;i<6;i++) { mapi[luckTurn[i]]=1; } for(inti=0;i<9;i++) { mapi[landMine[i]]=2; } for(inti=0;i<4;i++) { mapi[pause[i]]=3; } for(inti=0;i<7;i++) { mapi[timeTunnel[i]]=4; } } privatestaticvoid棋盘() { for(inti=0;i<30;i++) { Console.Write(Getmapi(mapi[i],i)); } Console.WriteLine(); for(inti=30;i<35;i++) { for(intq=0;q<29;q++) { Console.Write(""); } Console.Write(Getmapi(mapi[i],i)); Console.WriteLine(); } for(inti=64;i>=35;i--) { Console.Write(Getmapi(mapi[i],i)); } Console.WriteLine(); for(inti=65;i<70;i++) { Console.Write(Getmapi(mapi[i],i)); for(intq=0;q<29;q++) { Console.Write(""); } Console.WriteLine(); } for(inti=70;i<100;i++) { Console.Write(Getmapi(mapi[i],i)); } } publicstaticstringGetmapi(intx,inti) { stringzifu=""; if(i==playeri[0]) { zifu="A"; Console.ForegroundColor=ConsoleColor.White; } elseif(i==playeri[1]) { zifu="B"; Console.ForegroundColor=ConsoleColor.White; } else { switch(x) { case-1: zifu="□"; Console.ForegroundColor=ConsoleColor.White; break; case1: zifu="◎"; Console.ForegroundColor=ConsoleColor.Red; break; case2: zifu="☆"; Console.ForegroundColor=ConsoleColor.Yellow; break; case3: zifu="▲"; Console.ForegroundColor=ConsoleColor.DarkYellow; break; case4: zifu="卍"; Console.ForegroundColor=ConsoleColor.Blue; break; default: zifu="□"; Console.ForegroundColor=ConsoleColor.White; break; } } returnzifu; } publicstaticvoidDice(intincome) { intpoint=0; Console.WriteLine(); Console.WriteLine("请{0}按下任意键投掷骰子",playername[income]); Console.ReadKey(true); Randomr=newRandom(); point=r.Next(1,7);//随机数; Console.WriteLine("{0}掷出了{1}点。 ",playername[income],point); Console.WriteLine("请按任意键继续..."); Console.ReadKey(true); playeri[income]+=point; if(playeri[0]==playeri[1]) { Console.WriteLine("{0}飞的太慢了,被撞毁了",playername[1-income]); playeri[1-income]=0; Console.ReadKey(true); } Console.Clear(); 装饰(); 棋盘(); trap(income); Console.Clear(); 装饰(); 棋盘(); } publicstaticvoidtrap(intincome) { if(mapi[playeri[income]]==3) { Console.WriteLine(); Console.WriteLine("人品不好,{0}暂停一回合。 ",playername[income]); Console.ReadKey(true); Dice(1-income); } if(mapi[playeri[income]]==2) { Console.WriteLine(); Console.WriteLine("{0}不幸踩到地雷了,倒退6格",playername[income]); Console.ReadKey(true); playeri[income]-=6; if(playeri[income]<0) playeri[income]=0; Console.Clear(); 棋盘(); trap(income); } if(mapi[playeri[income]]==4) { Console.WriteLine(); Console.WriteLine("{0}进入时空隧道随机前进1-10格",playername[income]); Console.ReadKey(true); Randomr2=newRandom(); intpoint=r2.Next(1,7); Console.WriteLine("前进了{0}格! ",point); playeri[income]+=point; Console.ReadKey(); Console.Clear(); 棋盘(); trap(income); } if(mapi[playeri[income]]==1) { Console.WriteLine(); Console.WriteLine("人品不错,因为我忘记要做什么,所以随机其他三个"); Console.ReadKey(true); Randoma=newRandom(); intp=a.Next(1,4); if(p==1) { Console.WriteLine(); Console.WriteLine("人品不好,{0}暂停一回合。 ",playername[income]); Console.ReadKey(true); Dice(1-income); } elseif(p==2) { Console.WriteLine(); Console.WriteLine("{0}不幸踩到地雷了,倒退6格",playername[income]); Console.ReadKey(true); playeri[income]-=6; if(playeri[income]<0) playeri[income]=0; Console.Clear(); 棋盘(); trap(income); } else { Console.WriteLine(); Console.WriteLine("{0}进入时空隧道随机前进1-10格",playername[income]); Console.ReadKey(true); Randomr2=newRandom(); intpoint=r2.Next(1,7); Console.WriteLine("前进了{0}格! ",point); playeri[income]+=point; Console.ReadKey(); Console.Clear(); 棋盘(); trap(income); } } } } } 实验总结 经过这次短短的一个礼拜的课程设计,发现自己的整体面向对象的编程能力大大提高,虽然相对于以前的实验更复杂,不过加强了对C#、UML类图的等程序的练习。 由于这次课程设计安排的时间不是很足够,对于一个要给别人用的软件来比较的话,在很多功能上还需加强。 虽然在设计的时候有遇到过很多困难和错误,但我觉得能够完成这次的课程设计,确实有了很大的进步与收获。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 编程 技术 综合 报告