回 帖 发 新 帖 刷新版面

主题:[原创]大一新生 推箱子游戏简化练手编程


我已经写了部分了,但对于要求还是不能理解,整个框架不能形成
希望大家能帮助我把代码写完整,最好在后面注明一下,这样我就能更好理解了~
要求:白色圆是玩家;蓝色方块是箱子;红色圆是宝物
[u]      吃了宝物才能推动箱子[/u]
疑惑:怎么样才能吃?就是到了宝物这点,之后宝物消失,我不会弄消失。
       箱子动与否?  吃之前怎么让他不能动,也就是白色圆过不去,吃之后怎么才能启动?



#include "stdafx.h"
#include "GLCommon.h"
int x=2;
int y=2;
int main()  
{    
    InitOpenGL();
}

float r=0.1;
int t=1;
int s=1;
void Draw()
{   
    int x1=5;
    int y1=2;
    DrawFillCircle((float)x,(float)y,0.5,WHITE);//玩家
    DrawFillRect(x1,y1,1,1,BLUE);//箱子
    if(x!=9||y!=9)
    {
        if(r<0.1)
            {
                t=1;
            }        
        if(r>1.0)
            {
                t=0;
            }
        if(t==1)
            {
                r+=0.05;
                DrawFillCircle((float)9,(float)9,r,RED);//宝物
            }
        if(t==0)
            {
                r=r-0.05;
                DrawFillCircle((float)9,(float)9,r,RED);
            }
    }

}
        
void    OnKeyUp()
{
    y--;
}
void    OnKeyDown()
{
    y++;
}
void    OnKeyLeft()
{
    x--;
}
void    OnKeyRight()
{
    x++;
}
void    OnKeyF()
{
    
}

回复列表 (共3个回复)

沙发

代码还是要你自己写,求是求不来的。

怎么样才能吃?就是到了宝物这点,之后宝物消失,我不会弄消失。
---------吃宝物就是把宝物从图上的标记去掉,并获得一个吃了宝物的状态。不去画它就消失了。

箱子动与否?  吃之前怎么让他不能动,也就是白色圆过不去,
---------移动前先判断能不能移动。

吃之后怎么才能启动?
---------箱子也是有坐标的,改变坐标,它就动起来了。核心就是,坐标变了,重新画出来的东西位置就变了。

板凳

搞定消失的问题了····
麻烦大家给我讲一下,如果我用if语句,但下面的void函数与上面的不是一起的,这个条件句能用吗?
也就是在解决箱子动与不动的条件

3 楼

一、代码是不完整的,我看不出来

二、还是那句话,宝物不去画它,它就不出现了,你找找画宝物的代码有什么问题

我来回复

您尚未登录,请登录后再回复。点此登录或注册