Tu je hlavny zdrojak, ak nestaci napiste a dam tu vsetky subory. Nazvy pred ktorymi je c su triedy
pls skuste to kuknut ze kde by mohla byt chyba
Kód: Vybrať všetko
#include "ClassHeaders.hpp"
#include "MainHeaders.hpp"
#include <sstream>
#include <string>
#include <iostream>
int main()
{
// vytvorenie okna
sf::RenderWindow App(sf::VideoMode(640, 480), "CombatShooter");
// nacitanie obrazkov
cBullet::LoadPictures();
cPlayer::LoadPictures();
cEnemy::LoadPictures();
cBonus::LoadPictures();
cInterface::LoadPictures();
cPlayer Player(320,340);
int in = 0;
int pocet = 20;
int enemies = 5, bonus = 10;
cEnemy Enemies[pocet];
for(int i=0;i < enemies;i++)
Enemies[i] = cEnemy(0,0,0);
for (int i=0;i < enemies;i++)
Enemies[i].Draw(App);
cInterface Interface;
cBonus Bonuses[bonus];
// herny cyklus
App.SetFramerateLimit(65);
while(App.IsOpened())
{
if (Player.IsDeath())
App.Close();
// posunutie hracovych striel
Player.Refresh();
Player.Collision(Enemies,enemies,Bonuses,bonus);
for(int i=0; i < enemies;i++)
if (Enemies[i].IsActive() && Enemies[i].IsFreezed())
{
Enemies[i].Move();
Enemies[i].MoveShoots();
}
for(int i=0; i < enemies;i++)
if (Enemies[i].IsActive())
Enemies[i].Collision(Player);
/***************************************************************************/
// vycistenie obrazovky
App.Clear(sf::Color(80,165,255));
for(int i=0; i < enemies;i++)
if (Enemies[i].IsActive())
{
Enemies[i].Draw(App);
Enemies[i].DrawShoots(App);
if(Enemies[i].IsFreezed() && Enemies[i].GetType() != 3)
Enemies[i].Shoot();
}
for(int i=0; i < bonus;i++)
if (Bonuses[i].IsActive())
{
Bonuses[i].Draw(App);
}
// vykreslenie hracovych striel
Player.DrawShoots(App);
// FPS
float fps = 1/App.GetFrameTime();
std::ostringstream oss;
oss << fps;
sf::String ret;
ret.SetText(oss.str());
App.Draw(ret);
// vykreslenie hraca
Player.Draw(App);
// vykreslenie panelu
Interface.Draw(App);
// vykreslenie hracovych statistik
Player.DrawStats(App);
// zobrazenie obrazovky
App.Display();
/***************************************************************************/
in++;
if(in == 100 && enemies < pocet)
{
//enemies++; tu je problem, ak to enemies++; dam ako kod program spadne
in = 0;
}
// pohyb hraca
Player.Move(App);
}
return 0;
}