From d3686f2855b1363d88bcd8f94c52601b44a007f8 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 10 Jan 2022 16:10:04 +0100 Subject: [PATCH] AHHHHHHHHHHHHH --- src/pixelManager/drawEntities.cpp | 88 ++++++++++++++----------------- 1 file changed, 40 insertions(+), 48 deletions(-) diff --git a/src/pixelManager/drawEntities.cpp b/src/pixelManager/drawEntities.cpp index dcb9328..5facd3c 100644 --- a/src/pixelManager/drawEntities.cpp +++ b/src/pixelManager/drawEntities.cpp @@ -25,83 +25,76 @@ PixelManager::PixelManager(MinGL& win) : window(win) { } void PixelManager::drawHeart(const Position& baseVector) const { - window << Circle(Position(10, 10)+baseVector,10, nsGraphics::KRed); - window << Circle(Position(30, 10)+baseVector,10, nsGraphics::KRed); - window << Triangle(Position(0,10)+baseVector,Position(40,10)+baseVector,Position(20,40)+baseVector,nsGraphics::KRed); - + window << Circle(Position(10, 10)+baseVector,10, nsGraphics::KRed); + window << Circle(Position(30, 10)+baseVector,10, nsGraphics::KRed); + window << Triangle(Position(0,10)+baseVector,Position(40,10)+baseVector,Position(20,40)+baseVector,nsGraphics::KRed); } void PixelManager::drawInvaderA(const Position& baseVector, unsigned size, const RGBAcolor& color) const { - float scale = size/(float)100; - window << Circle(Position(50*scale, 50*scale)+baseVector, 50*scale, nsGraphics::KGray); - window << Triangle(Position(35*scale, 50*scale)+baseVector, Position(15*scale, 25*scale)+baseVector, Position(15*scale, 75*scale)+baseVector, nsGraphics::KBlack); - window << Triangle(Position(25*scale, 50*scale)+baseVector, Position(10*scale, 25*scale)+baseVector, Position(10*scale, 75*scale)+baseVector, nsGraphics::KGray); - window << Triangle(Position(65*scale, 50*scale)+baseVector, Position(85*scale, 25*scale)+baseVector, Position(85*scale, 75*scale)+baseVector, nsGraphics::KBlack); - window << Triangle(Position(75*scale, 50*scale)+baseVector, Position(90*scale, 25*scale)+baseVector, Position(90*scale, 75*scale)+baseVector, nsGraphics::KGray); - window << Rectangle(Position(35*scale, 65*scale)+baseVector, Position(65*scale, 72*scale)+baseVector, nsGraphics::KBlack); - + float scale = size/(float)100; + window << Circle(Position(50*scale, 50*scale)+baseVector, 50*scale, nsGraphics::KGray); + window << Triangle(Position(35*scale, 50*scale)+baseVector, Position(15*scale, 25*scale)+baseVector, Position(15*scale, 75*scale)+baseVector, nsGraphics::KBlack); + window << Triangle(Position(25*scale, 50*scale)+baseVector, Position(10*scale, 25*scale)+baseVector, Position(10*scale, 75*scale)+baseVector, nsGraphics::KGray); + window << Triangle(Position(65*scale, 50*scale)+baseVector, Position(85*scale, 25*scale)+baseVector, Position(85*scale, 75*scale)+baseVector, nsGraphics::KBlack); + window << Triangle(Position(75*scale, 50*scale)+baseVector, Position(90*scale, 25*scale)+baseVector, Position(90*scale, 75*scale)+baseVector, nsGraphics::KGray); + window << Rectangle(Position(35*scale, 65*scale)+baseVector, Position(65*scale, 72*scale)+baseVector, nsGraphics::KBlack); } void PixelManager::drawInvaderB(const Position& baseVector, unsigned size, const RGBAcolor& color) const { - float scale = size/(float)100; - window << Circle(Position(50*scale, 50*scale)+baseVector, 50*scale, nsGraphics::KRed); - window << Rectangle(Position(25*scale, 30*scale)+baseVector, Position(45*scale, 40*scale)+baseVector, nsGraphics::KBlack); - window << Rectangle(Position(55*scale, 30*scale)+baseVector, Position(75*scale, 40*scale)+baseVector, nsGraphics::KBlack); - window << Rectangle(Position(35*scale, 65*scale)+baseVector, Position(65*scale, 72*scale)+baseVector, nsGraphics::KBlack); - + float scale = size/(float)100; + window << Circle(Position(50*scale, 50*scale)+baseVector, 50*scale, nsGraphics::KRed); + window << Rectangle(Position(25*scale, 30*scale)+baseVector, Position(45*scale, 40*scale)+baseVector, nsGraphics::KBlack); + window << Rectangle(Position(55*scale, 30*scale)+baseVector, Position(75*scale, 40*scale)+baseVector, nsGraphics::KBlack); + window << Rectangle(Position(35*scale, 65*scale)+baseVector, Position(65*scale, 72*scale)+baseVector, nsGraphics::KBlack); } void PixelManager::drawInvaderC(const Position& baseVector, unsigned size, const RGBAcolor& color) const { - float scale = size/(float)100; - window << Circle(Position(50*scale, 50*scale)+baseVector, 50*scale, nsGraphics::KGreen); - window << Circle(Position(35*scale, 35*scale)+baseVector, 10*scale, nsGraphics::KBlack); - window << Circle(Position(65*scale, 35*scale)+baseVector, 10*scale, nsGraphics::KBlack); - window << Rectangle(Position(35*scale, 65*scale)+baseVector, Position(65*scale, 72*scale)+baseVector, nsGraphics::KBlack); - + float scale = size/(float)100; + window << Circle(Position(50*scale, 50*scale)+baseVector, 50*scale, nsGraphics::KGreen); + window << Circle(Position(35*scale, 35*scale)+baseVector, 10*scale, nsGraphics::KBlack); + window << Circle(Position(65*scale, 35*scale)+baseVector, 10*scale, nsGraphics::KBlack); + window << Rectangle(Position(35*scale, 65*scale)+baseVector, Position(65*scale, 72*scale)+baseVector, nsGraphics::KBlack); } void PixelManager::drawPlayer(unsigned x, unsigned width, const nsGraphics::RGBAcolor& color) const { width = width-10-10; width = width/2; - window << Triangle(Position(0+x, 720), Position(5+x, 720), Position(5+x, 720-PLAYER_HEIGHT/2), color); - window << Rectangle(Position(5+x, 720), Position(5+width+x, 720-PLAYER_HEIGHT/2), color); - window << Rectangle(Position(5+width+x, 720), Position(15+width+x, 720-PLAYER_HEIGHT), color); - window << Rectangle(Position(15+width+x, 720), Position(15+width*2+x, 720-PLAYER_HEIGHT/2), color); - window << Triangle(Position(15+width*2+x, 720), Position(15+width*2+x, 720-PLAYER_HEIGHT/2), Position(20+width*2+x, 720), color); - window << Triangle(Position(5+x,720-PLAYER_HEIGHT/2), Position(5+width+x,720-PLAYER_HEIGHT/2), Position(5+width+x,720-PLAYER_HEIGHT*0.9), color); - window << Triangle(Position(15+width+x,720-PLAYER_HEIGHT/2), Position(15+width*2+x,720-PLAYER_HEIGHT/2), Position(15+width+x,720-PLAYER_HEIGHT*0.9), color); - + window << Triangle(Position(0+x, 720), Position(5+x, 720), Position(5+x, 720-PLAYER_HEIGHT/2), color); + window << Rectangle(Position(5+x, 720), Position(5+width+x, 720-PLAYER_HEIGHT/2), color); + window << Rectangle(Position(5+width+x, 720), Position(15+width+x, 720-PLAYER_HEIGHT), color); + window << Rectangle(Position(15+width+x, 720), Position(15+width*2+x, 720-PLAYER_HEIGHT/2), color); + window << Triangle(Position(15+width*2+x, 720), Position(15+width*2+x, 720-PLAYER_HEIGHT/2), Position(20+width*2+x, 720), color); + window << Triangle(Position(5+x,720-PLAYER_HEIGHT/2), Position(5+width+x,720-PLAYER_HEIGHT/2), Position(5+width+x,720-PLAYER_HEIGHT*0.9), color); + window << Triangle(Position(15+width+x,720-PLAYER_HEIGHT/2), Position(15+width*2+x,720-PLAYER_HEIGHT/2), Position(15+width+x,720-PLAYER_HEIGHT*0.9), color); } void PixelManager::drawMissile(const Position& baseVector, unsigned width, const nsGraphics::RGBAcolor& color) const { - window << Rectangle(baseVector, baseVector + Position(width, width * PROJ_LENGTH_FACTOR), color); + window << Rectangle(baseVector, baseVector + Position(width, width * PROJ_LENGTH_FACTOR), color); } void PixelManager::drawTorpedo(const Position& baseVector, unsigned width, const nsGraphics::RGBAcolor& color) const { - window << Rectangle(baseVector, baseVector + Position(width, width * PROJ_LENGTH_FACTOR), color); - + window << Rectangle(baseVector, baseVector + Position(width, width * PROJ_LENGTH_FACTOR), color); } void PixelManager::drawSprite(const MySprite& msp, const Position& pos) const { - // The sprite is associated with a Vec2D for whatever reason, so yeah, we modify it each time we draw it - msp.ptr->setPosition(pos); - msp.ptr->draw(window); + // The sprite is associated with a Vec2D for whatever reason, so yeah, we modify it each time we draw it + msp.ptr->setPosition(pos); + msp.ptr->draw(window); } void PixelManager::drawGodBench(int y) const { - window << Rectangle(Position(0, y), Position(getScreenWidth(), y+GOD_BENCH_SIZE), nsGraphics::KGray); - + window << Rectangle(Position(0, y), Position(getScreenWidth(), y+GOD_BENCH_SIZE), nsGraphics::KGray); } void PixelManager::drawGodFace(int y, bool angry) const { Text t( - Position(getScreenWidth()/2, y), - angry ? ">w<" : ".w.", - nsGraphics::KBlue, - GlutFont::GlutFonts::BITMAP_TIMES_ROMAN_24, - Text::HorizontalAlignment::ALIGNH_CENTER - ); + Position(getScreenWidth()/2, y), + angry ? ">w<" : ".w.", + nsGraphics::KBlue, + GlutFont::GlutFonts::BITMAP_TIMES_ROMAN_24, + Text::HorizontalAlignment::ALIGNH_CENTER + ); // computeHeight() returns a height bigger than the actual text size, that's why there's padding above it( t.setPosition(t.getPosition()+Position(0, t.computeHeight())); @@ -110,6 +103,5 @@ void PixelManager::drawGodFace(int y, bool angry) const { } void PixelManager::drawText(const Position& pos, const string& text, const nsGraphics::RGBAcolor& color, Font font) const { - window << Text(pos, text, color, font); - + window << Text(pos, text, color, font); }