关于贪吃蛇移动的问题 万分火急 在线等待

Cjslong 2010-08-07 02:18:40
小弟初学VC 想做个贪吃蛇

发现一个问题:

当蛇吃到豆子时增加一个节点 可是没吃到时会减少有一个节点

也就是说在某一瞬间 如果吃到豆子增在一节点,如果下一秒钟没遇到豆子,这个增加的豆子据仍然消失了 蛇身恢复原状

在下一秒 即使没吃到也不继续减少

不知道什么地方错了

请高人指点一下 迷津

//判断是否吃到食物
bool CGreedSnake::EateFood( CFood &food )
{
vector< CSnakeNode >::iterator iter = m_greedsnake.begin();

if( iter->m_xPose==food.m_food[food.m_index].GetLinePoisition() && iter->m_yPose==food.m_food[food.m_index].GetRowPoisition() )
{
CSnakeNode tempnode = m_greedsnake.back();//蛇身的尾节点

switch( m_direction )
{
case ED_UP:
tempnode.m_yPose++;
break;
case ED_DOWN:
tempnode.m_yPose--;
break;
case ED_LEFT:
tempnode.m_xPose--;
break;
case ED_RIGHT:
tempnode.m_xPose++;
break;
}

m_greedsnake.push_back( tempnode );

return true;//吃到食物
}
else
return false;//未吃到食物
}


//重画

void CGreedSnake::DrawSnake( CDC *pDC )
{


for( vector< CSnakeNode >::size_type t=0; t!=m_greedsnake.size(); t++ )
m_greedsnake[t].DrawSnakeNode( m_greedsnake[t].m_xPose, m_greedsnake[t].m_yPose, pDC );


}

初始时有两节,吃到食物时变成三节,下一秒又恢复成了两节

调试时 好像发现吃到食物后的 t还是2

为什么没变呢?如果 t没变的话 吃到的一瞬间 第三节又从哪来的呢?

实在迷糊了 VC新手诚请各位前辈指点

分数不多 还请见谅
...全文
132 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧