Page MenuHomePhabricator (Chris)

No OneTemporary

Authored By
Unknown
Size
7 KB
Referenced Files
None
Subscribers
None
diff --git a/assets/shaders/dark.frag b/assets/shaders/dark.frag
index 08c47ca..d8a58a0 100644
--- a/assets/shaders/dark.frag
+++ b/assets/shaders/dark.frag
@@ -1,10 +1,10 @@
uniform sampler2D source;
void main()
{
vec4 src = texture2D(source, gl_TexCoord[0].xy);
// https://en.wikipedia.org/wiki/Relative_luminance
float luminance = src.r * 0.2126 + src.g * 0.7152 + src.b * 0.0722;
- src *= clamp(luminance - 0.5, 0.0, 1.0) * 2;
+ src *= clamp(luminance - 0.5, 0.0, 1.0) * 2.0;
gl_FragColor = src;
}
diff --git a/card.h b/card.h
index adbf0e2..89d177b 100644
--- a/card.h
+++ b/card.h
@@ -1,16 +1,16 @@
#ifndef CARD_H
#define CARD_H
#include <string>
class Card
{
public:
Card();
int id;
- int elementNumber;
+ int elementNumber; //location
int amount;
std::string cardType;
int cardTypeInt;
};
#endif // CARD_H
diff --git a/cardsdeck.cpp b/cardsdeck.cpp
index a7e9242..3b4a753 100644
--- a/cardsdeck.cpp
+++ b/cardsdeck.cpp
@@ -1,134 +1,136 @@
#include "cardsdeck.h"
CardsDeck::CardsDeck(TextureHolder *textures, sf::Font *gameFont)
{
std::array<std::array<int,2>,4> cardsPos = {
{
{1087,95}, {1225, 95}, {1225, 277}, {1087, 277}
}
};
this->textures = textures;
for (int i=0;i<=3;i++)
{
// spriteCardBases[i].setTexture(this->textures->textureCardBases[i]);
spriteCardBases[i].setPosition(cardsPos[i][0],cardsPos[i][1]);
textPileTitle[i].setFont(*gameFont);
textPileTitle[i].setCharacterSize(10);
textPileTitle[i].setPosition(cardsPos[i][0]+10,cardsPos[i][1]+100);
- for (int j=0;j<3;j++)
+ for (int j=0;j<efc::cardsDistribution.size();j++)
{
- std::cout << j << std::endl;
- cardsList[i].cardsPile[j].cardType = efc::cardsTypes[j];
- cardsList[i].cardsPile[j].cardTypeInt = j;
- spriteCardBases[i].setTexture(this->textures->cardsTextures[i][j]);
+ int cardTypeInt = efc::cardsDistribution[j];
+ std::cout << cardTypeInt << std::endl;
+
+ cardsList[i].cardsPile[j].cardType = efc::cardsTypes[cardTypeInt];
+ cardsList[i].cardsPile[j].cardTypeInt = cardTypeInt;
+ spriteCardBases[i].setTexture(this->textures->cardsTextures[i][cardTypeInt]);
}
cardsList[i].shufflePile();
nextCard(i);
// setTitles();
}
}
void CardsDeck::draw(sf::RenderTarget& target, sf::RenderStates states) const
{
states.transform *= getTransform();
for (int i=0;i<=3;i++)
{
if (cardsList[i].invisibleLeft==0.0f)
{
target.draw(spriteCardBases[i], states);
target.draw(textPileTitle[i], states);
}
}
}
void CardsDeck::setTitles(int number)
{
textPileTitle[number].setString(efc::cardsTypes[number]);
int val = cardsList[number].currentCard;
std::cout <<number<< " << hjehe >> " << getTitle(number) << " " << val << std::endl;
spriteCardBases[number].setTexture(textures->cardsTextures[number][val]);
}
void CardsDeck::setSprites(int number)
{
// for (int i=0;i<=3;i++)
// {
// int val = getCardTypeInt(i);
// std::string title = getTitle(i);
// std::cout <<i<< " << hjehe >> " << val << std::endl;
// sf::Texture tmpText = textures->cardsTextures[i][val];
// spriteCardBases[i].setTexture(tmpText);
// }
}
void CardsDeck::setFonts(sf::Font *gameFont)
{
for (int i=0;i<=3;i++)
{
textPileTitle[i].setFont(*gameFont);
}
}
void CardsDeck::nextCard(int pileNumber)
{
cardsList[pileNumber].invisibleLeft = 0.75f;
int currentCard = getCurrentCard(pileNumber);
currentCard += 1;
std::cout << currentCard << " ccard" << std::endl;
if ((currentCard>3) || (currentCard<0))
currentCard = 0;
cardsList[pileNumber].currentCard = currentCard;
setTitles(pileNumber);
// setSprites(pileNumber);
}
int CardsDeck::getCurrentCard(int pileNumber)
{
int currentCard = cardsList[pileNumber].currentCard;
return currentCard;
}
std::string CardsDeck::getTitle(int pileNumber)
{
std::string currentText = efc::cardsTypes[getCardTypeInt(pileNumber)];
return currentText;
}
int CardsDeck::getCardTypeInt(int pileNumber)
{
int result = cardsList[pileNumber].cardsPile[getCurrentCard(pileNumber)].cardTypeInt;
return result;
}
void CardsDeck::update(sf::Time deltaTime)
{
for (int i=0;i<=3;i++)
{
if (cardsList[i].invisibleLeft>0.0f)
{
cardsList[i].invisibleLeft -= deltaTime.asSeconds();
}
if (cardsList[i].invisibleLeft<0.0f)
{
cardsList[i].invisibleLeft = 0.0f;
}
}
}
diff --git a/cardsdeck.h b/cardsdeck.h
index da28c8e..d80a6b8 100644
--- a/cardsdeck.h
+++ b/cardsdeck.h
@@ -1,40 +1,47 @@
#ifndef CARDSDECK_H
#define CARDSDECK_H
#include <array>
#include <SFML/Graphics.hpp>
#include <iostream>
#include "textureholder.h"
#include "cardslist.h"
namespace efc {
-const static std::array<std::string, efc::PILE_SIZE> cardsTypes = {
+const static std::array<std::string, 4> cardsTypes = {
"stop", "card", "diamond", "diamond x 2"
};
+const static std::array<int,32> cardsDistribution = {
+ 0,0,0,0,0,0,0,0,
+ 1,1,1,1,1,1,1,1,
+ 2,2,2,2,2,2,2,2,2,2,
+ 3,3,3,3,3,3
+};
+
}
class CardsDeck: public sf::Drawable, public sf::Transformable
{
public:
CardsDeck(TextureHolder *textures, sf::Font *gameFont);
std::array<CardsList, 4> cardsList;
std::array<sf::Sprite, 4> spriteCardBases;
std::array<sf::Text, 4> textPileTitle;
TextureHolder *textures;
void draw(sf::RenderTarget &target, sf::RenderStates states) const;
// void setTitles();
void setSprites(int number);
void setFonts(sf::Font *gameFont);
void nextCard(int pileNumber);
int getCurrentCard(int pileNumber);
std::string getTitle(int pileNumber);
void update(sf::Time deltaTime);
int getCardTypeInt(int pileNumber);
void setTitles(int number);
};
#endif // CARDSDECK_H
diff --git a/cardslist.cpp b/cardslist.cpp
index 2364b0a..a097054 100644
--- a/cardslist.cpp
+++ b/cardslist.cpp
@@ -1,32 +1,32 @@
#include "cardslist.h"
CardsList::CardsList():
currentCard(0),
invisibleLeft(0)
{
}
CardsList::CardsList(int element)
{
- amount = 32;
+ amount = 32; //TODO: ???
this->element = element;
currentCard = 0;
invisibleLeft = 0.0f;
}
void CardsList::shufflePile()
{
std::srand(std::time(0));
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
shuffle (cardsPile.begin(), cardsPile.end(), std::default_random_engine(seed));
}
//void CardsList::addCard(Card card)
//{
//}
diff --git a/cardslist.h b/cardslist.h
index d43b6f5..44973a3 100644
--- a/cardslist.h
+++ b/cardslist.h
@@ -1,38 +1,38 @@
#ifndef CARDSLIST_H
#define CARDSLIST_H
#include <vector>
#include <array>
#include <iostream> // std::cout
#include <algorithm> // std::shuffle
#include <random> // std::default_random_engine
#include <chrono> // std::chrono::system_clock
#include "card.h"
namespace efc {
- const static int PILE_SIZE = 4;
+ const static int PILE_SIZE = 32;
}
class CardsList
{
public:
CardsList(); // To create an array of CardsList
CardsList(int element);
int amount;
// std::vector<Card*> sd;
/*!
* \brief element Number of the element
*/
- std::array<Card, 4> cardsPile;
+ std::array<Card, efc::PILE_SIZE> cardsPile;
int currentCard;
int element; /*!< Number of the element */
float invisibleLeft;
void shufflePile();
};
#endif // CARDSLIST_H

File Metadata

Mime Type
text/x-diff
Expires
Wed, Jun 17, 9:16 PM (1 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
71037
Default Alt Text
(7 KB)

Event Timeline