C语言小项目之贪吃蛇

问题描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<=10^5 ...
摘要由CSDN通过智能技术生成

设计思路:
(1)、首先需要定义一个确定大小的范围,即一个矩形范围。需要定义两个宏Height ,Width分别代表长和宽。
(2)、蛇身设计需要定义一个一定大小的数组,由于矩形范围是Height*Width , 所以可以定义数组大小为 Height*Width即可。
(3)、蛇所吃的食物的设计需要一个在矩形范围内随便出现的光点位置,用一个随机函数产生一个有范围限制的随机值即可。需要注意的是
食物出现的位置要避免被蛇身覆盖。
(4)、蛇身的移动实现是在一个函数中,循环获得键值,判断键值为上下左右任一方向,然后做出响应,例如如果按左键,蛇身的
每一个点除蛇头外都赋值为当前点的前一个点的坐标,设置蛇头点向左移动一位即可,蛇身长度Length+1。

(5)、存活和死亡的判断,当移动时循环监听蛇头的位置即可,当蛇头和蛇身某位置重合时Game Over,或者舌头坐标接触到矩形边界即撞墙
也Game Over。
(6)、由于游戏是一个动态的过程,因此我们用一个库函数来短间隔地刷新屏幕即可看到动态效果。
(7)、游戏结束后可以通过键值y继续游戏,n退出游戏。
具体的实现方法,及相应的函数,程序中也有详细的讲解,代码可直接复制运行。(此次运行实在VS2013下完成)

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <Windows.h>
#include <time.h>
#include <conio.h>
#define MAX_WIDE 60
#define MAX_HIGH 20
//蛇身结构体 包含蛇体长度len 和 蛇身数组
struct snake{
    short len;
    short body[MAX_WIDE*MAX_HIGH];
}snake;
short dx = 1, dy = 0, randxy, score = 0;     //dx为横坐标 dy为纵坐标
COORD coord; //定位光点坐标
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值