贪吃蛇的简单实验

贪吃蛇:
一、实现的功能:按上下左右建可以移动,但是这个实验里:
(1)只有一条蛇,
(2)蛇每次只能吃一个食物,
(3)游戏界面只有边界部分有墙
(4)结束条件:a、撞墙(蛇越界);b、蛇幢到自己
(5)得分辅助、速度
(6)字符界面
二、明确需求:

三、MVC
model:(自顶向下分析):蛇、食物、墙 、
可以将其看成一个坐标轴:
1、通过线性表可以表示蛇的前进(用链表表示一个蛇)
假设坐标为:(5,1),(6,1),(7,1)
蛇头前进一步:
(5,1),(6,1),(7,1),(8,1)
蛇尾缩一步:
(6,1),(7,1),(8,1)
2、view:
3、controller:
 四、实现的具体功能:
//一个周期内要做的事情:1、蛇要前进(没有吃到食物):添加蛇头节点,删除尾节点
//2、判断是否结束:a、撞墙;b、撞到自己
//3、蛇吃到食物(蛇要增长):添加头节点;重新生成食物;加分(加到多少分的时候速度增加)
//4、方向键来决定蛇的前进方向:用户按下按键,调用函数,

GetAsyncKeyState()函数的用法

#define _CRT_SECURE_NO_WARNINGS 1
# include<windows.h>
# include<stdio.h>

int main()
{
	//
	while (1){
		SHORT r = GetAsyncKeyState(VK_UP);
		//可以异步的获取到有没有按上键,按下为0值,不按为非0值
		printf("%\n", r);
		sleep(300);
	}
	return 0;
}

SetConsoleCursorPosition的使用:
 查阅网站:msdn setconsolecursorposition

BOOL WINAPI SetConsoleCursorPosition(  
_In_ HANDLE hConsoleOutput,//HANDLE找句柄:改变光标的位置此时指的是改变标准输出上光标的位置(windows上统一使用的东西)  
_In_ COORD  dwCursorPosition//);
#define _CRT_SECURE_NO_WARNINGS 1
# include<windows.h>
# include<stdio.h>

int main()
{
	HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
	COORD coord;
	for (int i = 0; i < 6; i++){
		coord.X = i * 2;
		coord.Y = i;
		SetConsoleCursorPosition(hStdout, coord);
		printf("%02d", i);
	}
 	return 0;
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuruhua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值