Profesor mi je zadao neki zadatak da ga uradim u Allegru. Trazi da nacrtam tri kruga (koje crtam na nasumicnim pozicijama na ekranu), i da se unutar tih krugova poajave neki brojevi. Posle npr 2 sekunde brojevi nestaju i korisnik treba da isklikce krugove od onog u kom je bio upisan najmanji broj, do onog u kom je bio upisan najveci broj. Medjutim ja na samom startu imam problem. Ne znam kako da pozicioniram krugove na tri razlicita mesta posto mi se uvek iscrta samo jedan krug.
krug.h
#ifndef KRUG_H_INCLUDED
#define KRUG_H_INCLUDED
#include<allegro.h>
struct krug
{
int x;
int y;
krug();
void CrtajKrug()
{
circlefill(screen, x, y, 20, makecol(255,255, 255));
}
};
#endif // KRUG_H_INCLUDED
krug.cpp
#include"krug.h"
#include<allegro.h>
#include<time.h>
krug::krug()
{
srand(time(NULL));
x = rand() % 800;
y = rand() % 600;
}
i na kraju main
#include<allegro.h>
#include <cstdlib>
#include "krug.h"
using namespace std;
int main()
{
allegro_init();
install_mouse();
install_keyboard();
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0);
krug kr[3];
/*Pomislio sam da su mi svi krugovi iscrtani
jedan na drugi pa sam ovako probao da resim taj problem, medjutim bezuspesno */
for(int i = 0; i < 3;i ++)
for(int j = i + 1; j < 3; j++)
{
if(kr[i].x == kr[j].x)
{
srand(time(NULL));
kr[j].x = rand() % 800;
}
}
for(int i = 0; i < 3; i++)
{
kr[i].CrtajKrug();
}
readkey();
allegro_exit();
}
END_OF_MAIN();
|