diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2016-01-11 12:03:44 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2016-01-11 12:13:37 +0100 |
| commit | 9a6cdf08a8cd17acde43e61a1d530a9a7d7f2459 (patch) | |
| tree | 304fe736c37433e0a98f1eac07669c6a5ca544f2 /src | |
| parent | 5771023404488e955f1b2ceca5f2da0a31e2310c (diff) | |
| download | Multimedia-9a6cdf08a8cd17acde43e61a1d530a9a7d7f2459.tar.gz Multimedia-9a6cdf08a8cd17acde43e61a1d530a9a7d7f2459.zip | |
Add chessboard class
Diffstat (limited to 'src')
| -rw-r--r-- | src/glchessboard.cpp | 32 | ||||
| -rw-r--r-- | src/glchessboard.h | 22 |
2 files changed, 54 insertions, 0 deletions
diff --git a/src/glchessboard.cpp b/src/glchessboard.cpp new file mode 100644 index 0000000..afab9e8 --- /dev/null +++ b/src/glchessboard.cpp @@ -0,0 +1,32 @@ +#include "glchessboard.h" + +GLChessboard::GLChessboard(float width, float height) +{ + m_width = width; + m_height = height; +} + +void GLChessboard::createBoard() +{ + double fieldWidth = m_width / 8; + double fieldHeight = m_height / 8; + + for(int fieldY = 0; fieldY < 8; fieldY++) + { + for(int fieldX = 0; fieldX < 8; fieldX++) + { + if((fieldY+fieldX) % 2) + { + m_fields.append(GLCube(QVector3D(fieldX * fieldWidth, fieldY * fieldHeight, 0.0), QVector3D((fieldX + 1) * fieldWidth, (fieldY + 1) * fieldHeight, 0.0))); + } + } + } +} + +void GLChessboard::drawBoard(GLESRenderer *renderer) +{ + foreach(GLCube field, m_fields) + { + field.draw(renderer); + } +} diff --git a/src/glchessboard.h b/src/glchessboard.h new file mode 100644 index 0000000..c761aa8 --- /dev/null +++ b/src/glchessboard.h @@ -0,0 +1,22 @@ +#ifndef GLCHESSBOARD_H +#define GLCHESSBOARD_H + +#include "glcube.h" + +class GLChessboard +{ +public: + GLChessboard(float width, float height); + + void createBoard(); + + void drawBoard(GLESRenderer *renderer); + +private: + QVector<GLCube> m_fields; + + float m_width; + float m_height; +}; + +#endif // GLCHESSBOARD_H |
