基于vb的五子棋

VB语言制作五子棋
a)需求分析:五子棋游戏是一个深受人们喜爱的游戏,通常是人机对弈,本程序设计为人与人对弈,一方执黑棋,一方执白棋,轮流走棋,每方都试图在游戏结束前让自己的棋子五子相连。按键盘上的方向键可以移动光标,回车键可以摆放棋子。
这个程序是对编程基本功的一个训练,将分支、循环、数组函数综合应用,而不仅限于编制独立的小程序,通过游戏过程增加编程的兴趣,提高编程水平。编制该程序我对以下的知识点进行的巩固和掌握:
皮带盘
1.数组元素为结构体的数组应用。
2.全局变量应用。
3.按键的处理。
4.数组元素对应关系。
5.图形方式等等。
虽然该程序是一个普通而又简单的程序,但是对于语言初级阶段的我来说,是一个很好的锻炼甚至可以说是一个很好的提高。
b)概要设计:棋盘设计为19×19格,初始状态光标在棋盘的中央,白棋先走,轮流落子,当一方连成五子或下满棋盘时,游戏结束(连成五子的一方获胜,下满棋盘为和棋)。当游戏一方胜利后显示胜利信息,提示信息利用汉字点阵输出。
从程序表面看,这是一个二维平面图,所以数据用二维数组来表示,数组两个下标可以表示棋盘上的位置,数组元素的值代表棋格上的状态,共有三种情况,分别是0代表空格,1代表白棋,2代表黑棋。这样程序的主要工作是接收棋手按键操作,棋手1UpDownLeftRight控制光标移动,回车键表示落子。棋手2WSAD控制光标移动,空格键表示落子。一旦接收到回车键或空格键,说明棋手落子,先判断是否是有效位置,也就是说已经有棋子的位置不能重叠落子。落子成功后,马上判断以该位置为中心的八个方向:上、下、左、右、左上、左下、右上、右下是否有相同颜的棋子连成五子,如果连成五子,则游戏结束,显示获胜信息。
c)详细设计:
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
2Main()主函数
按照语法规则,首先定义使用到的常数、全局变量、函数原型说明。棋盘状态用数组yes[20][20],初值为0,表示空格。函数的实体比较简单,调用图形驱动、画棋盘、人人对弈等自定义函数,一旦游戏结束后,关闭图形驱动,程序结束。
3drawqp()ca3660画棋盘函数
背景颜设为黑,从坐标(100100)开始每隔20个单位用绿画一条水平直线,一条垂直线,构成棋盘,用循环语句实现。画线函数line()的参数为线的起点和终点坐标,注意要计算正确。函数setfillstyle()可以设置填充模式和填充颜,fillellipse(int x,int xradius,int yradius)xy为圆心,xradiusyradius为水平和垂直轴画一填充椭圆,当xradiusyradius相等时,则画出的是圆,用它表示棋子。
4OpinionWin ()判断是否胜出函数
本函数根据每次落子的位置,分别向上、下、左、右、左上、左下、右上、右下八个方向判断是否有相同颜的棋子连成五子,如果成立,游戏就结束,并显示提示信息(组培容器:红方获胜),否则继续落子。
5.图形功能函数
(1) PicMap.ForeColor ():定义背景颜。
(2) PicMap_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single):
用于初始化图形系统,并装入相应的图形驱动器。该函数把由driver所指向的图形驱动器代码装入内存。如果图形驱动器未装入内存,图形函数将不能操作。图形函数所用的屏显模式由mode所指向的整数值确定。最后,图形驱动器的路径是由path所指向的字符串给出。如果没有指定路径,就在当前工作路径上寻。
(3)rectangle(int left,int top,int right,int bottom):函数rectangle()用当前画出由坐标left,topright,bottom所定义的矩形。
(4)PicMap.Line ():把当前画线颜设置为color所指定的颜。每个图形显示卡的有效颜由代码提供。
d)调试分析:
平板电脑手机课程设计总结
最大的难题就是关于AI方面的代码,这一段代码我是借用别人的。
通过编制该程序我对以下的知识点进行的巩固和掌握:
1.数组元素为结构体的数组应用。
pfa喷涂
2.全局变量应用。
3.按键的处理。
4.干果礼品盒图形方式等等。
虽然该程序是一个普通而又简单的程序,但是对于VB语言初级阶段的我来说,是一个很好的锻炼甚至可以说是一个很好的提高。由于个人能力的限制该程序还有许多的缺陷,若要进一步的完善还需要对VB语言更深一步的学习。

本文发布于:2024-09-21 00:24:44,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/221152.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图形   函数   数组   棋盘   游戏   程序   颜色   落子
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议