程序设计报告格式.doc
文本预览下载声明
Visual Basic程序设计
题目:五子棋(自拟)
学生姓名:
学生班级:
指导教师: 朱 辉
提交日期:
五子棋介绍(四号字,宋体,加粗)
(小四字,宋体)五子棋是一种两人对弈的纯策略型棋类游戏,棋具与围棋通用,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。已在各个游戏平台有应用。
传统五子棋的棋具与围棋大致相同,棋子分为黑白两色,棋盘为15×15,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。
程序界面
图1 五子棋主界面
控件说明:
标签
Label1:显示“当前下棋方”
lblName(0):显示“黑方”
lblName(1):显示“白方”
lblPrompt1:显示黑方“胜0盘,负0盘”
lblPrompt2:显示白方“胜0盘,负0盘”
图片:
ImgNow:当前下棋方棋子图片
Img(0):黑方棋子图片
Img(1):白方棋子图片
Menu:菜单
PictureBox:绘制棋盘
程序设计
3.1 变量说明
Dim MapBlack(1 To 19, 1 To 19, 0 To 4) As Single 黑方棋盘权值表
Dim MapWhite(1 To 19, 1 To 19, 0 To 4) As Single白方棋盘权值表
Dim NowOpt As Boolean 当前下棋方
Dim CanOpt As Boolean 是否可运行
Dim BlackWin As Integer 黑方胜数
Dim BlackLost As Integer 黑方失败数
Dim WhiteWin As Integer 白方胜数
Dim WhiteLost As Integer 白方失败数
Const Grid = 240 单元格点尺寸
3.2 过程说明
InitializePre() 为每个棋位赋权值
ShowMap(Opt As Boolean, X As Integer, Y As Integer, Optional CN As Boolean = False) 画棋子
ReDrawMap() 重新绘制棋盘
ReInputData() 清除棋位的权值
Form_Load() 加载应用
PicMap_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 落子
3.3 函数说明
InputeCalcPre() 计算四向棋位权值
OpinionWin(Opt As Boolean) 胜负判定
ReadMapData() 画出落子
源码说明
每个棋位取值初始化
Private Sub InitializePre() 初始化优先级
Dim i As Integer, j As Integer
For i = 1 To 9
For j = i To 19 - i
MapBlack(i, j, 1) =i //权值以中心为基础逐次向外减少
MapBlack(i, j, 2) = i
MapBlack(i, j, 3) = i
MapBlack(i, j, 4) = i
MapBlack(j, i, 1) = i
MapBlack(j, i, 2) = i
MapBlack(j, i, 3) = i
MapBlack(j, i, 4) = i
Next j
Next i
For i = 19 To 11 Step -1
For j = 20 - i To i
MapBlack(i, j, 1) = 20 - i
MapBlack(i, j, 2) = 20 - i
MapBlack(i, j, 3) = 20 - i
MapBlack(i, j, 4) = 20 - i
MapBlack(j, i, 1) = 20 - i
显示全部