资源描述:
《VB课程设中国象棋复盘报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、中国象棋复盘课程设计报告(VB)编号:02中国象棋复盘设计报告学院机械学院班级机设076学号070501姓名康煦晖成绩一、设计思路1.要达到的目的①培养综合利用VB语言进行程序设计的能力②培养VB的标准控件进行界面设计的能力③用VB的文件功能读取文件内容并进行处理的能力2.关键问题的解决①棋子的载入②棋盘的更换③走棋,读棋④各个过程的建立载入棋谱二、模块之间的调用关系,或程序流程图开始模块上一步下一步暂停结束三、部分程序关键源代码及注释PrivateSubForm_Load()Dimj%,k%DimX%,Y%Dimm%,n%,v%bs=
2、1cishu=0time.Caption=Format(m,"00")&":"&Format(s,"00")ti=5'初始化时间间隔中国象棋复盘课程设计报告(VB)编号:02s=ti+1'qp="经典"qz="普通"CallqziCallqpa'载入棋盘坐标ForY=1To10body(Y)=75+(Y-1)*682NextYForX=1To9bodx(X)=75+(X-1)*680NextXlocate'定位棋子'定位棋路Forj=1To9Fork=1To10bod(j,k)=board(j,k)bodbf(j,k)=board(j,
3、k)NextkNextjEndSubPrivateSubForm_OLEDragDrop(DataAsDataObject,EffectAsLong,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Form_LoadCommand1_ClickEndSub'走棋方闪烁IfCommand6.Enabled=TrueThenImage4.Visible=NotImage4.VisibleEndIfIfrobThenImage2.Visible=False中国象棋复盘课程设计报告(VB)编
4、号:02Image1.Visible=NotImage1.VisibleElseImage1.Visible=FalseImage2.Visible=NotImage2.VisibleEndIfcishu=cishu+1EndSubPrivateSub换方_Click()IfPicture1.ScaleTop=0ThenPicture1.ScaleLeft=6210-570Picture1.ScaleTop=6870-570ElsePicture1.ScaleLeft=0Picture1.ScaleTop=0EndIfPicture1.
5、ScaleWidth=-(Picture1.ScaleWidth)Picture1.ScaleHeight=-(Picture1.ScaleHeight)EndSubPrivateSub暗夜_Click()qp="暗夜"CallqpaEndSubPrivateSub结束_Click()Dimi%Timer1.Enabled=TruestartTimer1.Enabled=FalseList1.ClearCommand1.Enabled=TrueCommand2.Enabled=FalseCommand3.Enabled=False中国象
6、棋复盘课程设计报告(VB)编号:02Command4.Enabled=FalseCommand5.Enabled=FalseCommand6.Enabled=FalseEndSubSubmoe()'获得移动棋子的始末坐标Dimk%,h%,n%,sig%,xy%'xi初横坐标,yi初纵坐标,xy终量或增量,xx末横坐标,yy末纵坐标DimzhaoAsStringh=1sig=1IfNotrobThensig=-1IfrobThenzhao=Right(List1.List(bs),4)Elsezhao=Right(List1.List(b
7、s),4)'读取一行棋谱的招法,bs为步数'分析棋谱,获取横坐标,终量或增量,棋子种类xy=num(Mid(zhao,4,1))IfMid(zhao,1,1)="前"OrMid(zhao,1,1)="后"ThenSelectCaseMid(zhao,2,1)Case"士","仕"n=sig*2Case"相","象"n=sig*4Case"将","帅"n=sig*1Case"卒","兵"n=sig*7Case"车"n=sig*5Case"炮"n=sig*6Case"马"n=sig*3EndSelect中国象棋复盘课程设计报告(VB)编号:
8、02If(Mid(zhao,1,1)="前"Androb)Or(Mid(zhao,1,1)="后"AndNotrob)Then'判断棋子位置,即获取纵坐标k=1Forh=1To9Fork=1To10Ifbo