• C语言课程设计之连连看


    1 需求分析
    游戏名称:连连看。这是一款区别于普通连连看的小游戏。玩家以某个速度顺时针连续旋转,在旋转过程中根据键盘或鼠标命令射出直线连接 界面上的小球,每连接一个小球,玩家则占领此地,连接下一个小球,直至连接所有小球成闭环。
     

    1.1 功能需求
    1.1.1基本功能:
    ①完成游戏登入界面的设计
    ②在登入界面按下空格,将弹出对话框用于保存当前玩家的用户名
    ③游戏开始后:
    1)载入背景画面,主球和其余小球随机分布在相应位置上
    2)主球以某个角速度顺时针旋转
    3)玩家点击鼠标控制球发出子弹,子弹击中小球后将此球连接,表示该球被占领。则上一个小球停止旋转、炮针消失和失去发射子弹的功能;而当前被占领的球开始旋转、生成炮针和具有发射子弹的功能。以此类推,直至所有小球闭合成环或者形成“主球—其他球—主球”的连接路线。
    4)游戏时间固定(本游戏限时60秒),剩余游戏时间显示在屏幕右上角,游戏时间实时更新
    5)游戏时间到或玩家成功连接小球,游戏结束
    6)游戏结束,记录总得分,并显示在界面上
    7)保存用户的成绩:单击“保存成绩”可记录当前玩家的用户名和游戏得分,并将其存入文件中(同一个用户名可有多个成绩)
     
    1.1.2拓展功能:
    ①增加暂停按钮:点击暂停按钮后,游戏和游戏时间暂停,可选择继续游戏或者回到主菜单,
    ②显示排行榜:主菜单中单击“显示排行榜”按钮,读取文件中的信息并进行排序,排行榜输出前10名的玩家信息显示在新界面中。
    ③增加音乐:在登入游戏时和进行游戏时增加两段背景音乐
    ④游戏分级:在主菜单界面增加“游戏难度”按钮,点击后可进入新界面选择游戏的等级,并在此界面左上角增加“返回”键,供玩家直接返回主菜单。
    ⑤主菜单增加“退出游戏”:可供玩家直接中断程序,增加了界面的交互性
    ⑥本游戏小球增加“魔性”运动功能,提高了游戏的难度和趣味性
    ⑦在每次游戏结束后自动弹出一个显示玩家得分和是否成功的界面,界面上增加有“保存成绩”按钮和“返回主菜单”按钮,提升了交互性。
    ⑧增加游戏帮助:帮助玩家更好地理解游戏
    ⑨优化界面成3 个区域:游戏区、控制区、信息显示区。增加游戏的控制和显示信息。
     

    1.2 数据需求
    输入数据:用户的ID
    中间结果:排行榜中的用户名ID、排名和得分,游戏中不断更新的时间和当前得分
    输出结果:用户的游戏得分
     

    1.3 界面需求
    ①游戏登入界面:

    图1 游戏登入界面
    ②游戏主菜单界面:
    图2 游戏运行界面(上述的功能已全部实现)

    ③游戏运行界面:
    图3 游戏运行界面

    ④游戏成功与失败界面:
    图4 游戏成功界面
    图5 游戏失败界面
    ⑤游戏暂停界面:
    图6 游戏暂停界面
     

    1.4 开发与运行环境需求
    ①开发环境:
    Microsoft Visual Studio 2017
    ②运行环境:
    Windows 10 Family Chinese Version 64-bit (10.0, version 17134)
     

    1.5 其他方面需求
    ①为了获取对话框中的用户名,使用TcharToChar函数将Tchar类型的字符串转成char类型的字符串,从而将用户信息保存到文件中。
    ②运行环境在创建项目时选择了SDL安全检查,具有较好的安全性,如在outtextxy函数的中的字符串使用了_T(“”)形式,fprintf改成更为安全的fprintf_s形式,用_getch()代替了不具有移植性的getch()等。
    ③在构建文件来保存成绩、销毁玩家成绩等功能中使用了链表。
     

    需要源代码和相关资料可以联系我。
  • 相关阅读:
    .net下将富文本编辑器文本原样读入word文档
    最大流算法完整代码
    如何用程序删除win 7下SYSTEM权限的目录
    01背包问题的动态规划算法
    使用gem安装jekyll错误记录
    dev机上数据库中批量生成table
    git pull错误记录及解决
    git clone操作到开发机的错误记录
    nginx错误记录
    链表链式结构的写法
  • 原文地址:https://www.cnblogs.com/xwh-blogs/p/12562673.html
Copyright © 2020-2023  润新知