- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言数独字谜游戏康奈程设计
学生课程设计报告
课程设计题目: 数独字谜游戏
专 业 名 称: 软件工程
2013 年 6 月 21 日
一、课程设计内容
数独字谜游戏:数独字谜游戏是在一个9x9的正方形内,给出一定的数字,让玩家在剩余的空格之内填写数字,最终使每一行,每一列,每一个3x3的小正方形都只有1-9,并且不重复,这样玩家就算通关的一款游戏。
技术路线
是基于vc++6.0环境下所开发的程序,
加入了PlaySound()函数,设置了游戏的背景音乐。
加入了cstdlib,ctime头文件,运用了以系统时间为种子的随机函数。
接收用户键盘输入信息,实现进入游戏,输入坐标,输入数字等功能。
运用的类型转换,将char型数组转换为int型数组。
设计与实现
1.游戏基本功能:
游戏有难度选择,通关后继续游戏和退出游戏的界面。
游戏在选择难度后,会在布满数字的9x9的正方形宫格内随机生成一些空白字符,根据选择难度的不同,生成的空白字符数目会不同,空白字符越多,难度越大。
通过正方形宫格外的坐标,用键盘输入想输入数字的坐标和数字,随后会显示出输入数字后新宫格,再重复以上操作,直到每一行,每一列,每一个3x3的宫格内只有1-9这9个数字并且不重复,游戏就算通关。
游戏通关后,可以选择继续游戏,并且挑战更大难度,也可以选择退出游戏,下次再战。
2.函数定义和声明
头文件
#include iostream
#include cstdlib //随机函数
#include ctime //系统时间
#include pcc32.h //彩色文本
#include mmsystem.h
#pragma comment(lib, pcc32_vc6.lib)
#pragma comment(lib,winmm.lib)
using namespace std;
(2)函数声明
bool yz(char b[9][10]) //验证子函数,验证每一行,每一列,每一个3x3宫格都是1-9.3.主函数int main()
void main()
{
PlaySound((char*)kanong.wav,NULL,SND_ASYNC|SND_LOOP);
char a[9][10]={{493761528},
{582943167},
{716528349},
{139674852},
{658219734},
{247835691},
{975382416},
{821456973},
{364197285}};
int b[81],c[81],q=0,p=0;
int k,x;
do{
setTextColor(14);
cout *^0^*欢迎进入数独游戏*^0^*\n;
setTextColor(10);
cout请选择游戏的难易级别为?(3—高,2—中,1—低):endl;
cink;
switch(k)
{
int i,j,m,n,gs;
case 1:
srand((int)time(0));
for(gs=0;gs30;gs++)//随机在已经布满的9x9宫格里,运用随机数,并且以系统时间为参数,随机产生空白字符,
{ //低难度的数独,每次产生的空白字符为22个左右,
m=(int)(10*rand()/(RAND_MAX+1.0));
n=(int)(10*rand()/(RAND_MAX+1.0));
a[m][n]= ;
b[q]=m; //将随机产生的空白字符的坐标分别存在b,c两个数组中.
c[p]=n;
q++;
p++;
}
b[30]=10,c[30]=10;
do
{
setTextColor(15);
cout 1 2 3 4 5 6 7 8 9endl;
setTextColor(3);
cout __________________endl;
cout ‖----------------------------------‖endl;
for(i=0;i3;i++)
{
setTextColor(15);
cout (i+1) ;
for(j=0;j9;j++) //输出不同颜色的题目字符和空白字符.
{
if(j%3!=0)
{
您可能关注的文档
最近下载
- 基础化学高职高专第五版高琳第六章第一节化学平衡与平衡常数.pptx VIP
- 输电线路全寿命周期设计建设技术导则.pdf VIP
- 基础化学高职高专第五版高琳第十章氧化还原平衡.pptx VIP
- 人教B版高中数学必修二同步讲义:平面向量线性运算的应用(学生版+解析).pdf VIP
- 人教B版高中数学必修二讲义:向量的坐标及其运算(学生版+解析).pdf VIP
- 人教B版高中数学必修二同步讲义:向量的基本定理(学生版+解析).pdf VIP
- 基础化学高职高专第五版高琳第十一章脂肪烃.pptx VIP
- 浅谈搅拌站与精细化管理 - 管理文章.docx VIP
- 混凝土精细化管理.docx VIP
- 一种调料售货机的自动售货方法.pdf VIP
文档评论(0)