C++ C++;编程生物游戏

C++ C++;编程生物游戏,c++,C++,我正在用c++制作一个程序,更确切地说是一个游戏,在那里我有一个生物类和一个食物类 它们都使用随机类和控制台类随机放置在30x30二维网格中。这些生物从5条生命开始 这就是我被困的地方。。。。如果食物不在生物的3个空间内,那么生物的生命将减少,换句话说,如果食物不在生物的3个空间内,那么生物的生命将增加,如果食物在3个空间内,那么生物的生命将增加。然而,我在屏幕上随机生成了生物和食物,但是我不知道“如果食物在3个空间内,那么增加,否则减少”的代码 有人能帮忙吗 这是密码 #include "cr

我正在用
c++
制作一个程序,更确切地说是一个游戏,在那里我有一个生物类和一个食物类

它们都使用随机类和控制台类随机放置在30x30二维网格中。这些生物从5条生命开始

这就是我被困的地方。。。。如果食物不在生物的3个空间内,那么生物的生命将减少,换句话说,如果食物不在生物的3个空间内,那么生物的生命将增加,如果食物在3个空间内,那么生物的生命将增加。然而,我在屏幕上随机生成了生物和食物,但是我不知道“如果食物在3个空间内,那么增加,否则减少”的代码

有人能帮忙吗

这是密码

#include "creature.h"
#include "console.h"
#include "Food.h"
#include "Random.h"
#include <iostream>
#include <string>
#include <windows.h>


using namespace std;


int main()
{


const int BOARD = 30;
int Creat []; 
int FOOD=10;
int CreatureLife=5;

RandomNumber rand;
rand.initialiseSeed();



Console board;

board.gotoXY(00,40);
cout << "How many Creatures do you want to play with?" << endl;
cin >> Creat;

    for (int i = 0; i < Creat; i++)
    {
        Creature();
        board.setColour(board.WHITE, board.BLUE);
        Creature creatp;
        creatp.setpos(BOARD);
        board.gotoXY(creatp.getX(), creatp.getY());
        cout << i;
        int creatX = creatp.getX();
        int creatY = creatp.getY();

        board.gotoXY(40, 10);
                        Creature creatE;
                        creatE.energyDisplay();
                        cout << "Creature " << Creat << " has " << CreatureLife << " Energy " << endl;  


    }



    for (int i = 0; i < FOOD; i++)
    {

        board.setColour(board.BLACK, board.YELLOW);
        Food foodp;
        foodp.setpos(BOARD);
        board.gotoXY(foodp.getX(), foodp.getY());
        cout << 'F';
        int foodX = foodp.getX();
        int foodY = foodp.getY();

    }



    board.gotoXY(00, 32);
        system("pause");
        return 0;

}
#包括“bioter.h”
#包括“console.h”
#包括“Food.h”
#包括“Random.h”
#包括
#包括
#包括
使用名称空间std;
int main()
{
电路板常数=30;
int Creat[];
int食品=10;
int CreatureLife=5;
随机数兰德;
rand.initialiseed();
控制台板;
董事会:gotoXY(00,40);
不能创造;
for(int i=0;icout最小值是:计算当前生物位置的偏移量3(左上=>currentx-3,currenty-3,右下是currentx+3,currenty+3。需要进行一些索引检查;然后扫描当前食物的位置列表。

发布一些代码,我们可以作为参考。您能解释一下什么让您卡住了吗?我在answers@fozzy,在你的问题中加上它,而不是像你所说的那样抱歉ably已经解决了我是编程新手。我应该在哪里添加它,它会出现在if语句中?假设网格从(0,0)开始,到(max-x,max-y)结束,您需要检查:所有偏移量都不是负值(设置为0)或超出最大值(分别设置为max-x或max-y值)。其余的是一组嵌套的for循环,从currenty y-3(或调整值)到currenty y+3(或调整值),内部循环运行与x值相同的for循环。您可以使用其他一些循环构造和条件使其更快。所有这些都假设您有一种查询位置(x,y)上的项的方法。HTH