13#include "mingl/gui/text.h"
18using namespace nsShape;
28 window << Circle(
Position(10, 10)+baseVector,10, nsGraphics::KRed);
29 window << Circle(
Position(30, 10)+baseVector,10, nsGraphics::KRed);
34 float scale = size/(float)100;
35 window << Circle(
Position(50*scale, 50*scale)+baseVector, 50*scale, nsGraphics::KGray);
36 window << Triangle(
Position(35*scale, 50*scale)+baseVector,
Position(15*scale, 25*scale)+baseVector,
Position(15*scale, 75*scale)+baseVector, nsGraphics::KBlack);
37 window << Triangle(
Position(25*scale, 50*scale)+baseVector,
Position(10*scale, 25*scale)+baseVector,
Position(10*scale, 75*scale)+baseVector, nsGraphics::KGray);
38 window << Triangle(
Position(65*scale, 50*scale)+baseVector,
Position(85*scale, 25*scale)+baseVector,
Position(85*scale, 75*scale)+baseVector, nsGraphics::KBlack);
39 window << Triangle(
Position(75*scale, 50*scale)+baseVector,
Position(90*scale, 25*scale)+baseVector,
Position(90*scale, 75*scale)+baseVector, nsGraphics::KGray);
40 window << Rectangle(
Position(35*scale, 65*scale)+baseVector,
Position(65*scale, 72*scale)+baseVector, nsGraphics::KBlack);
44 float scale = size/(float)100;
45 window << Circle(
Position(50*scale, 50*scale)+baseVector, 50*scale, nsGraphics::KRed);
46 window << Rectangle(
Position(25*scale, 30*scale)+baseVector,
Position(45*scale, 40*scale)+baseVector, nsGraphics::KBlack);
47 window << Rectangle(
Position(55*scale, 30*scale)+baseVector,
Position(75*scale, 40*scale)+baseVector, nsGraphics::KBlack);
48 window << Rectangle(
Position(35*scale, 65*scale)+baseVector,
Position(65*scale, 72*scale)+baseVector, nsGraphics::KBlack);
52 float scale = size/(float)100;
53 window << Circle(
Position(50*scale, 50*scale)+baseVector, 50*scale, nsGraphics::KGreen);
54 window << Circle(
Position(35*scale, 35*scale)+baseVector, 10*scale, nsGraphics::KBlack);
55 window << Circle(
Position(65*scale, 35*scale)+baseVector, 10*scale, nsGraphics::KBlack);
56 window << Rectangle(
Position(35*scale, 65*scale)+baseVector,
Position(65*scale, 72*scale)+baseVector, nsGraphics::KBlack);
83 msp.
sp->setPosition(pos);
94 angry ?
">w<" :
".w.",
96 GlutFont::GlutFonts::BITMAP_TIMES_ROMAN_24,
97 Text::HorizontalAlignment::ALIGNH_CENTER
101 t.setPosition(t.getPosition()+
Position(0, t.computeHeight()));
107 window << Text(pos, text, color, font);
optional< nsGui::Sprite > sp
optional actual Sprite We need to use an optional to init the object through a function,...
void drawGodFace(int y, bool angry=false) const
display god's face
PixelManager(MinGL &window)
constructor the pixel manager class
void drawSprite(const MySprite &msp, const Position &pos) const
display a sprite on screen
virtual void drawPlayer(playerID pID, unsigned x, unsigned width, const nsGraphics::RGBAcolor &color) const
display a player on screen
void drawGodBench(int y) const
display god's bar
virtual void drawMissile(const Position &baseVector, unsigned width, const nsGraphics::RGBAcolor &color) const
display a missile on screen
void drawText(const Position &pos, const string &text, const RGBAcolor &color=nsGraphics::KWhite, Font font=Font::BITMAP_TIMES_ROMAN_24) const
display text on screen
virtual void drawInvaderB(const Position &baseVector, unsigned size, const RGBAcolor &color) const
display a type B invader on screen
virtual void drawHeart(const Position &baseVector) const
display a singular heart on screen
unsigned getScreenWidth() const
give the width of the screen
virtual void drawTorpedo(const Position &baseVector, unsigned width, const nsGraphics::RGBAcolor &color) const
display a torpedo on screen
virtual void drawInvaderA(const Position &baseVector, unsigned size, const RGBAcolor &color) const
display a type A invader on screen
MinGL & window
display window
virtual void drawInvaderC(const Position &baseVector, unsigned size, const RGBAcolor &color) const
display a type C invader on screen
Special entity known as "God"
nsGui::GlutFont::GlutFonts Font
#define PROJ_LENGTH_FACTOR
nsGraphics::Vec2D Position