微信小程序> 纪念一下我的第一个小程序(五子棋)

纪念一下我的第一个小程序(五子棋)

浏览量:3906 时间: 来源:weixin_33714884

为什么80%的码农都做不了架构师?>>>   小程序

                                                                                       

因为不会用Xcode的图形编译函数,刚刚学完C,想实践一下。

先声明一下,程序是在TC2.0中实现的,很多函数都是TC提供的,我们直接调用就好,

代码是事先就有的 ,并非本人自己原创,So学习分享一下。

(在eacyx吧里面有TC2.0的压缩包,没有的可以自取下)

 

c语言五子棋游戏项目分析与系统设计

在实现五子棋项目前首先要进行需求分享,只有正确认识顾客的需要,才能编译出正确的程序

需求分析( 最关键的一个部分,要正确认识顾客的需要)

  • 实现两人对弈
  •  
  • 设计一个19*19的棋盘 白色代表play1,红色play2  绿色代表运行轨迹 
  •  
  • 五子一线时 表示成功 退出游戏 也可中途退出游戏

 

系统设计

一。设计目的

实现两人五子棋游戏对弈

二。设计思路

1.

画一个19*19的棋盘 

用(二维数组)数组的值代表位置的状态:即有哪个玩家的落子,或者此处无人落子

 

2.

接受按键操作 UP DOWN LEFT RIGHT 回车代表落子

3.

成功落子判断该位置的八个放心 是否有五个子连成一线

三。模块划分(降低复杂型 提高效率)

主模块  

棋盘模块

下棋模块 

功能控制模块(画棋子 判断胜负 行棋方转换)

信息模块

 

四。用户界面的设计

1.欢迎界面

2.帮助界面

3.棋盘界面(背景色选用棕色 )

五。数据结构设计

(1)坐标变换

   先介绍两个坐标系

  • 物理设备坐标系统  :单位:像素 ;左上角是原点 X轴向右 Y轴向下
  •  
  • 棋盘坐标系 :纵(横)行线从依次按0-18标记 坐标范围(0,0)~(18,18)

为什么转换? 下棋用的是棋盘坐标,但下棋的信息记录在二维数组中 为了绘制 要用到图形函数 图形函数用的坐标是物理坐标

设棋盘坐标(x,y) 屏幕坐标(X,Y)  

X=OFFSET_x+x*OFFSET

Y=OFFSET_y+y*OFFSET

OFFSET 代表每一个格的宽度  

OFFSET_x 代表左端到屏幕左边界的距离 

OFFSET_y 代表上端到屏幕上边界的距离

(2) 数组

  • 定义一个二维数组 status[N][N]     N=19;
  •  
  • status 取值有三种情况 0,1,2 :  0代表没落子 1代表玩家1的落子 2代表玩家2的落子

    (全局变量)

  •  
  • 按键码 
  •  
  • UP 0x4800 

    DOWN 0X5000

    LEFT 0X4b00

    RIGHT 0x4d00

    ENTER 0x1c0d

    ESC 0x11b

  •  
  • 设置偏移量
  •  
  • #define OFFSET 20 

    #define OFFSET_x 100

    #define OFFSET_y 60

    #define N 19

    (保存状态)status[N][N],step_x,flag, int flag00,int key

 

 

 

                                                                                                           

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎