C语言课程设计报告

五子棋

院系:软件学院专业:软件工程

班级:102032学号指导老师:王星

摘 要

五子棋是一种两人对弈的纯策略型棋类游戏,应用C语言编写程序可以在计算机上实现二人对弈五子棋功能。二人对弈五子棋程序由图像生成、光标移动与落子、判断胜负和系统帮助等子程序构成;程序中应用了结构体、数组、全局变量、按键处理和图形编程等元素和语句。程序通过棋盘和棋子图像生成、二人移子与落子和判断胜负等功能的实现,在计算机上实现了二人五子棋对弈。

Abstract

Gobang is a traditional checker-type game in which the lining up of five pieces in a straight line scores victory. And C language can accomplish a 2-player gobang on computers. This 2-player gobang program contains 4 main sections, they are, graphics, movement and selection, victory judgment and helping system. Several elements and sentences of C programming language such as structural element, array, global variables, press processing and Graphics Programming are also applied in the program. With the accomplishment of the three main subprograms, namely, checker board and pieces construction, players’ step-selection and victory judgment, a whole program of gobang is established and gobang is available on computers.

目 录

TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc271612941" 一、需求分析4

HYPERLINK \l "_Toc271612942" 二、概要设计6

HYPERLINK \l "_Toc271612943" 三、详细设计9

HYPERLINK \l "_Toc271612944" 四、调试分析23

HYPERLINK \l "_Toc271612945" 五、用户手册24

HYPERLINK \l "_Toc271612946" 六、测试数据25

HYPERLINK \l "_Toc271612947" 七、附录26

第1章:需求分析

1.1五子棋背景

传统五子棋的HYPERLINK "/view/532165.htm" \t "_blank"棋具与围棋相同, HYPERLINK "/view/316813.htm" \t "_blank" 棋子分为黑白两色,棋盘为15×15,棋子放置于棋盘线HYPERLINK "/view/154328.htm" \t "_blank"交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。

因为传统五子棋在落子后不能移动或拿掉,所以也可以用纸和笔来进行游戏。

1.2 程序设计

本程序设计为人与人对弈,一方执黑棋,一方执白棋,轮流走棋,每方都试图在游戏结束前让自己的棋子五子相连,首先实现五子相连的一方获胜。程序执行过程中,要求棋盘、棋子时时可见,并且人可以通过按键盘按键移动光标,摆放棋子。

1.2.1 程序需求分析

根据功能需求,将程序分为图形显示、玩家控制、胜负判断和玩家计分四个模块,以下分析各模块的需求。

图形显示模块:程序开始运行时,给出欢迎及帮助界面;游戏开始后要求生成19×19的棋盘图像,并在棋盘上方提示当前落子方棋子颜色,游戏进行过程中,要求实时显示棋盘上已落下的棋子;分出胜负后,要求给出游戏结束画面。

玩家控制模块:程序开始时,需玩家确定而后开始游戏;游戏过程中,两个玩家通过不同的按键移动光标,选择落子;游戏结束时,有玩家选择是否开始新棋局。

胜负判断模块:实时监测棋盘上棋子,一旦某一色棋子出现五子连线,终止游戏程序,并着色连成一线的五子,弹出该色玩家胜出界面。

玩家计分模块:一方玩家再胜利后通过对文件的操作进行计

c语言课题程序框图,C语言图形五子棋课程设计报告带流程图.docx相关推荐

  1. android五子棋设计报告,基于安卓开发的五子棋课程设计报告精选.doc

    基于安卓开发的五子棋课程设计报告精选 大庆师范学院 <Android开发基础> 题目:基于安卓开发的五子棋游戏 专业班级: 计算机科学与技术一班 设 计 者: kkkkkkkkkkkkkk ...

  2. c语言程序课程设计摘要,C语言程序课程设计报告精编.docx

    湖南涉外经济学院 课程设计报告 课程名称: 报告题目: 学生姓名: 所在学院: 专业班级: 学生学号: 指导教师: C语言课程设计 **爱若烟花空< 信息科学与工程学院 **** 爱若 烟 花* ...

  3. c语言模拟计算机指令流程图,家居分布式温度监测报警系统-传感器课程设计报告 带程序及仿真全套资料...

    资料包: 0.png (13.1 KB, 下载次数: 11) 2018-1-10 04:19 上传 传感器课程设计报告 课    题: 家居分布式温度监测报警系统班    级: 自152 姓    名 ...

  4. 宿舍管理查询软件 C语言 中文摘要,宿舍管理查询软件 课程设计报告.doc

    宿舍管理查询软件 课程设计报告 课 程 设 计 课程设计名称: 宿舍管理查询软件 专 业 班 级 : 计科0604 学 生 姓 名 : 胡方俊 学 号 :20064140414 指 导 教 师 : 白 ...

  5. 用c语言编写一个酒店点菜菜单,C课程设计报告酒店点菜管理系统设计.doc

    C课程设计报告酒店点菜管理系统设计 PAGE C++面向对象课程设计报告 院(系): 专业: 学生姓名: 班级 学号: 题目: 酒店点菜管理系统设计_______ 起迄日期: _ 设计地点: 指 导 ...

  6. 计算机微机原理与接口技术课程设计课题,微机原理与接口技术课程设计报告

    <微机原理与接口技术课程设计报告>由会员分享,可在线阅读,更多相关<微机原理与接口技术课程设计报告(12页珍藏版)>请在人人文库网上搜索. 1.微机原理与接口技术课程设计设计题 ...

  7. python五子棋课程设计报告_五子棋课程设计报告

    智力 ,而且富含 哲理 ,有助于修身养性 . 五子棋相传起源于四千多年前的尧帝时期,比 围棋 的历史还要悠久,可能早在 " 尧造围棋 " 之前, 民间就已有五子棋游戏 . 有关早期 ...

  8. 公交换乘系统c语言,数据结构课程设计报告(公交换乘).docx

    课 程 设 计 报 告 题目: 武昌地区公交查询与换乘推荐 课程名称: 数据结构课程设计 专业班级: 学 号: 姓 名: 指导教师: 报告日期: 计算机科学与技术学院 任 务 书 设计内容 掌握图.查 ...

  9. 大学android五子棋课程目的,基于安卓开发的五子棋课程设计报告..docx

    大庆师范学院 <ANDROID开发基础> 题目:基于安卓开发的五 子棋游戏 专业班级: 计算机科学与技术一班 设计者: KKKKKKKKKKKKKKKKKKK 指导老师:2016-2017 ...

  10. python五子棋课程设计报告_算法课程设计:使用Python完成可视化的五子棋AI

    from enum import IntEnum import pygame from pygame.locals import * import copy import time version = ...

最新文章

  1. Android Weekly Notes Issue #226
  2. 1771: 书架整理(dp)
  3. java for each 的源_Java JDK1.5的新特性之for-each循环的底层原理
  4. px4原生源码学习四--Nuttx 实时操作系统编程
  5. 【目标检测】ICCV21_TOOD: Task-aligned One-stage Object Detection
  6. 【C语言简单说】八:分支结构之if(1)
  7. 爬虫-xpath的用法强化
  8. 怎样给oracle表设置序列,Oracle的sequence序列在hibernate中的配置方法
  9. PyQt 5.4参考指南 ---- PyQt5和PyQt4之间的差异
  10. PAT甲级1017 (模拟排序)
  11. uniapp动态修改元素节点样式
  12. 视频编解码发展历程(从AVC到HEVC再到VVC)(二)
  13. 51单片机按键控制数码管0~9_LED数码管精选电路方案合辑
  14. 小卡的土豆园开园了~
  15. windows 连接蓝牙耳机失败 解决方法
  16. 母版页已经有from 一页只能有一个服务器端 Form 标记
  17. 物联网系列之WIFI模块ESP8266一介绍
  18. 基于Ocean Connect云平台的照明控制系统设计
  19. “ 这片绿茵从不缺乏天才,努力才是最终的入场券——梅西 ”
  20. 一文读懂 Traefik Hub

热门文章

  1. C++获取成员变量的偏移地址
  2. 023_fireshot
  3. Error: The method ‘DioHttpHeaders.add‘ has fewer named arguments than those of overridden method
  4. ong拼音汉字_汉语拼音ong的发音方法
  5. win11怎么关闭触控板?win11关闭触控板的三种解决方法
  6. 搭建kettle 源码工程报[ui/spoon.xul]找不到错误的解决方案
  7. Micrium uC-Probe 使用
  8. 中断系统c语言程序,51单片机中断系统程序实例 (STC89C52RC)
  9. 第20节 信息化基础知识
  10. C语言平面向量加法运算,2.2.1 向量加法运算及其几何意义优质课一等奖