五子棋(双人对战) C语言课程设计.doc

  • 格式:doc
  • 大小:378.50 KB
  • 文档页数:13

下载文档原格式

  / 13
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计

题目五子棋(双人对战)

指导教师曹东燕

学生姓名夏文龙于文杰邢健

学号 201000802032 201000802114 201000802097专业电子信息工程

教学单位物理系(盖章)

目录

1设计内容与设计要求 (1)

1.1系统功能简介 (1)

1.2系统运行环境 (1)

2程序流程图 (1)

3运行的运行及说明 (2)

3.1系统的运行 (2)

3.2运行说明 (4)

4课程设计目的………………………………………………….

5 程序特色 (5)

6总结 (5)

附件:源程序清单 (5)

1设计内容与设计要求

1.1系统功能简介

该系统是五子棋的人人对战模式,而非平常的人机对战

系统有简单的菜单界面

1.2系统运行环境

Vc++6.0下运行,硬件基本无要求,现在的计算机系统基本都可以运行该系统。

2程序流程图

3系统的运行及说明

3.1系统的运行

图3-1程序的初始化界面

程序初始化的界面,界面简洁明快,便于观察。

图3-2程序的运行界面

图3-3程序的介绍界面

3-2运行说明

A向左 W向上 D向右 S向左空格键确定当结束时按Y重新开始游戏按N退出游戏

4课程设计目的

五子棋游戏不仅能增强人们的抽象思维能力、逻辑推理能力、空间想象力,提高人们的记忆力、心算能力等,而且深含哲理,有助于修身养性。五子棋既有现代休闲方式所特有的特征“短、平、快” ,又有中国古典哲学所包含的高深学问“阴阳易理” ;它既有简单易学的特点,为人民群众所喜闻乐见,又有深奥的技巧;既能组织举办群众性的比赛、活动,又能组织举办高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观,它是中西方文化的交融点,也是中西方文化交流的一个平台。

自从计算机作为游戏对战平台以来,各种棋类游戏如雨后春笋般纷纷冒出。五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性。同时具有简单易学、既动手又动脑的特点。

同时也为锻炼自己的编程能力。

5程序特色

本程序简洁明快,采用黑白两色棋,并且本程序为双人对战。

6总结

通过这次实习,让我们初步有了编写系统的能力,我们对很多的函数有了新的认识,也学会了运用多种函数,也明白了编写软件的基本过程,和基本方法。编写软件的过程中我们又学到了曾经自己不知道的函数或是自己不会的函数的用法。这次课程设计课总的来说让我受益匪浅。

在这几天的编写过程中我们对c语言有了更进一步的认识和了解。此次编程过程的经验和知识肯定能促进我以后的学习。

此次课程设计不仅给了我们很多很好的经验,也让我们体会到了失败时的焦急和难受,也体会到了成功时的兴奋与喜悦。

附件:源程序清单

#include

#include

#include

void main()

{

//q:20*20棋盘数据数组,0表示空,1表示黑棋,2表示白棋

//h:游戏状态量,变化范围为0、1、2,0表示退出游戏,1表示初始化游戏数据,2表示进行游戏

//i:循环辅助量

//j:键盘输入结果

//k:从二维坐标得到的一维数组下标

//l:黑白子变化辅助量,变化范围为1、2,1为当前下的是黑棋,2为当前下的的是白棋

//m:输赢判断结果,变化范围为0、1、2,0表示没有输赢,1表示黑棋赢,2表示白棋赢

//x:游标的X坐标

//y:游标的Y坐标

char q[400];

int h, i, j, k, l, m, x, y;

//第一次进入游戏循环,首先初始化游戏数据h = 1;

while (h)

{

if (h == 1)

{

//初始化棋盘

for (i = 0; i < 400; ++i)

q[i] = 0;

//初始化黑白子变化辅助量,黑棋先行

l = 2;

//初始化输赢判断结果,当前没有输赢

m = 0;

//初始化游标坐标

x = y = 0;

//初始化完毕进行游戏

h = 2;

}

else

{

//清屏

system("cls");

//绘制棋子、棋盘

for (i = 0; i < 400; ++i)

{

if (y * 20 + x == i)

{

if (q[i] == 1)

printf("■");

else if (q[i] == 2)

printf("□");

else

printf("◎");

}

else

{

if (q[i] == 1)

printf("●");

else if (q[i] == 2)

printf("○");

else

{

if (i == 0)

printf("┏");

else if (i == 19)

printf("┓");

else if (i == 380)

printf("┗");

else if (i == 399)

printf("┛");

else if (i > 0 && i < 19)

printf("┳");

else if (0 == i % 20)

printf("┣");

else if (19 == i % 20)

printf("┫");