Untitled
Anonymous
plain_text
04/26/2026 9:16 AM
84.4 KB
11
Indexable
#include<SFML/Graphics.hpp>
#include<SFML/Audio.hpp>
#include<vector>
#include <sstream>
#include <fstream>
#include<string>
#include <iomanip>
#include<iostream>
using namespace std;
using namespace sf;
const int MAIN = 4, SETTINGS = 5, PAUSE = 4, CREDIT = 8, WIN = 5, LOSE = 3, TIMEOUT = 3, MAP = 6;
struct menus {
Font font;
Text menutxt[MAIN], settingstxt[SETTINGS], creditxt[CREDIT], pausetxt[PAUSE], wintxt[WIN], losetxt[LOSE], timeouttxt[TIMEOUT], maptxt[MAP];
Texture maintexture, maptexture, menustexture, backtexture, back2texture, back3texture, back4texture, lvls_lock_texture;
Sprite mainbackground, mapbackground, menusbackground, back, back2, back3, back4, lvls_lock_sp;
string
mainstr[MAIN] = { "Play","Settings","Credit","Exit" },
settingstr[SETTINGS] = { "Sound On","Sound up","Sound down","Mute","Back" },
creditstr[CREDIT] = { "Menna tullah sherif Mohamed Mohamed Ibrahim","Malak Mohamed Ahmed Yassin Ahmed Nassar ",
"Mennahtullah Ahmed Mohamed Yussef Fayed","Nada Ahmed Mohamed Salah El-Deen Ahmed",
"Naema Ahmed Yahia Mohamed Taha","Nada Ahmed El-Sayed Abd-Elraouf",
"Jana Sameh Abdelazim Mohammed","Back" },
pausestr[PAUSE] = { "Sound on","Mute","Map","Continue" },
winstr[WIN] = { "WIN!","Score","Retry","Map","Next" },
losestr[LOSE] = { "Sheep Lose!","Retry","Map" },
timeoutstr[TIMEOUT] = { "Time is Out!","Retry","Map" },
mapstr[MAP] = { "The FOREST","On The ROOFS","The MILL","The GIANT WALLS","The BARN","Back" };
}menu;
struct Gsound {
SoundBuffer winbuff, losebuff, walkbuff, runbuff, jump1buff, jump2buff, jump3buff, fallbuff, menubuff, shaunbuff, timmybuff, shirleybuff, introbuff, endbuff;//complete names
Sound win, lose, walk, run, jumpshirley, jumpshaun, jumptimmy, menu, shaun, timmy, shirley, intro, end;
bool winning = true, losing = true, walking = false, running = false,
shirleyjumping = false, shaunjumping = false, timmyjumping = false,
menusound = true, enterlvl = false, introsound = true, endsound = true,
shaunvoice = false, shirleyvoice = false, timmyvoice = false;
}soundgeneral;
struct SheepIcon {
Sprite sheep_icon_sprite ;
Texture normalTexture;
Texture selectedTexture;
bool isSelected;
};
SheepIcon sheepIcons[3];// 0:sharley 1:shaun 2:timmy
struct States {
bool isdie = false, iswin = false, istimeout = false;
}state;
struct Forest {
Texture Level1_background_txt, Level4_background_txt, Hay_lv1_txt, Arrow_sign_lvl1_txt, LongStick_lvl1_txt, ShortStick_lvl1_txt, Stone_wall_lvl1_txt, Floating_pillar_lvl1_txt;
Sprite Level1_background_sp, Level4_background_sp, Hay_lvl1_sp, Arrow_sign_lvl1_sp, LongStick_lvl1_sp, ShortStick_lvl1_sp, Stone_wall_lvl1_sp, Floating_pillar_lvl1_sp;
SoundBuffer haybuff, woodbuff, backbuff;
Sound hayfall, wood, backforest;
bool hayfalling = false, woodfalling = false, forestsound = true;
}soundforest;
struct OnTheRoof {
Texture lvl2_background_txt, home_lvl2_txt, bridge_lvl2_txt, wood_lvl2_txt, sign_lvl2_txt, box_lvl2_txt;
Sprite lvl2_background_sp, home_lvl2_sp, bridge_lvl2_sp, wood_lvl2_sp, sign_lvl2_sp, box_lvl2_sp;
SoundBuffer moveobjectbuff, jumpwoodbuff, walkwoodbuff, back2buff;
Sound objectmove, jumpwood, walkwood, backontheroof;
bool objectmoving = false, woodjumping = false, woodwalking = false, ontheroofsound = true;
}soundontheroof;
struct Mill {
Texture Background_lvl3_txt, Tunnel_lvl3_txt, Blue_lvl3_txt, Wooden_lvl3_txt, Rock_lvl3_txt,
Button_lvl3_txt, Box_lvl3_txt, Arrow_Sign_lvl3_txt, Button2_lvl3_txt,
Red1_lvl3_txt, Red2_lvl3_txt, Red3_lvl3_txt, Bomb_lvl3_txt;
Sprite Background_lvl3_sp, Tunnel_lvl3_sp, Blue_lvl3_sp, Wooden_Column_lvl3_sp, RockColumn_lvl3_sp,
Button_lvl3_sp, Box_lvl3_sp, Arrow_Sign_lvl3_sp, Button_Pressed_lvl3_sp,
Red_Ballon1_lvl3_sp, Red_Ballon2_lvl3_sp, Red_Ballon3_lvl3_sp, Bomb_lvl3_sp;
SoundBuffer ballonbuff, timerbombbuff, bombbuff, tunnelfallbuff, tunnelwalkbuff, boxbuff, buttonbuff, doorbuff, back3buff;
Sound ballon, timerbomb, bomb, tunnelfall, tunnelwalk, button, box, door, backmill;
bool ballonsound = false, isballonbomb = false, isbombed = false,
tunnelfalling = false, tunnelwalking = false, boxmoving = false,
buttonispressed = false, buttonnotpressed = false, dooropen = false, millsound = true;
}soundmill;
struct TheGiantWalls {
Texture Level4_background_txt, Button_lv4_txt, Button2_lv4_txt, Arrow_sign_lvl4_txt, Swichable_Barrier_lvl4_txt, Car_Tire_lvl4_txt, Stone_Pillar_lvl4_txt, Stick_lvl4_txt;
Sprite Level4_background_sp, Button_lv4_sp, Button2_lv4_sp, Arrow_sign_lvl4_sp, Swichable_Barrier_lvl4_sp, Car_Tire_lvl4_sp, Stone_Pillar_lvl4_sp, Stick_lvl4_sp;
SoundBuffer doorbuff, tirebuff, buttonbuff, tirefallbuff, logbuff, logwalkbuff, logjumpbuff, back4buff;
Sound door, tire, button, tirefall, log, logwalk, logjump, backgiantwalls;
bool doorsound = false, tirerolling = false, tirefalling = false, logmoving = false, buttonpressed = false, giantwallssound = true;
}soundgiantwalls;
struct Barn {
Texture background_level5_txt, sign_lvl5_txt, stonenight_lvl5_txt, stick_lvl5_txt, button_lvl5_txt, cage_lvl5_txt;
Sprite background_level5_sp, sign_lvl5_sp, stonenight_lvl5_sp, stick_lvl5_sp, button_lvl5_sp, cage_lvl5_sp;
Sprite shadowSign, shadowStick, shadowCage;
SoundBuffer woodjumpbuff, prisonbuff, buttonbuff, foxbuff, barndoorbuff, dangerbuff, back5buff;
Sound woodjump, prison, button, fox, barndoor, danger, backbarn;
bool prisonfalling = false, woodjumping = false,
buttonispressed = false, foxsound = false,
barndoorsound = false, isdanger = false,
barnsound = true;
}soundbarn;
struct sheep {
Sprite sprite;
Texture texture;
};
struct Charachters {
sheep heroesArray[3]; // 0:sharley 1:shaun 2:timmy
};
Charachters heroes;
int activeSheepIndex = 0;
struct Game_icon
{
Texture retry_icon_texture, pause_icon_texture;
Sprite retry_sp, pause_sp;
}icons;
bool introPlayed = false;
int Windows[11] = { 0,1,2,3,4,5,6,7,8,9,10 }, currentwindow = 0, selected = 0, selectedlvl = 0, selectedop = 2;//0=main,1=map,2=lvl,3=settings,4=credit,5=pause,6=win,7=lose,8=timeout,9=intro,10=ending
Event event;
void loadmenus(RenderWindow& window) {
if (!menu.font.loadFromFile("assets\\menu background\\Lora-SemiBoldItalic.ttf"))
cout << "Load Failed";
menu.maintexture.loadFromFile("assets\\menu background\\main.jpeg");
menu.maptexture.loadFromFile("assets\\menu background\\mapbackground.jpeg");
menu.menustexture.loadFromFile("assets\\menu background\\menusbackground.png");
menu.backtexture.loadFromFile("assets\\menu background\\back button.jpeg");
menu.back2texture.loadFromFile("assets\\menu background\\back button2.jpeg");
menu.back3texture.loadFromFile("assets\\menu background\\back button2.jpeg");
menu.back4texture.loadFromFile("assets\\menu background\\back button4.jpeg");
Vector2u mainSize = menu.maintexture.getSize(), mapSize = menu.maptexture.getSize(), menusSize = menu.menustexture.getSize(), backSize = menu.backtexture.getSize();
Vector2u windowSize = window.getSize();
float mainScaleX = (float)windowSize.x / mainSize.x, mapScaleX = (float)windowSize.x / mapSize.x, menusScaleX = (float)windowSize.x / menusSize.x, backScaleX = (float)windowSize.x / backSize.x;
float mainScaleY = (float)windowSize.y / mainSize.y, mapScaleY = (float)windowSize.y / mapSize.y, menusScaleY = (float)windowSize.y / menusSize.y, backScaleY = (float)windowSize.y / backSize.y;
menu.mainbackground.setTexture(menu.maintexture);
menu.mapbackground.setTexture(menu.maptexture);
menu.menusbackground.setTexture(menu.menustexture);
menu.back.setTexture(menu.backtexture);
menu.back2.setTexture(menu.back2texture);
menu.back3.setTexture(menu.back3texture);
menu.back4.setTexture(menu.back4texture);
menu.mainbackground.setScale(mainScaleX, mainScaleY);
menu.mapbackground.setScale(mapScaleX, mapScaleY);
menu.menusbackground.setScale(menusScaleX, menusScaleY);
menu.back.setScale(backScaleX, backScaleY);
menu.back2.setScale(backScaleX, backScaleY);
menu.back3.setScale(backScaleX, backScaleY);
menu.back4.setScale(backScaleX, backScaleY);
for (int i = 0; i < MAIN; i++) {
menu.menutxt[i].setString(menu.mainstr[i]);
menu.menutxt[i].setFont(menu.font);
menu.menutxt[i].setCharacterSize(50);
menu.menutxt[i].setPosition(600, 260 + 90 * i);
menu.menutxt[i].setFillColor(Color::White);
}
menu.menutxt[0].setFillColor(Color::Black);
for (int i = 0; i < SETTINGS; i++) {
menu.settingstxt[i].setString(menu.settingstr[i]);
menu.settingstxt[i].setFont(menu.font);
menu.settingstxt[i].setCharacterSize(50);
menu.settingstxt[i].setPosition(520, 250 + 50 * i);
menu.settingstxt[i].setFillColor(Color::White);
}
menu.settingstxt[4].setPosition(580, 550);
menu.settingstxt[0].setFillColor(Color::Black);
for (int i = 0; i < CREDIT; i++) {
menu.creditxt[i].setString(menu.creditstr[i]);
menu.creditxt[i].setFont(menu.font);
menu.creditxt[i].setCharacterSize(20);
menu.creditxt[i].setPosition(420, 250 + 30 * i);
menu.creditxt[i].setFillColor(Color::White);
}
menu.creditxt[7].setPosition(580, 550);
menu.creditxt[7].setCharacterSize(50);
for (int i = 0; i < PAUSE; i++) {
menu.pausetxt[i].setString(menu.pausestr[i]);
menu.pausetxt[i].setFont(menu.font);
menu.pausetxt[i].setCharacterSize(50);
menu.pausetxt[i].setFillColor(Color::White);
}
menu.pausetxt[0].setPosition(540, 240);
menu.pausetxt[1].setPosition(580, 300);
menu.pausetxt[2].setPosition(590, 365);
menu.pausetxt[3].setPosition(535, 430);
menu.pausetxt[0].setFillColor(Color::Black);
for (int i = 0; i < WIN; i++) {
menu.wintxt[i].setString(menu.winstr[i]);
menu.wintxt[i].setFont(menu.font);
menu.wintxt[i].setCharacterSize(50);
menu.wintxt[i].setFillColor(Color::White);
}
menu.wintxt[0].setPosition(580, 240);
menu.wintxt[1].setPosition(580, 300);
menu.wintxt[2].setPosition(450, 365);
menu.wintxt[3].setPosition(690, 365);
menu.wintxt[4].setPosition(590, 430);
menu.wintxt[2].setFillColor(Color::Black);
for (int i = 0; i < LOSE; i++) {
menu.losetxt[i].setString(menu.losestr[i]);
menu.losetxt[i].setFont(menu.font);
menu.losetxt[i].setCharacterSize(50);
menu.losetxt[i].setFillColor(Color::White);
}
menu.losetxt[0].setPosition(500, 250);
menu.losetxt[1].setPosition(575, 330);
menu.losetxt[2].setPosition(575, 380);
menu.losetxt[1].setFillColor(Color::Black);
for (int i = 0; i < TIMEOUT; i++) {
menu.timeouttxt[i].setString(menu.timeoutstr[i]);
menu.timeouttxt[i].setFont(menu.font);
menu.timeouttxt[i].setCharacterSize(50);
//menu.timeouttxt[i].setPosition(500, 200 + 100 * i);
menu.timeouttxt[i].setFillColor(Color::White);
}
menu.timeouttxt[0].setPosition(500, 250);
menu.timeouttxt[1].setPosition(575, 330);
menu.timeouttxt[2].setPosition(575, 380);
menu.timeouttxt[1].setFillColor(Color::Black);
for (int i = 0; i < MAP; i++) {
menu.maptxt[i].setString(menu.mapstr[i]);
menu.maptxt[i].setFont(menu.font);
menu.maptxt[i].setCharacterSize(30);
menu.maptxt[i].setFillColor(Color::White);
}
menu.maptxt[0].setPosition(50, 560);
menu.maptxt[1].setPosition(300, 600);
menu.maptxt[2].setPosition(600, 560);
menu.maptxt[3].setPosition(800, 610);
menu.maptxt[4].setPosition(1100, 560);
menu.maptxt[5].setPosition(600, 630);
menu.maptxt[0].setFillColor(Color::Black);
}
Vector2f levelPositions[4] = {
Vector2f(413, 261), // Level 2 circl's place
Vector2f(670, 192), // Level 3 circl's place
Vector2f(927, 259), // Level 4 circl's place
Vector2f(1185, 193) // Level 5 circl's place
};
bool islevelunlocked[5] = { true, false, false, false, false }; // Array to track unlocked levels
void updateSheepIcons(sf::RenderWindow& window) {
sf::Vector2i mousePos = sf::Mouse::getPosition(window);
for (int i = 0; i < 3; i++) {
if (sheepIcons[i].sheep_icon_sprite.getGlobalBounds().contains(mousePos.x, mousePos.y)) {
activeSheepIndex = i;
for (int j = 0; j < 3; j++) {
if (j == i) {
sheepIcons[j].sheep_icon_sprite.setTexture(sheepIcons[j].selectedTexture);
}
else {
sheepIcons[j].sheep_icon_sprite.setTexture(sheepIcons[j].normalTexture);
}
}
}
}
}
void updateLevelUnlocks(RenderWindow& window) {
for (int i = 0; i < 5; i++) {
if (!islevelunlocked[i]) {
CircleShape overlay(26);
overlay.setOrigin(26, 26);
overlay.setPosition(levelPositions[i - 1].x, levelPositions[i - 1].y);
overlay.setFillColor(Color(0, 0, 0, 160));
window.draw(overlay);
menu.lvls_lock_sp.setScale(0.08f, 0.08f);
FloatRect lockBounds = menu.lvls_lock_sp.getGlobalBounds();
menu.lvls_lock_sp.setOrigin(lockBounds.width / 2.f / 0.08f, lockBounds.height / 2.f / 0.08f);
menu.lvls_lock_sp.setPosition(levelPositions[i - 1]);
window.draw(menu.lvls_lock_sp);
}
}
}
void loadgeneral(RenderWindow& window) {
soundgeneral.winbuff.loadFromFile("assets\\general\\win approved.wav");
soundgeneral.losebuff.loadFromFile("assets\\general\\lose approved.wav");
soundgeneral.walkbuff.loadFromFile("assets\\general\\walk approved.wav");
soundgeneral.runbuff.loadFromFile("assets\\general\\run approved.wav");
soundgeneral.jump1buff.loadFromFile("assets\\general\\shirley jump.wav");
soundgeneral.jump2buff.loadFromFile("assets\\general\\shaun jump.wav");
soundgeneral.jump3buff.loadFromFile("assets\\general\\timmy jump.wav");
soundgeneral.menubuff.loadFromFile("assets\\general\\menu.ogg");
soundgeneral.shaunbuff.loadFromFile("assets\\general\\shaun approved.wav");
soundgeneral.timmybuff.loadFromFile("assets\\general\\timmy approved.wav");
soundgeneral.shirleybuff.loadFromFile("assets\\general\\shirley.wav");
soundgeneral.introbuff.loadFromFile("assets\\general\\intro approved.ogg");
soundgeneral.endbuff.loadFromFile("assets\\general\\end.ogg");
soundgeneral.win.setBuffer(soundgeneral.winbuff);
soundgeneral.lose.setBuffer(soundgeneral.losebuff);
soundgeneral.walk.setBuffer(soundgeneral.walkbuff);
soundgeneral.run.setBuffer(soundgeneral.runbuff);
soundgeneral.jumpshirley.setBuffer(soundgeneral.jump1buff);
soundgeneral.jumpshaun.setBuffer(soundgeneral.jump2buff);
soundgeneral.jumptimmy.setBuffer(soundgeneral.jump3buff);
soundgeneral.menu.setBuffer(soundgeneral.menubuff);
soundgeneral.shaun.setBuffer(soundgeneral.shaunbuff);
soundgeneral.timmy.setBuffer(soundgeneral.timmybuff);
soundgeneral.shirley.setBuffer(soundgeneral.shirleybuff);
soundgeneral.intro.setBuffer(soundgeneral.introbuff);
soundgeneral.end.setBuffer(soundgeneral.endbuff);
soundgeneral.win.setVolume(50.f);
soundgeneral.lose.setVolume(50.f);
soundgeneral.walk.setVolume(50.f);
soundgeneral.run.setVolume(50.f);
soundgeneral.jumpshirley.setVolume(50.f);
soundgeneral.jumpshaun.setVolume(50.f);
soundgeneral.jumptimmy.setVolume(50.f);
soundgeneral.menu.setVolume(50.f);
soundgeneral.shaun.setVolume(50.f);
soundgeneral.timmy.setVolume(50.f);
soundgeneral.shirley.setVolume(50.f);
soundgeneral.intro.setVolume(80.f);
soundgeneral.end.setVolume(80.f);
menu.lvls_lock_texture.loadFromFile("assets\\menu background\\Lock.png");
menu.lvls_lock_sp.setTexture(menu.lvls_lock_texture);
icons.retry_icon_texture.loadFromFile("assets\\icon\\retry.png");
icons.retry_sp.setTexture(icons.retry_icon_texture);
icons.pause_icon_texture.loadFromFile("assets\\icon\\pause.png");
icons.pause_sp.setTexture(icons.pause_icon_texture);
icons.retry_sp.setScale(0.28f, 0.28f);
icons.retry_sp.setPosition(200, 55);
icons.pause_sp.setScale(0.28f, 0.28f);
icons.pause_sp.setPosition(80, 55);
}
void loadforest(RenderWindow& window) {
soundforest.Level1_background_txt.loadFromFile("assets\\level 1 jungle\\Level 1 background.jpg");
soundforest.Level1_background_sp.setTexture(soundforest.Level1_background_txt);
soundforest.haybuff.loadFromFile("assets\\level 1 forest\\wheat fall.wav");
soundforest.woodbuff.loadFromFile("assets\\level 1 forest\\wood.wav");
soundforest.backbuff.loadFromFile("assets\\level 1 forest\\forest last edition.ogg");
soundforest.Hay_lv1_txt.loadFromFile("assets\\level 1 jungle\\Hay.png");
soundforest.Arrow_sign_lvl1_txt.loadFromFile("assets\\level 1 jungle\\Arrow direction sign.png");
soundforest.LongStick_lvl1_txt.loadFromFile("assets\\level 1 jungle\\long stick.png");
soundforest.LongStick_lvl1_sp.setTexture(soundforest.LongStick_lvl1_txt);
soundforest.LongStick_lvl1_sp.setScale(0.25f, 0.21f);
soundforest.LongStick_lvl1_sp.setPosition(725, 440);
soundforest.Arrow_sign_lvl1_sp.setTexture(soundforest.Arrow_sign_lvl1_txt);
soundforest.Arrow_sign_lvl1_sp.setScale(0.098f, 0.098f);
soundforest.Arrow_sign_lvl1_sp.setPosition(1000, 380);
soundforest.Hay_lvl1_sp.setTexture(soundforest.Hay_lv1_txt);
soundforest.Hay_lvl1_sp.setScale(1.0f, 0.9f);
soundforest.Hay_lvl1_sp.setPosition(627, 330);
soundforest.ShortStick_lvl1_txt.loadFromFile("assets\\level 1 jungle\\short stick.png");
soundforest.ShortStick_lvl1_sp.setTexture(soundforest.ShortStick_lvl1_txt);
soundforest.ShortStick_lvl1_sp.setOrigin(0, 0);
soundforest.ShortStick_lvl1_sp.setPosition(695, 440);
soundforest.Stone_wall_lvl1_txt.loadFromFile("assets\\level 1 jungle\\Stone wall.png");
soundforest.Stone_wall_lvl1_sp.setTexture(soundforest.Stone_wall_lvl1_txt);
soundforest.Stone_wall_lvl1_sp.setScale(1.05f, 1.0f);
soundforest.Stone_wall_lvl1_sp.setPosition(380, 510);
soundforest.Floating_pillar_lvl1_txt.loadFromFile("assets\\level 1 jungle\\floating pillar.png");
soundforest.Floating_pillar_lvl1_sp.setTexture(soundforest.Floating_pillar_lvl1_txt);
soundforest.Floating_pillar_lvl1_sp.setScale(0.9f, 0.9f);
soundforest.Floating_pillar_lvl1_sp.setPosition(776, 437.2);
Vector2u textureSize = soundforest.Level1_background_txt.getSize();
Vector2u windowSize = window.getSize();
float scaleX = (float)windowSize.x / textureSize.x;
float scaleY = (float)windowSize.y / textureSize.y;
soundforest.Level1_background_sp.setScale(scaleX, scaleY);
soundforest.hayfall.setBuffer(soundforest.haybuff);
soundforest.wood.setBuffer(soundforest.woodbuff);
soundforest.backforest.setBuffer(soundforest.backbuff);
soundforest.hayfall.setVolume(50.f);
soundforest.wood.setVolume(50.f);
soundforest.backforest.setVolume(100.f);
}
void loadontheroof(RenderWindow& window) {
soundontheroof.lvl2_background_txt.loadFromFile("assets\\level2\\background.png");
soundontheroof.lvl2_background_sp.setTexture(soundontheroof.lvl2_background_txt);
Vector2u textureSize = soundontheroof.lvl2_background_txt.getSize();
Vector2u windowSize = window.getSize();
float scalex = (float)windowSize.x / textureSize.x;
float scaley = (float)windowSize.y / textureSize.y;
soundontheroof.lvl2_background_sp.setScale(scalex, scaley);
soundontheroof.home_lvl2_txt.loadFromFile("assets\\level2\\home.png");
soundontheroof.home_lvl2_sp.setTexture(soundontheroof.home_lvl2_txt);
soundontheroof.home_lvl2_sp.setScale(0.97f, 0.97f);
soundontheroof.home_lvl2_sp.setPosition(840, 450);
soundontheroof.bridge_lvl2_txt.loadFromFile("assets\\level2\\bridge.png");
soundontheroof.bridge_lvl2_sp.setTexture(soundontheroof.bridge_lvl2_txt);
soundontheroof.bridge_lvl2_sp.setScale(0.7f, 0.7f);
soundontheroof.bridge_lvl2_sp.setPosition(30, 475);
soundontheroof.wood_lvl2_txt.loadFromFile("assets\\level2\\wood.png");
soundontheroof.wood_lvl2_sp.setTexture(soundontheroof.wood_lvl2_txt);
soundontheroof.wood_lvl2_sp.setScale(0.3f, 0.3f);
soundontheroof.wood_lvl2_sp.setPosition(235, 325);
soundontheroof.sign_lvl2_txt.loadFromFile("assets\\level2\\sign.png");
soundontheroof.sign_lvl2_sp.setTexture(soundontheroof.sign_lvl2_txt);
soundontheroof.sign_lvl2_sp.setScale(0.35f, 0.345f);
soundontheroof.sign_lvl2_sp.setPosition(1100, 344);
soundontheroof.box_lvl2_txt.loadFromFile("assets\\level2\\box.png");
soundontheroof.box_lvl2_sp.setTexture(soundontheroof.box_lvl2_txt);
soundontheroof.box_lvl2_sp.setScale(0.25f, 0.25f);
soundontheroof.box_lvl2_sp.setPosition(550, 380);
soundontheroof.moveobjectbuff.loadFromFile("assets\\level 2 on the roof\\wood slide.wav");
soundontheroof.jumpwoodbuff.loadFromFile("assets\\level 2 on the roof\\wood.wav");
soundontheroof.back2buff.loadFromFile("assets\\level 2 on the roof\\on the roof back last edition.ogg");
soundontheroof.walkwoodbuff.loadFromFile("assets\\level 2 on the roof\\wood walk.wav");
soundontheroof.objectmove.setBuffer(soundontheroof.moveobjectbuff);
soundontheroof.jumpwood.setBuffer(soundontheroof.jumpwoodbuff);
soundontheroof.backontheroof.setBuffer(soundontheroof.back2buff);
soundontheroof.walkwood.setBuffer(soundontheroof.walkwoodbuff);
soundontheroof.objectmove.setVolume(50.f);
soundontheroof.jumpwood.setVolume(50.f);
soundontheroof.walkwood.setVolume(50.f);
soundontheroof.backontheroof.setVolume(80.f);
}
void loadmill(RenderWindow& window) {
soundmill.tunnelfallbuff.loadFromFile("assets\\level 3 the mill\\falling in the tunnel.wav");
soundmill.tunnelwalkbuff.loadFromFile("assets\\level 3 the mill\\walking tunnel.wav");
soundmill.boxbuff.loadFromFile("assets\\level 3 the mill\\wood slide.wav");
soundmill.buttonbuff.loadFromFile("assets\\level 3 the mill\\button on.wav");
soundmill.doorbuff.loadFromFile("assets\\level 3 the mill\\wood.wav");
soundmill.back3buff.loadFromFile("assets\\level 3 the mill\\the mill back last edition.ogg");
soundmill.ballonbuff.loadFromFile("assets\\level 3 the mill\\ballon pop.wav");
soundmill.timerbombbuff.loadFromFile("assets\\level 3 the mill\\timer bomb.wav");
soundmill.bombbuff.loadFromFile("assets\\level 3 the mill\\bomb exposure.wav");
soundmill.Background_lvl3_txt.loadFromFile("assets\\level 3 the mill\\background3.png");
soundmill.Background_lvl3_sp.setTexture(soundmill.Background_lvl3_txt);
soundmill.Background_lvl3_sp.setScale(0.8f, 0.81f);
soundmill.Tunnel_lvl3_txt.loadFromFile("assets\\level 3 the mill\\tunnel.png");
soundmill.Tunnel_lvl3_sp.setTexture(soundmill.Tunnel_lvl3_txt);
soundmill.Tunnel_lvl3_sp.setPosition(550, 510);
soundmill.Tunnel_lvl3_sp.setScale(1.05, 1.05);
soundmill.Blue_lvl3_txt.loadFromFile("assets\\level 3 the mill\\blue.png");
soundmill.Blue_lvl3_sp.setTexture(soundmill.Blue_lvl3_txt);
soundmill.Blue_lvl3_sp.setPosition(710, 150);
soundmill.Blue_lvl3_sp.setScale(0.33, 0.33);
soundmill.Wooden_lvl3_txt.loadFromFile("assets\\level 3 the mill\\wooden.png");
soundmill.Wooden_Column_lvl3_sp.setTexture(soundmill.Wooden_lvl3_txt);
soundmill.Wooden_Column_lvl3_sp.setPosition(668, 135);
soundmill.Wooden_Column_lvl3_sp.setScale(0.34, 0.34);
soundmill.Rock_lvl3_txt.loadFromFile("assets\\level 3 the mill\\rock.png");
soundmill.RockColumn_lvl3_sp.setTexture(soundmill.Rock_lvl3_txt);
soundmill.RockColumn_lvl3_sp.setPosition(350, 200);
soundmill.RockColumn_lvl3_sp.setScale(0.42, 0.42);
soundmill.Button_lvl3_txt.loadFromFile("assets\\level 3 the mill\\button.png");
soundmill.Button_lvl3_sp.setTexture(soundmill.Button_lvl3_txt);
soundmill.Button_lvl3_sp.setPosition(730, 492);
soundmill.Button_lvl3_sp.setScale(0.035, 0.035);
soundmill.Box_lvl3_txt.loadFromFile("assets\\level 3 the mill\\box.png");
soundmill.Box_lvl3_sp.setTexture(soundmill.Box_lvl3_txt);
soundmill.Box_lvl3_sp.setPosition(540, 445);
soundmill.Box_lvl3_sp.setScale(0.25, 0.25);
soundmill.Arrow_Sign_lvl3_txt.loadFromFile("assets\\level 3 the mill\\arrow.png");
soundmill.Arrow_Sign_lvl3_sp.setTexture(soundmill.Arrow_Sign_lvl3_txt);
soundmill.Arrow_Sign_lvl3_sp.setPosition(1100, 420);
soundmill.Arrow_Sign_lvl3_sp.setScale(0.35, 0.35);
soundmill.Button2_lvl3_txt.loadFromFile("assets\\level 3 the mill\\button 2 (1).png");
soundmill.Button_Pressed_lvl3_sp.setTexture(soundmill.Button2_lvl3_txt);
soundmill.Button_Pressed_lvl3_sp.setPosition(1100, 420);
soundmill.Button_Pressed_lvl3_sp.setScale(0.35, 0.35);
soundmill.Red1_lvl3_txt.loadFromFile("assets\\level 3 the mill\\red_ball.png");
soundmill.Red_Ballon1_lvl3_sp.setTexture(soundmill.Red1_lvl3_txt);
soundmill.Red_Ballon1_lvl3_sp.setPosition(340, 435);
soundmill.Red_Ballon1_lvl3_sp.setScale(0.13, 0.13);
soundmill.Red2_lvl3_txt.loadFromFile("assets\\level 3 the mill\\red_ball.png");
soundmill.Red_Ballon2_lvl3_sp.setTexture(soundmill.Red2_lvl3_txt);
soundmill.Red_Ballon2_lvl3_sp.setPosition(295, 435);
soundmill.Red_Ballon2_lvl3_sp.setScale(0.13, 0.13);
soundmill.Red3_lvl3_txt.loadFromFile("assets\\level 3 the mill\\red_ball.png");
soundmill.Red_Ballon3_lvl3_sp.setTexture(soundmill.Red3_lvl3_txt);
soundmill.Red_Ballon3_lvl3_sp.setPosition(250, 435);
soundmill.Red_Ballon3_lvl3_sp.setScale(0.13, 0.13);
soundmill.Bomb_lvl3_txt.loadFromFile("assets\\level 3 the mill\\bomb.png");
soundmill.Bomb_lvl3_sp.setTexture(soundmill.Bomb_lvl3_txt);
soundmill.Bomb_lvl3_sp.setPosition(290, 580);
soundmill.Bomb_lvl3_sp.setScale(0.1, 0.1);
soundmill.tunnelfall.setBuffer(soundmill.tunnelfallbuff);
soundmill.tunnelwalk.setBuffer(soundmill.tunnelwalkbuff);
soundmill.button.setBuffer(soundmill.buttonbuff);
soundmill.box.setBuffer(soundmill.boxbuff);
soundmill.door.setBuffer(soundmill.doorbuff);
soundmill.backmill.setBuffer(soundmill.back3buff);
soundmill.tunnelfall.setVolume(50.f);
soundmill.tunnelwalk.setVolume(50.f);
soundmill.button.setVolume(50.f);
soundmill.box.setVolume(50.f);
soundmill.door.setVolume(50.f);
soundmill.backmill.setVolume(80.f);
}
void loadthegiantwalls(RenderWindow& window) {
soundgiantwalls.doorbuff.loadFromFile("assets\\level 4 the giant walls\\wood.wav");
soundgiantwalls.tirebuff.loadFromFile("assets\\level 4 the giant walls\\tire roll2.wav");
soundgiantwalls.buttonbuff.loadFromFile("assets\\level 4 the giant walls\\button on.wav");
soundgiantwalls.logbuff.loadFromFile("assets\\level 4 the giant walls\\wood slide.wav");
soundgiantwalls.logwalkbuff.loadFromFile("assets\\level 4 the giant walls\\wood walk.wav");
soundgiantwalls.logjumpbuff.loadFromFile("assets\\level 4 the giant walls\\wood.wav");
soundgiantwalls.tirefallbuff.loadFromFile("assets\\level 4 the giant walls\\tire fall.wav");
soundgiantwalls.back4buff.loadFromFile("assets\\level 4 the giant walls\\the giant walls back last edition.ogg");
soundgiantwalls.Level4_background_txt.loadFromFile("assets\\level 4 the giant walls\\level 4 background.jpg");
soundgiantwalls.Level4_background_sp.setTexture(soundgiantwalls.Level4_background_txt);
Vector2u textureSize = soundgiantwalls.Level4_background_txt.getSize();
Vector2u windowSize = window.getSize();
float scaleX = (float)windowSize.x / textureSize.x;
float scaleY = (float)windowSize.y / textureSize.y;
soundgiantwalls.Level4_background_sp.setScale(scaleX, scaleY);
soundgiantwalls.Button_lv4_txt.loadFromFile("assets\\level 4 the giant walls\\Red button.png");
soundgiantwalls.Button_lv4_sp.setTexture(soundgiantwalls.Button_lv4_txt);
soundgiantwalls.Button_lv4_sp.setScale(0.04f, 0.04f);
soundgiantwalls.Button_lv4_sp.setPosition(630, 630);
soundgiantwalls.Button2_lv4_txt.loadFromFile("assets\\level 4 the giant walls\\Red button.png");
soundgiantwalls.Button2_lv4_sp.setTexture(soundgiantwalls.Button2_lv4_txt);
soundgiantwalls.Button2_lv4_sp.setScale(0.04f, 0.04f);
soundgiantwalls.Button2_lv4_sp.setPosition(200, 285);
soundgiantwalls.Button2_lv4_sp.setRotation(5);
soundgiantwalls.Arrow_sign_lvl4_txt.loadFromFile("assets\\level 4 the giant walls\\Arrow direction sign.png");
soundgiantwalls.Arrow_sign_lvl4_sp.setTexture(soundgiantwalls.Arrow_sign_lvl4_txt);
soundgiantwalls.Arrow_sign_lvl4_sp.setScale(0.098f, 0.098f);
soundgiantwalls.Arrow_sign_lvl4_sp.setPosition(1010, 390);
soundgiantwalls.Swichable_Barrier_lvl4_txt.loadFromFile("assets\\level 4 the giant walls\\Swichable Barrier.png");
soundgiantwalls.Swichable_Barrier_lvl4_sp.setTexture(soundgiantwalls.Swichable_Barrier_lvl4_txt);
soundgiantwalls.Swichable_Barrier_lvl4_sp.setScale(0.8f, 0.6f);
soundgiantwalls.Swichable_Barrier_lvl4_sp.setPosition(460, 40);
soundgiantwalls.Car_Tire_lvl4_txt.loadFromFile("assets\\level 4 the giant walls\\tire.png");
soundgiantwalls.Car_Tire_lvl4_sp.setTexture(soundgiantwalls.Car_Tire_lvl4_txt);
soundgiantwalls.Car_Tire_lvl4_sp.setOrigin(0, 0);
soundgiantwalls.Car_Tire_lvl4_sp.setScale(0.122f, 0.122f);
soundgiantwalls.Car_Tire_lvl4_sp.setPosition(500, 30);
soundgiantwalls.Stick_lvl4_txt.loadFromFile("assets\\level 4 the giant walls\\long stick.png");
soundgiantwalls.Stick_lvl4_sp.setTexture(soundgiantwalls.Stick_lvl4_txt);
soundgiantwalls.Stick_lvl4_sp.setScale(0.42f, 0.55f);
soundgiantwalls.Stick_lvl4_sp.setPosition(900, 580);
soundgiantwalls.Stick_lvl4_sp.setRotation(90);
soundgiantwalls.door.setBuffer(soundgiantwalls.doorbuff);
soundgiantwalls.tire.setBuffer(soundgiantwalls.tirebuff);
soundgiantwalls.button.setBuffer(soundgiantwalls.buttonbuff);
soundgiantwalls.tirefall.setBuffer(soundgiantwalls.tirefallbuff);
soundgiantwalls.backgiantwalls.setBuffer(soundgiantwalls.back4buff);
soundgiantwalls.log.setBuffer(soundgiantwalls.logbuff);
soundgiantwalls.logwalk.setBuffer(soundgiantwalls.logwalkbuff);
soundgiantwalls.logjump.setBuffer(soundgiantwalls.logjumpbuff);
soundgiantwalls.door.setVolume(50.f);
soundgiantwalls.tire.setVolume(50.f);
soundgiantwalls.button.setVolume(50.f);
soundgiantwalls.tirefall.setVolume(50.f);
soundgiantwalls.log.setVolume(50.f);
soundgiantwalls.logwalk.setVolume(50.f);
soundgiantwalls.logjump.setVolume(50.f);
soundgiantwalls.backgiantwalls.setVolume(80.f);
}
void loadbarn(RenderWindow& window) {
soundbarn.prisonbuff.loadFromFile("assets\\level 5 the barn\\prison.wav");
soundbarn.buttonbuff.loadFromFile("assets\\level 5 the barn\\button on.wav");
soundbarn.foxbuff.loadFromFile("assets\\level 5 the barn\\fox.wav");
soundbarn.barndoorbuff.loadFromFile("assets\\level 5 the barn\\barn door.wav");
soundbarn.woodjumpbuff.loadFromFile("assets\\level 5 the barn\\wood.wav");
soundbarn.dangerbuff.loadFromFile("assets\\level 5 the barn\\warning.wav");
soundbarn.back5buff.loadFromFile("assets\\level 5 the barn\\Barn sound.ogg");
soundbarn.background_level5_txt.loadFromFile("assets\\Level 5 final destination the barn\\level 5 background.png");
soundbarn.background_level5_sp.setTexture(soundbarn.background_level5_txt);
Vector2u textureSize = soundbarn.background_level5_txt.getSize();
Vector2u windowSize = window.getSize();
float scaleX = (float)windowSize.x / textureSize.x;
float scaleY = (float)windowSize.y / textureSize.y;
soundbarn.background_level5_sp.setScale(scaleX, scaleY);
soundbarn.sign_lvl5_txt.loadFromFile("assets\\Level 5 final destination the barn\\sign3f-removebg-preview.png");
soundbarn.sign_lvl5_sp.setTexture(soundbarn.sign_lvl5_txt);
soundbarn.sign_lvl5_sp.setScale(0.4f, 0.4f);
soundbarn.sign_lvl5_sp.setPosition(1045, 400);
soundbarn.shadowSign = soundbarn.sign_lvl5_sp;
soundbarn.shadowSign.setColor(Color(0, 0, 0, 100));
soundbarn.shadowSign.setOrigin(175, 350);
soundbarn.shadowSign.setPosition(soundbarn.sign_lvl5_sp.getPosition().x + 60, soundbarn.sign_lvl5_sp.getPosition().y + 145);
soundbarn.shadowSign.setScale(soundbarn.sign_lvl5_sp.getScale().x, -soundbarn.sign_lvl5_sp.getScale().y * 0.2f);
soundbarn.stick_lvl5_txt.loadFromFile("assets\\Level 5 final destination the barn\\stickgreen.png");
soundbarn.stick_lvl5_sp.setTexture(soundbarn.stick_lvl5_txt);
soundbarn.stick_lvl5_sp.setScale(0.85f, 0.85f);
soundbarn.stick_lvl5_sp.setPosition(210, 55);
soundbarn.shadowStick = soundbarn.stick_lvl5_sp;
soundbarn.shadowStick.setColor(Color(0, 0, 0, 100));
soundbarn.shadowStick.setScale(soundbarn.stick_lvl5_sp.getScale().x, soundbarn.stick_lvl5_sp.getScale().y * 0.15f);
soundbarn.shadowStick.setPosition(soundbarn.stick_lvl5_sp.getPosition().x, soundbarn.stick_lvl5_sp.getPosition().y + 510);
soundbarn.cage_lvl5_txt.loadFromFile("assets\\Level 5 final destination the barn\\cage2-removebg-preview.png");
soundbarn.cage_lvl5_sp.setTexture(soundbarn.cage_lvl5_txt);
soundbarn.cage_lvl5_sp.setScale(0.9f, 0.9f);
soundbarn.cage_lvl5_sp.setPosition(500, -35);
soundbarn.shadowCage = soundbarn.cage_lvl5_sp;
soundbarn.shadowCage.setColor(Color(0, 0, 0, 45));
soundbarn.shadowCage.setScale(soundbarn.cage_lvl5_sp.getScale().x, soundbarn.cage_lvl5_sp.getScale().y * 0.12f);
soundbarn.shadowCage.setPosition(soundbarn.cage_lvl5_sp.getPosition().x, soundbarn.cage_lvl5_sp.getPosition().y + 600);
soundbarn.stonenight_lvl5_txt.loadFromFile("assets\\Level 5 final destination the barn\\stonef.png");
soundbarn.stonenight_lvl5_sp.setTexture(soundbarn.stonenight_lvl5_txt);
soundbarn.stonenight_lvl5_sp.setScale(0.38f, 0.38f);
soundbarn.stonenight_lvl5_sp.setPosition(400, 470);
soundbarn.button_lvl5_txt.loadFromFile("assets\\Level 5 final destination the barn\\button.png");
soundbarn.button_lvl5_sp.setTexture(soundbarn.button_lvl5_txt);
soundbarn.button_lvl5_sp.setScale(0.07f, 0.07f);
soundbarn.button_lvl5_sp.setPosition(305, 157);
soundbarn.prison.setBuffer(soundbarn.prisonbuff);
soundbarn.button.setBuffer(soundbarn.buttonbuff);
soundbarn.fox.setBuffer(soundbarn.foxbuff);
soundbarn.barndoor.setBuffer(soundbarn.barndoorbuff);
soundbarn.danger.setBuffer(soundbarn.dangerbuff);
soundbarn.woodjump.setBuffer(soundbarn.woodjumpbuff);
soundbarn.backbarn.setBuffer(soundbarn.back5buff);
soundbarn.prison.setVolume(50.f);
soundbarn.button.setVolume(50.f);
soundbarn.fox.setVolume(80.f);
soundbarn.barndoor.setVolume(50.f);
soundbarn.danger.setVolume(70.f);
soundbarn.woodjump.setVolume(50.f);
soundbarn.backbarn.setVolume(80.f);
}
void loadcharchaters(RenderWindow& window) {
heroes.heroesArray[0].texture.loadFromFile("assets\\Sheeps\\Sharley.stand.png");
heroes.heroesArray[1].texture.loadFromFile("assets\\Sheeps\\Shawn.stand.png");
heroes.heroesArray[2].texture.loadFromFile("assets\\Sheeps\\Timmy.stand.png");
for (int i = 0; i < 3; i++) {
heroes.heroesArray[i].sprite.setTexture(heroes.heroesArray[i].texture);
}
}
void loadSheepIcons() {
sheepIcons[0].normalTexture.loadFromFile("assets\\sheeps_icons\\shirley_normal.png");
sheepIcons[1].normalTexture.loadFromFile("assets\\sheeps_icons\\shaun_normal.png");
sheepIcons[2].normalTexture.loadFromFile("assets\\sheeps_icons\\timmy_normal.png");
sheepIcons[0].selectedTexture.loadFromFile("assets\\sheeps_icons\\shirley_selected.png");
sheepIcons[1].selectedTexture.loadFromFile("assets\\sheeps_icons\\shaun_selected.png");
sheepIcons[2].selectedTexture.loadFromFile("assets\\sheeps_icons\\timmy_selected.png");
for (int i = 0; i < 3; i++) {
sheepIcons[i].sheep_icon_sprite.setTexture(sheepIcons[i].normalTexture);
sheepIcons[i].sheep_icon_sprite.setPosition(830.0f + (i * 128.f), 45.f);
sheepIcons[i].isSelected = false;
sheepIcons[i].sheep_icon_sprite.setScale(0.28f, 0.28f);
}
// the first sheep is selected by default
sheepIcons[0].isSelected = true;
sheepIcons[0].sheep_icon_sprite.setTexture(sheepIcons[0].selectedTexture);
}
void drawSheepIcons(RenderWindow& window) {
for (int i = 0; i < 3; i++) {
window.draw(sheepIcons[i].sheep_icon_sprite);
}
}
void DrawLevel1(RenderWindow& window) {
window.draw(soundforest.Level1_background_sp);
window.draw(soundforest.Hay_lvl1_sp);
window.draw(soundforest.Arrow_sign_lvl1_sp);
window.draw(soundforest.LongStick_lvl1_sp);
window.draw(soundforest.ShortStick_lvl1_sp);
window.draw(soundforest.Stone_wall_lvl1_sp);
window.draw(soundforest.Floating_pillar_lvl1_sp);
window.draw(icons.retry_sp);
window.draw(icons.pause_sp);
}
void DrawLevel2(RenderWindow& window) {
window.draw(soundontheroof.lvl2_background_sp);
window.draw(soundontheroof.home_lvl2_sp);
window.draw(soundontheroof.bridge_lvl2_sp);
window.draw(soundontheroof.wood_lvl2_sp);
window.draw(soundontheroof.sign_lvl2_sp);
window.draw(soundontheroof.box_lvl2_sp);
window.draw(icons.retry_sp);
window.draw(icons.pause_sp);
}
void Drawlevel3(RenderWindow& window)
{
window.clear();
window.draw(soundmill.Background_lvl3_sp);
window.draw(soundmill.Tunnel_lvl3_sp);
window.draw(soundmill.Blue_lvl3_sp);
window.draw(soundmill.Wooden_Column_lvl3_sp);
window.draw(soundmill.RockColumn_lvl3_sp);
window.draw(soundmill.Button_lvl3_sp);
window.draw(soundmill.Arrow_Sign_lvl3_sp);
window.draw(soundmill.Box_lvl3_sp);
window.draw(soundmill.Red_Ballon1_lvl3_sp);
window.draw(soundmill.Red_Ballon2_lvl3_sp);
window.draw(soundmill.Red_Ballon3_lvl3_sp);
window.draw(soundmill.Bomb_lvl3_sp);
window.draw(icons.retry_sp);
window.draw(icons.pause_sp);
}
void DrawLevel4(RenderWindow& window) {
window.draw(soundgiantwalls.Level4_background_sp);
window.draw(soundgiantwalls.Button_lv4_sp);
window.draw(soundgiantwalls.Button2_lv4_sp);
window.draw(soundgiantwalls.Arrow_sign_lvl4_sp);
window.draw(soundgiantwalls.Swichable_Barrier_lvl4_sp);
window.draw(soundgiantwalls.Car_Tire_lvl4_sp);
window.draw(soundgiantwalls.Stick_lvl4_sp);
window.draw(icons.retry_sp);
window.draw(icons.pause_sp);
}
void DrawLevel5(RenderWindow& window) {
window.draw(soundbarn.background_level5_sp);
window.draw(soundbarn.shadowSign);
window.draw(soundbarn.sign_lvl5_sp);
window.draw(soundbarn.shadowStick);
window.draw(soundbarn.stick_lvl5_sp);
window.draw(soundbarn.stonenight_lvl5_sp);
window.draw(soundbarn.button_lvl5_sp);
window.draw(soundbarn.shadowCage);
window.draw(soundbarn.cage_lvl5_sp);
window.draw(icons.retry_sp);
window.draw(icons.pause_sp);
}
void resetLevel1(RenderWindow& window) {
soundforest.Hay_lvl1_sp.setPosition(627, 330);
soundforest.LongStick_lvl1_sp.setPosition(725, 440);
soundforest.ShortStick_lvl1_sp.setPosition(695, 440);
//velocity , jump , sheep ,collosion
};
void resetLevel2(RenderWindow& window) {
soundontheroof.wood_lvl2_sp.setPosition(235, 325);
soundontheroof.box_lvl2_sp.setPosition(550, 380);
//velocity , jump , sheep ,collosion
}
void resetLevel3(RenderWindow& window) {
soundmill.Wooden_Column_lvl3_sp.setPosition(668, 135);
soundmill.Button_lvl3_sp.setPosition(730, 492);
soundmill.Box_lvl3_sp.setPosition(540, 445);
soundmill.Red_Ballon1_lvl3_sp.setPosition(340, 435);
soundmill.Red_Ballon2_lvl3_sp.setPosition(295, 435);
soundmill.Red_Ballon3_lvl3_sp.setPosition(250, 435);
//velocity , jump , sheep ,collosion
}
void resetLevel4(RenderWindow& window) {
soundgiantwalls.Button_lv4_sp.setPosition(630, 630);
soundgiantwalls.Button2_lv4_sp.setPosition(200, 285);
soundgiantwalls.Swichable_Barrier_lvl4_sp.setPosition(460, 40);
soundgiantwalls.Car_Tire_lvl4_sp.setPosition(500, 30);
soundgiantwalls.Stick_lvl4_sp.setPosition(900, 580);
//velocity , jump , sheep ,collosion
}
void resetLevel5(RenderWindow& window) {
soundbarn.cage_lvl5_sp.setPosition(500, -35);
soundbarn.button_lvl5_sp.setPosition(305, 157);
//velocity , jump , sheep ,collosion
}
void resetLevel(int selectedlvl, RenderWindow& window) {
if (selectedlvl == 0) resetLevel1(window);
else if (selectedlvl == 1) resetLevel2(window);
else if (selectedlvl == 2) resetLevel3(window);
else if (selectedlvl == 3) resetLevel4(window);
else if (selectedlvl == 4) resetLevel5(window);
}
void intro(RenderWindow& window) {
const int intro_totalscenes = 7;
Texture intro_txt[7];
intro_txt[0].loadFromFile("assets\\intro and outro\\introstart.png");
intro_txt[1].loadFromFile("assets\\intro and outro\\intro.1.png");
intro_txt[2].loadFromFile("assets\\intro and outro\\intro.2.png");
intro_txt[3].loadFromFile("assets\\intro and outro\\intro.3.png");
intro_txt[4].loadFromFile("assets\\intro and outro\\intro.40.png");
intro_txt[5].loadFromFile("assets\\intro and outro\\intro.50.png");
intro_txt[6].loadFromFile("assets\\intro and outro\\intro.6.png");
Sprite intro_sp;
int currentscene = 0;
intro_sp.setTexture(intro_txt[0]);
Texture backbtn_txt, nextbtn_txt, skipbtn_txt;
backbtn_txt.loadFromFile("assets\\intro and outro\\arrowleft-removebg-preview.png");
nextbtn_txt.loadFromFile("assets\\intro and outro\\arrowright-removebg-preview.png");
skipbtn_txt.loadFromFile("assets\\intro and outro\\skipbutton-removebg-preview.png");
Sprite backbtn_sp, nextbtn_sp, skipbtn_sp;
backbtn_sp.setTexture(backbtn_txt);
nextbtn_sp.setTexture(nextbtn_txt);
skipbtn_sp.setTexture(skipbtn_txt);
backbtn_sp.setScale(0.6f, 0.6f);
nextbtn_sp.setScale(0.6f, 0.6f);
backbtn_sp.setPosition(10, 620);
nextbtn_sp.setPosition(1075, 620);
skipbtn_sp.setPosition(1120, 0);
bool introrun = true;
while (window.isOpen() && introrun) {
Event event;
intro_sp.setTexture(intro_txt[currentscene], true);
float scaleX = (float)window.getSize().x / intro_txt[currentscene].getSize().x;
float scaleY = (float)window.getSize().y / intro_txt[currentscene].getSize().y;
intro_sp.setScale(scaleX, scaleY);
while (window.pollEvent(event)) {
if (event.type == Event::Closed)window.close();
if (event.type == Event::MouseButtonPressed && event.mouseButton.button == Mouse::Left)
{
Vector2f mousePos = window.mapPixelToCoords(Mouse::getPosition(window));
if (nextbtn_sp.getGlobalBounds().contains(mousePos)) {
if (currentscene < intro_totalscenes - 1) {
currentscene++;
}
else {
introrun = false;
currentwindow = 2;
selectedlvl = 0;
soundgeneral.intro.pause();
}
}
if (backbtn_sp.getGlobalBounds().contains(mousePos)) {
if (currentscene > 0) {
currentscene--;
}
}
if (skipbtn_sp.getGlobalBounds().contains(mousePos)) {
introrun = false;
}
if (skipbtn_sp.getGlobalBounds().contains(mousePos)) {
soundgeneral.intro.pause();
currentwindow = 2;
selectedlvl = 0;
}
}
}
window.clear();
window.draw(intro_sp);
if (currentscene > 0) {
window.draw(backbtn_sp);
}
window.draw(nextbtn_sp);
if (currentscene < intro_totalscenes - 1) {
window.draw(skipbtn_sp);
}
window.display();
}
}
void update(RenderWindow& window) {
while (window.pollEvent(event)) {
if (event.type == Event::Closed)
window.close();
if (event.type == sf::Event::MouseButtonPressed) {
if (event.mouseButton.button == sf::Mouse::Left) {
updateSheepIcons(window);
}
}
switch (currentwindow) {
case 0://main
if (event.type == Event::KeyPressed) {
if (event.key.code == Keyboard::Up) {
menu.menutxt[selected].setFillColor(Color::White);
selected--;
if (selected < 0)
selected = MAIN - 1;
menu.menutxt[selected].setFillColor(Color::Black);
}
else if (event.key.code == Keyboard::Down) {
menu.menutxt[selected].setFillColor(Color::White);
selected++;
if (selected > MAIN - 1)
selected = 0;
menu.menutxt[selected].setFillColor(Color::Black);
}
if (event.key.code == Keyboard::Enter) {
soundgeneral.menu.pause();
if (selected == 0) {//play
currentwindow = 1;//map
if (soundgeneral.menusound)
soundgeneral.menu.play();
selected = 0;
}
else if (selected == 1) {//settings
currentwindow = 3;//settings
if (soundgeneral.menusound)
soundgeneral.menu.play();
selected = 0;
}
else if (selected == 2) {//credit
currentwindow = 4;//credit
if (soundgeneral.menusound)
soundgeneral.menu.play();
}
else if (selected == 3)//exit
window.close();
}
}
break;
case 1://map
if (event.type == Event::KeyPressed) {
if (event.key.code == Keyboard::Left) {
menu.maptxt[selected].setFillColor(Color::White);
selected--;
if (selected < 0)
selected = MAP - 1;
menu.maptxt[selected].setFillColor(Color::Black);
}
else if (event.key.code == Keyboard::Right) {
menu.maptxt[selected].setFillColor(Color::White);
selected++;
if (selected > MAP - 1)
selected = 0;
menu.maptxt[selected].setFillColor(Color::Black);
}
if (event.key.code == Keyboard::Enter) {
if (selected == 0) {
if (soundgeneral.menusound) {
soundgeneral.menu.pause();
soundgeneral.enterlvl = true;
}
currentwindow = 9;
soundgeneral.intro.play();
if (!introPlayed) {
intro(window);
introPlayed = true;
}
//currentwindow = 2;
//logic forest
selectedlvl = 0;
selected = 0;
currentwindow = 2;
selectedlvl = 0;
//selected = 0;
//logic forest
}
else if (selected == 1) {
if (islevelunlocked[1]) {
if (soundgeneral.menusound) {
soundgeneral.menu.pause();
soundgeneral.enterlvl = true;
}
currentwindow = 2;
selectedlvl = 1;
//selected = 1;
//logic on the roof
}
}
else if (selected == 2) {
if (islevelunlocked[2]) {
currentwindow = 2;
selectedlvl = 2;
if (soundgeneral.menusound) {
soundgeneral.menu.pause();
soundgeneral.enterlvl = true;
}
//selected = 2;
//logic the mill
}
}
else if (selected == 3) {
if (islevelunlocked[3]) {
currentwindow = 2;
selectedlvl = 3;
if (soundgeneral.menusound) {
soundgeneral.menu.pause();
soundgeneral.enterlvl = true;
}
//selected = 3;
//logic the giant walls
}
}
else if (selected == 4) {
if (islevelunlocked[4]) {
currentwindow = 2;
selectedlvl = 4;
if (soundgeneral.menusound) {
soundgeneral.menu.pause();
soundgeneral.enterlvl = true;
}
//selected = 4;
// logic the barn
}
}
else if (selected == 5) {
currentwindow = 0;
selected = 0;
menu.maptxt[MAP - 1].setFillColor(Color::White);
menu.maptxt[0].setFillColor(Color::Black);
}
}
}
break;
case 2://levels window
switch (selectedlvl) {
case 0:
if (event.type == Event::KeyPressed && event.key.code == Keyboard::P) {
currentwindow = 5;
selected = 0;
}
if (event.type == Event::KeyPressed && event.key.code == Keyboard::R) {
resetLevel1(window);
}
break;
case 1:
if (event.type == Event::KeyPressed && event.key.code == Keyboard::P) {
currentwindow = 5;
selected = 0;
}
if (event.type == Event::KeyPressed && event.key.code == Keyboard::R) {
resetLevel2(window);
}
break;
case 2:
if (event.type == Event::KeyPressed && event.key.code == Keyboard::P) {
currentwindow = 5;
selected = 0;
}
if (event.type == Event::KeyPressed && event.key.code == Keyboard::R) {
resetLevel3(window);
}
break;
case 3:
if (event.type == Event::KeyPressed && event.key.code == Keyboard::P) {
currentwindow = 5;
selected = 0;
}
if (event.type == Event::KeyPressed && event.key.code == Keyboard::R) {
resetLevel4(window);
}
break;
case 4:
if (event.type == Event::KeyPressed && event.key.code == Keyboard::P) {
currentwindow = 5;
selected = 0;
}
if (event.type == Event::KeyPressed && event.key.code == Keyboard::R) {
resetLevel5(window);
}
break;
}
break;
case 3://settings
if (event.type == Event::KeyPressed) {
if (event.key.code == Keyboard::Up) {
menu.settingstxt[selected].setFillColor(Color::White);
selected--;
if (selected < 0)
selected = SETTINGS - 1;
menu.settingstxt[selected].setFillColor(Color::Black);
}
else if (event.key.code == Keyboard::Down) {
menu.settingstxt[selected].setFillColor(Color::White);
selected++;
if (selected > SETTINGS - 1)
selected = 0;
menu.settingstxt[selected].setFillColor(Color::Black);
}
if (event.key.code == Keyboard::Enter) {
switch (selected) {//sounds handled here is the main&map only
case 0://added sound on
if (soundgeneral.menusound == false) {
soundgeneral.menu.play();
soundgeneral.menu.setVolume(soundgeneral.menu.getVolume());
soundgeneral.menusound = true;
}
break;
case 1://set sounds to a higher level
if (soundgeneral.menusound == false) {
soundgeneral.menu.play();
soundgeneral.menu.setVolume(100);
soundgeneral.menusound = true;
}
soundgeneral.menu.setVolume(100);
break;
case 2://set sounds to a lower level
if (soundgeneral.menusound == false) {
soundgeneral.menu.play();
soundgeneral.menu.setVolume(40);
soundgeneral.menusound = true;
}
soundgeneral.menu.setVolume(40);
break;
case 3://mute
soundgeneral.menu.pause();
soundgeneral.menusound = false;
break;
case 4://back
currentwindow = 0;//main
if (soundgeneral.menusound == false)
soundgeneral.menu.pause();
selected = 1;
menu.settingstxt[SETTINGS - 1].setFillColor(Color::White);
menu.settingstxt[0].setFillColor(Color::Black);
break;
}
}
}
break;
case 4://credit
selected = 7;
menu.creditxt[selected].setFillColor(Color::Black);
if (event.type == Event::KeyPressed) {
if (event.key.code == Keyboard::Enter) {
currentwindow = 0;//main
selected = 2;
}
}
break;
case 5://pause
if (event.type == Event::KeyPressed) {
if (event.key.code == Keyboard::Up) {
menu.pausetxt[selected].setFillColor(Color::White);
selected--;
if (selected < 0)
selected = PAUSE - 1;
menu.pausetxt[selected].setFillColor(Color::Black);
}
else if (event.key.code == Keyboard::Down) {
menu.pausetxt[selected].setFillColor(Color::White);
selected++;
if (selected > PAUSE - 1)
selected = 0;
menu.pausetxt[selected].setFillColor(Color::Black);
}
/*if (event.key.code == Keyboard::Left) {
menu.pausetxt[selectedop].setFillColor(Color::White);
selectedop--;
if (selectedop <= 1)
selectedop = PAUSE - 1;
menu.pausetxt[selectedop].setFillColor(Color::Black);
}
else if (event.key.code == Keyboard::Right) {
menu.pausetxt[selectedop].setFillColor(Color::White);
selectedop++;
if (selectedop > PAUSE - 1)
selectedop = 2;
menu.pausetxt[selectedop].setFillColor(Color::Black);
}
*/
if (event.key.code == Keyboard::Enter) {
switch (selected) {// sound on mute map continue
case 0://sound on
if (selectedlvl == 0) {
//play sounds
soundforest.backforest.setLoop(true);
soundforest.backforest.play();
}
else if (selectedlvl == 1) {
//play sounds
soundontheroof.backontheroof.setLoop(true);
soundontheroof.backontheroof.play();
}
else if (selectedlvl == 2) {
//play sounds
soundmill.backmill.setLoop(true);
soundmill.backmill.play();
}
else if (selectedlvl == 3) {
//play sounds
soundgiantwalls.backgiantwalls.setLoop(true);
soundgiantwalls.backgiantwalls.play();
}
else if (selectedlvl == 4) {
//play sounds
soundbarn.backbarn.setLoop(true);
soundbarn.backbarn.play();
}
break;
case 1://mute
if (selectedlvl == 0) {
//pause sounds
soundforest.backforest.pause();
}
else if (selectedlvl == 1) {
//pause sounds
soundontheroof.backontheroof.pause();
}
else if (selectedlvl == 2) {
//pause sounds
soundmill.backmill.pause();
}
else if (selectedlvl == 3) {
//pause sounds
soundgiantwalls.backgiantwalls.pause();
}
else if (selectedlvl == 4) {
//pause sounds
soundbarn.backbarn.pause();
}
break;
case 2://map
if (selectedlvl == 0) {
soundforest.backforest.pause();
currentwindow = 1;
selected = 0;
if (soundgeneral.menusound && soundgeneral.enterlvl) {
soundgeneral.menu.setVolume(soundgeneral.menu.getVolume());
soundgeneral.menu.play();
}
menu.pausetxt[PAUSE - 2].setFillColor(Color::White);
menu.pausetxt[0].setFillColor(Color::Black);
}
else if (selectedlvl == 1) {
soundontheroof.backontheroof.pause();
currentwindow = 1;
selected = 1;
if (soundgeneral.menusound && soundgeneral.enterlvl) {
soundgeneral.menu.setVolume(soundgeneral.menu.getVolume());
soundgeneral.menu.play();
}
menu.pausetxt[PAUSE - 2].setFillColor(Color::White);
menu.pausetxt[0].setFillColor(Color::Black);
}
else if (selectedlvl == 2) {
soundmill.backmill.pause();
currentwindow = 1;
selected = 2;
if (soundgeneral.menusound && soundgeneral.enterlvl) {
soundgeneral.menu.setVolume(soundgeneral.menu.getVolume());
soundgeneral.menu.play();
}
menu.pausetxt[PAUSE - 2].setFillColor(Color::White);
menu.pausetxt[0].setFillColor(Color::Black);
}
else if (selectedlvl == 3) {
soundgiantwalls.backgiantwalls.pause();
currentwindow = 1;
selected = 3;
if (soundgeneral.menusound && soundgeneral.enterlvl) {
soundgeneral.menu.setVolume(soundgeneral.menu.getVolume());
soundgeneral.menu.play();
}
menu.pausetxt[PAUSE - 2].setFillColor(Color::White);
menu.pausetxt[0].setFillColor(Color::Black);
}
else if (selectedlvl == 4) {
soundbarn.backbarn.pause();
currentwindow = 1;
selected = 4;
if (soundgeneral.menusound && soundgeneral.enterlvl) {
soundgeneral.menu.setVolume(soundgeneral.menu.getVolume());
soundgeneral.menu.play();
}
menu.pausetxt[PAUSE - 2].setFillColor(Color::White);
menu.pausetxt[0].setFillColor(Color::Black);
}
break;
case 3://continue
switch (selectedlvl) {
case 0:
currentwindow = 2;
selected = 0;
menu.pausetxt[PAUSE - 1].setFillColor(Color::White);
menu.pausetxt[0].setFillColor(Color::Black);
break;
case 1:
currentwindow = 2;
selected = 1;
menu.pausetxt[PAUSE - 1].setFillColor(Color::White);
menu.pausetxt[0].setFillColor(Color::Black);
break;
case 2:
currentwindow = 2;
selected = 2;
menu.pausetxt[PAUSE - 1].setFillColor(Color::White);
menu.pausetxt[0].setFillColor(Color::Black);
break;
case 3:
currentwindow = 2;
selected = 3;
menu.pausetxt[PAUSE - 1].setFillColor(Color::White);
menu.pausetxt[0].setFillColor(Color::Black);
break;
case 4:
currentwindow = 2;
selected = 4;
menu.pausetxt[PAUSE - 1].setFillColor(Color::White);
menu.pausetxt[0].setFillColor(Color::Black);
break;
//handel continue
break;
}
}
}
}
break;
case 6://win
if (selected < 4) {
islevelunlocked[selected + 1] = true; //To open the new level after winning the current one
}
if (event.type == Event::KeyPressed) {
if (event.key.code == Keyboard::Up) {
menu.wintxt[selectedop].setFillColor(Color::White);
selectedop--;
if (selectedop < 2)
selectedop = WIN - 1;
menu.wintxt[selectedop].setFillColor(Color::Black);
}
else if (event.key.code == Keyboard::Down) {
menu.wintxt[selectedop].setFillColor(Color::White);
selectedop++;
if (selectedop > WIN - 1)
selectedop = 2;
menu.wintxt[selectedop].setFillColor(Color::Black);
}
if (event.key.code == Keyboard::Enter) {
switch (selected) {//retry map next
case 2:
currentwindow = 2;
//restart the level
break;
case 3://map
currentwindow = 1;
break;
case 4:
currentwindow = 2;
//handel logic of choosing which level to draw next
//if selected is 2 then next 3
if (selected < 4) {
selected++; //To start the next level after winning the current one
currentwindow = 2;
}
else {
currentwindow = 1;
}
break;
}
}
}
break;
case 7://lose
if (event.type == Event::KeyPressed) {
if (event.key.code == Keyboard::Up) {
menu.losetxt[selected].setFillColor(Color::White);
selected--;
if (selected <= 0)
selected = LOSE - 1;
menu.losetxt[selected].setFillColor(Color::Black);
}
else if (event.key.code == Keyboard::Down) {
menu.losetxt[selected].setFillColor(Color::White);
selected++;
if (selected > LOSE - 1)
selected = 1;
menu.losetxt[selected].setFillColor(Color::Black);
}
if (event.key.code == Keyboard::Enter) {
switch (selected) {//retry
case 1:
currentwindow = 2;
//handel restarting the level
break;
case 2://map
currentwindow = 1;
break;
}
}
}
break;
case 8://timeout
if (event.type == Event::KeyPressed) {
if (event.key.code == Keyboard::Up) {
menu.timeouttxt[selected].setFillColor(Color::White);
selected--;
if (selected <= 0)
selected = TIMEOUT - 1;
menu.timeouttxt[selected].setFillColor(Color::Black);
}
else if (event.key.code == Keyboard::Down) {
menu.timeouttxt[selected].setFillColor(Color::White);
selected++;
if (selected > TIMEOUT - 1)
selected = 1;
menu.timeouttxt[selected].setFillColor(Color::Black);
}
if (event.key.code == Keyboard::Enter) {
switch (selected) {
case 1://retry
currentwindow = 2;
//handel restarting the level
break;
case 2://map
currentwindow = 1;
break;
}
}
}
break;
}
}
}
void DrawSheeps(RenderWindow& window) {
for (int i = 0; i < 3; i++) {
window.draw(heroes.heroesArray[i].sprite);
}
}
void initLevel() {
if (selectedlvl == 0) {
heroes.heroesArray[0].sprite.setScale(0.37, 0.37);
heroes.heroesArray[1].sprite.setScale(0.24, 0.24);
heroes.heroesArray[2].sprite.setScale(0.3, 0.3);
heroes.heroesArray[0].sprite.setPosition(25, 460);
heroes.heroesArray[1].sprite.setPosition(47, 402);
heroes.heroesArray[2].sprite.setPosition(74, 392);
}
if (selectedlvl == 1) {
heroes.heroesArray[0].sprite.setScale(0.3, 0.3);
heroes.heroesArray[1].sprite.setScale(0.2, 0.2);
heroes.heroesArray[2].sprite.setScale(0.27, 0.27);
heroes.heroesArray[0].sprite.setPosition(20, 370);
heroes.heroesArray[1].sprite.setPosition(40, 322);
heroes.heroesArray[2].sprite.setPosition(63, 310);
}
if (selectedlvl == 2) {
heroes.heroesArray[0].sprite.setScale(0.292, 0.292);
heroes.heroesArray[1].sprite.setScale(0.21, 0.21);
heroes.heroesArray[2].sprite.setScale(0.26, 0.26);
heroes.heroesArray[0].sprite.setPosition(20, 453);
heroes.heroesArray[1].sprite.setPosition(36, 398);
heroes.heroesArray[2].sprite.setPosition(59, 388);
}
if (selectedlvl == 3) {
heroes.heroesArray[0].sprite.setScale(0.33, 0.33);
heroes.heroesArray[1].sprite.setScale(0.22, 0.22);
heroes.heroesArray[2].sprite.setScale(0.31, 0.31);
heroes.heroesArray[0].sprite.setPosition(137, 503);
heroes.heroesArray[1].sprite.setPosition(158, 448);
heroes.heroesArray[2].sprite.setPosition(180, 432);
}
if (selectedlvl == 4) {
heroes.heroesArray[0].sprite.setScale(0.38, 0.38);
heroes.heroesArray[1].sprite.setScale(0.26, 0.26);
heroes.heroesArray[2].sprite.setScale(0.32, 0.32);
heroes.heroesArray[0].sprite.setPosition(33, 455);
heroes.heroesArray[1].sprite.setPosition(60, 390);
heroes.heroesArray[2].sprite.setPosition(92, 378);
}
}
void draw(RenderWindow& window) {
window.clear();
switch (currentwindow) {
case 0://main
window.draw(menu.mainbackground);
for (int i = 0; i < MAIN; i++) {
window.draw(menu.menutxt[i]);
}
window.display();
break;
case 1://map
menu.back.setPosition(545, 630);
menu.back.setScale(0.5, 0.5);
window.draw(menu.mapbackground);
window.draw(menu.back);
updateLevelUnlocks(window);
for (int i = 0; i < MAP; i++) {
window.draw(menu.maptxt[i]);
}
window.display();
break;
case 2://levels
initLevel();
if (selected == 0) {//draw forest here
DrawLevel1(window);
DrawSheeps(window);
drawSheepIcons(window);
}
else if (selected == 1) {//draw on the roof here
DrawLevel2(window);
DrawSheeps(window);
drawSheepIcons(window);
}
else if (selected == 2) {//draw the mill here
Drawlevel3(window);
DrawSheeps(window);
drawSheepIcons(window);
}
else if (selected == 3) {//draw the giant walls here
DrawLevel4(window);
DrawSheeps(window);
drawSheepIcons(window);
}
else if (selected == 4) {//draw the barn here
DrawLevel5(window);
DrawSheeps(window);
drawSheepIcons(window);
}
window.display();
break;
case 3://settings
menu.back.setPosition(470, 550);
menu.back.setScale(1, 1);
window.draw(menu.mainbackground);
window.draw(menu.menusbackground);
window.draw(menu.back);
for (int i = 0; i < SETTINGS; i++) {
window.draw(menu.settingstxt[i]);
}
window.display();
break;
case 4://credit
menu.back.setPosition(470, 550);
menu.back.setScale(1, 1);
window.draw(menu.mainbackground);
window.draw(menu.menusbackground);
window.draw(menu.back);
for (int i = 0; i < CREDIT; i++) {
window.draw(menu.creditxt[i]);
}
window.display();
break;
case 5://pause
switch (selectedlvl) {
case 0:
DrawLevel1(window);
window.draw(menu.menusbackground);
break;
case 1:
DrawLevel2(window);
window.draw(menu.menusbackground);
break;
case 2:
Drawlevel3(window);
window.draw(menu.menusbackground);
break;
case 3:
DrawLevel4(window);
window.draw(menu.menusbackground);
break;
case 4:
DrawLevel5(window);
window.draw(menu.menusbackground);
break;
}
for (int i = 0; i < PAUSE; i++) {
window.draw(menu.pausetxt[i]);
}
window.display();
break;
case 6:
window.draw(menu.menusbackground);
for (int i = 0; i < WIN; i++) {
window.draw(menu.wintxt[i]);
}
window.display();
break;
case 7:
window.draw(menu.menusbackground);
for (int i = 0; i < LOSE; i++) {
window.draw(menu.losetxt[i]);
}
window.display();
break;
case 8:
window.draw(menu.menusbackground);
for (int i = 0; i < TIMEOUT; i++) {
window.draw(menu.timeouttxt[i]);
}
window.display();
break;
}
}
int main() {
RenderWindow window = { VideoMode(1280,720), "Back to The Barn" };
loadmenus(window);
loadgeneral(window);
loadforest(window);
loadontheroof(window);
loadmill(window);
loadthegiantwalls(window);
loadbarn(window);
loadcharchaters(window);
loadSheepIcons();
if (currentwindow == 0 && soundgeneral.menusound) {
soundgeneral.menu.setLoop(true);
soundgeneral.menu.play();
}
while (window.isOpen()) {
if (event.type == Event::MouseButtonPressed) {
Vector2i mousePos = Mouse::getPosition(window);
cout << "X: " << mousePos.x << " , Y: " << mousePos.y << endl;
}
update(window);
if (currentwindow != 9) {
draw(window);
}
}
return 0;
}Editor is loading...
Leave a Comment