From 6b9aaea4ed6ac39dfe82282007cfc1948f424f46 Mon Sep 17 00:00:00 2001
From: speedson <edsoncassiano0@gmail.com>
Date: Wed, 28 Oct 2020 10:19:43 -0300
Subject: [PATCH] first changes

---
 Makefile       |  51 ++++++++++++++++++++++++++
 bcr            | Bin 0 -> 20072 bytes
 bin/bcr.o      | Bin 0 -> 9904 bytes
 bin/main.o     | Bin 0 -> 5344 bytes
 data/teste.txt |  10 ++++++
 lib/bcr.h      |  30 ++++++++++++++++
 main.cpp       |  18 ++++++++++
 src/bcr.cpp    |  96 +++++++++++++++++++++++++++++++++++++++++++++++++
 ttt.txt        |  41 +++++++++++++++++++++
 9 files changed, 246 insertions(+)
 create mode 100644 Makefile
 create mode 100755 bcr
 create mode 100644 bin/bcr.o
 create mode 100644 bin/main.o
 create mode 100644 data/teste.txt
 create mode 100644 lib/bcr.h
 create mode 100644 src/bcr.cpp
 create mode 100644 ttt.txt

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..4da60d8
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,51 @@
+# Makefile Bar Chart Race
+
+# Project Name
+PROJ_NAME = bcr
+
+# Sources files (*.cpp)
+CPP_SOURCE = $(wildcard ./src/*.cpp)
+
+# Header files (*.h)
+H_SOURCE = $(wildcard ./lib/*h)
+
+# Objects files
+OBJ_FILE = $(subst .cpp,.o, $(subst src,bin,$(CPP_SOURCE)))
+
+# Compiler
+CC = g++
+
+# Flags for Compiler
+CC_FLAGS = -c	\
+		   -Wall	\
+		   -std=c++11
+
+# Remove Command
+RM = rm -rf
+
+# Commands
+
+all: objFolder $(PROJ_NAME)
+
+$(PROJ_NAME): $(OBJ_FILE) ./bin/main.o
+	@ echo 'Building executable file: $@. Compiler: $(CC)'
+	$(CC) -o $@ $^
+	@ echo ' '
+	@ echo 'To run the program use ./$(PROJ_NAME)'
+
+./bin/%.o: ./src/%.cpp ./lib/%.h
+	@ echo 'Building $<. Compiler $(CC)'
+	$(CC) $< $(CC_FLAGS) -o $@
+	@ echo ' '
+
+./bin/main.o: main.cpp $(OBJ_FILE)
+	@ echo 'Building $<. Compiler: $(CC)'
+	$(CC) $< $(CC_FLAGS) -o $@
+	@ echo ' '
+
+objFolder:
+	@ mkdir -p bin
+
+clean:
+	@ $(RM) ./bin/*
+	@ rmdir bin
diff --git a/bcr b/bcr
new file mode 100755
index 0000000000000000000000000000000000000000..0bd9c033ab1e34507508ba8e5ae208b14f998545
GIT binary patch
literal 20072
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

literal 0
HcmV?d00001

diff --git a/bin/bcr.o b/bin/bcr.o
new file mode 100644
index 0000000000000000000000000000000000000000..9cefc40fb8670fbe9a3ba0826fd334ac001c9251
GIT binary patch
literal 9904
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
L%!+h3(xLtj`z*Il

literal 0
HcmV?d00001

diff --git a/bin/main.o b/bin/main.o
new file mode 100644
index 0000000000000000000000000000000000000000..8d8bb300185995f913eeb93e70c8b19c46e718f4
GIT binary patch
literal 5344
zcmbVQZ)_Ar6ra1}Pf@@Mf(nA=j|wPj4_f}1Kw8=@+w`QDUWo)lrrYhd-FUZqx!Z$l
zlSW9X@lr3TBqSOWV+;}E7xaTBVuS`1gBtx{qV<b0MiY`^0^b^gIp5ozX@|L81zs{c
zGr#xV@4b05`{(XeHPIH0L<pA%*-PeT93`aZp}BFBH*6v+$qLW52Ih;Pq2Cf{OQ9Xq
zN`I!b6E})cLP}q}@lU0ql|DI+U0I#HFdr-~J_Z-9^!0V<h&DdvDMu%3wDB6PJoXWo
zUO-~4^!=<+d2GTX;y$O*XT0pO1MMA_NWdLWPP)B}Q=5-za>eM)2<Y0h@@bFQ537}a
z;(BoMBVN_YdoWKw+0tcg9G3t*SGCg59ytB(=N`g6SdN^MPt{4zU7DKSqm{1AhTs<7
z(z(%e%rlwu(n?cYr=9o`tNZeiD_Cr8^hRxI<aVhrGdglRQrLE4WTsLfq_Fvp%*!kM
zBpbbsFTxK!am^#Th;El~FR!1eR4PZVczcQTT4`iP8&_vE+$FYg;8dwZmT!S_bk4sP
zB}2szqU6`8R~?K|CHq@iUZ~sDYW7;XUAIfwuGDYcvDqJ>?IX+~GTcQX#oEZ~#S3dD
zAekos$A<DGUYeKIz7}m+vfwZnz?ADE!^wo_x$qsdTFw18!UP*i2KeUTfOBZ0u~<*U
zBSM~&r~_%o3%7~3&g#z~4&v34>yv&SzNY$$^_)j;L20WcMq<?<ATbhL#u!-;V!yBo
ze*lmOnZq#;l&7FY1Rjo~E=I7T)e<AfcBeGJGzuPAQxvae(Dy+@{8NT|wL$}s7<tei
zNY|M6^pHT$zP1|l@Q17LqKAm9nKOwI;UP8$Lq1{laC=GeCd}6h_3_RkU>`yY%5pLU
z{~Pcio;={oAR{ikuFE0Cby0k}`oeeUdBB6>wuj*3A^2Az_;d(f2c-#$n+U<rhv1)u
z;A@}+LHvh8a4Q6VD+FH^vaYis_LmTcTxIz##Qu*EoMd#%R*Y<x(8DP=5#OD)Ov5~8
z<xOfhcHYeu4A)ofqSSIM+rnu>oYK6jyOu!_vGlYx3^T{3y4^?nOy3XZ^_E5G{zT`#
z<^;GDdTBewh`@0m-q>tg8PDxS-PQ-p)<*Scuwol37)xhcTT1Pw-Oc+FDn;{@yOUC*
zSd7Qx+j{jp<OJa@d!XG&x$(F$sOPAg(=9jOZm208E^2E$ED$PMUs7^rze4Fiu}HIK
zF7Mc|K6i*7tq;tuC9dKkF_CzKpMcd5DVTaDC<PVllO34bcG~XbX=m27Gftm*e@g+f
z;F`tjXLrU_tz^=;hYWXGdFnt~K6OXR-OZNeKn<&ls%|%(e$O`L<^nDJvUlN{8564y
z>|;GuQ#)x__%@~*XsVHR$Em8q8d7e9;S~HcnZCPVPF1judx&P*ed)ke3(Jur?C{T}
zlg_Kjwyu<uqL?|vysPu!pU#8!F$?acE;C=qu(Pqtg5v`9GaK6Brt^26_T?Qq2zOmN
z(8%Y4yF;hCYZl?=W%4ZR@w;OcwA=7$g_0ET)dEfh9KT7p{jh+q5%7|LuNCn31sva1
zoaeHD*9rKK497>^Isu<zIOe}zz<+1>7U(w!_+Jc1`;7t~gXb;^;wz!?e3l6~ew%Q7
zt$;r&;0*#U^0WxJ$kQ$0A`cbtrv?5p!?6ySE6?YYV82Pg-xlmQ3;25iF7ljZIMxjt
z=RYs-<C)<&{#Zhh>*k~WZ!gT1e{YHSGkgMl9UG%9|As)QL%<(rW9)j^811ofvDg5y
zMI40wbpb~m|9&|q;j?)v`Js%f_Ywsj8h$^>M>#XCD{vRNMCsFAohZHeJW+CvKbh4k
zf$uhag((AuLCvCJW?c&0aLdA*1~~CaP4!$(A7TJ9qDo0ShMrdb>y4xsP9|g8kdy7W
zrn3LQ!L9ISHeO*&<{<6Q>F@+m269dz%T|5=-7nx;{gq2d6Qf+r`sL8$_Y$5D6yAsV
zCwwy^`s2QHKi<~?hDTEV#c>EQlyBL2^=G~<A7hWtG~{Z6CdwfD3DAUx1O)SkPo~*3
z$<I69lNbVZqHJJ(B8For9r7Gtc+SK8WqWxZXPk049$&VX=X;s|0*PQFoAcifVCIQr
zMs@@0)lX8KV?PCWov?nmPHZR~KLTUSNpdGG48UihD02Sz0>l4v<ofk6e;$u>@Hy`t
zPz3G&WI+CSB)A{Xe+)3pDJCso@PFciizmn78dSfjfcOZ>@jnI(<JUtICClRDJ6IH6
zKi*#eB_E4+WobQJC)@tO{AKeA2265C*7N*1{0$6(>VK21e}Wm}`N8K5_viJ;eB{{Z
xl4J*>4#`3Ae;aJFKfW8}vjY&xvcDv5NlJPBn3H6J?&LTgN|4{Y>)b{5{})|5vaJ9B

literal 0
HcmV?d00001

diff --git a/data/teste.txt b/data/teste.txt
new file mode 100644
index 0000000..96beb6a
--- /dev/null
+++ b/data/teste.txt
@@ -0,0 +1,10 @@
+teste0
+teste1
+teste2
+teste3
+teste4
+teste5
+teste6
+teste7
+teste8
+teste9
diff --git a/lib/bcr.h b/lib/bcr.h
new file mode 100644
index 0000000..2650a7b
--- /dev/null
+++ b/lib/bcr.h
@@ -0,0 +1,30 @@
+#ifndef BCR_H
+#define BCR_H
+
+class AnimationManage{
+
+	private:
+		int m_frameRate;
+		int m_numberOfBar;
+		std::string m_fileName;
+
+	public:
+		AnimationManage(int frameRate=24, int numberOfBar=5);
+		
+		void setAnimationManage(int frameRate, int numberOfBar);
+		void setFrame(int frameRate);
+		void setNumberOfBar(int numberOfBar);
+		void setFileName(std::string fileName);
+
+		int getFrame(){ return m_frameRate; }
+		int getnumberOfBar(){ return m_numberOfBar; }
+		std::string getFileName(){ return m_fileName; }
+
+		//Nessa função eu preciso abrir o arquivo apartir da linha de commando, tratando os erros
+		//erros: arquivo nao encontrado, parametros invalidos
+		void initialize(int argc, char *argv[]);
+};
+
+void teste();
+
+#endif
diff --git a/main.cpp b/main.cpp
index ad26e9f..7205c6e 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,7 +1,25 @@
 #include <iostream>
+#include <fstream>
+#include <string>
+
+#include "lib/bcr.h"
 
 int main(int argc, char *argv[]){
 
+	AnimationManage animation;
+	std::ifstream file(argv[1]);
+	std::string st;
+
+	animation.initialize(argc, argv);
+
+	if(file.is_open()){
+		
+		while(!file.eof()){
+			file >> st;
+			std::cout << st << std::endl;
+		}
+	}
+
 // First Scope
 //	Arquitetura gameloop
 //	Gerenciador jogo
diff --git a/src/bcr.cpp b/src/bcr.cpp
new file mode 100644
index 0000000..2dbac54
--- /dev/null
+++ b/src/bcr.cpp
@@ -0,0 +1,96 @@
+#include <iostream>
+#include <string>
+
+#include "../lib/bcr.h"
+
+void teste(){ std::cout << "TESTE" << std::endl; }
+
+//Construct
+AnimationManage::AnimationManage(int frameRate, int numberOfBar){
+	setAnimationManage(frameRate, numberOfBar);
+}
+
+//start sets
+void AnimationManage::setAnimationManage(int frameRate, int numberOfBar){
+	m_frameRate = frameRate;
+	m_numberOfBar = numberOfBar;
+}
+
+void AnimationManage::setFrame(int frameRate){
+	m_frameRate = frameRate;
+}
+
+void AnimationManage::setNumberOfBar(int numberOfBar){
+	m_numberOfBar = numberOfBar;
+}
+
+void AnimationManage::setFileName(std::string fileName){
+	m_fileName = fileName;
+}
+//end sets
+
+void AnimationManage::initialize(int argc, char *argv[]){
+
+	std::string firstArgument;
+	std::string secondArgument;
+
+	std::cout << "argc: " << argc << std::endl;
+
+	if(argc == 1){// Caso o user nao passe argumentos retornar erro
+
+		std::cout << "Sem parametros validos" << std::endl;
+
+	}else if(argc == 2){//Caso o user passe apenas o nome do arquivo: carregar valores padroes
+
+		setFileName(argv[1]);
+		std::cout << "file: " << getFileName() << std::endl;
+
+	}else if(argc == 3){//parametros digitados mas invalidos
+		
+		std::cout << "Faltam parametros" << std::endl;
+
+	}
+	else if(argc == 4){//Caso o user digite apenas um parametro
+
+		firstArgument = argv[2];
+
+		if(firstArgument.compare("-b") == 0){//Check se o user quer mudar a qnt de barras
+
+			std::cout << "Bars Command Valid" << std::endl;
+			//TODO Checkar se argumento 3(argv[3]) é um inteiro
+
+		}else if(firstArgument.compare("-s") == 0){//Check se o user quer mudar a quantidade de frames
+
+			std::cout << "Frames Command Valid" << std::endl;
+			//TODO Checkar se argumento 3(argv[3]) é um inteiro
+
+		}else{//Se o user Digitar algum comando invalido
+
+			std::cout << "Invalid Command" << std::endl;
+		}
+	}else if(argc == 5){//Segundo parametro invalido
+
+		std::cout << "Segundo parametro invalido" << std::endl;
+
+	}else if(argc == 6){//tamanho esperado
+
+		firstArgument = argv[2];
+		secondArgument = argv[4];
+		//Check se Ambos argumentos sao validos
+		if(firstArgument.compare("-b") == 0 || firstArgument.compare("-s") == 0){
+			if(secondArgument.compare(firstArgument) != 0){//Check se os args sao diferentes
+				if(secondArgument.compare("-b") == 0){
+					std::cout << "primeiro arg: -s segundo arg: -b " << std::endl;
+				}else if(secondArgument.compare("-s") == 0){
+					std::cout << "primeiro arg: -b segundo arg: -s " << std::endl;
+				}else{
+					std::cout << "Comandos Invalidos" << std::endl;
+				}
+			}else{
+					std::cout << "Mesmo comandos" << std::endl;
+			}
+		}else{//Check se os comandos sao invalidos(cmds inexistentes ou errados)
+			std::cout << "Comandos invalidos" << std::endl;
+		}
+	}
+}
diff --git a/ttt.txt b/ttt.txt
new file mode 100644
index 0000000..1dc98cb
--- /dev/null
+++ b/ttt.txt
@@ -0,0 +1,41 @@
+Duvidas:
+Se o usuario digitar um comando valido e outro invalido "-b 10 -s a", eu devo considerar o comando valido ou discartar todos os comandos
+
+
+eDtalhes barchart project
+
+./bcr ../data/arquivo.txt -s <fps> -b <qnt>
+-s velocidade
+-b quantidade de barras
+
+Tela Welcome
+
+Informações: Se conseguiu acessar o arquivo
+
+Welcome to the bar Chart Race, v1.0
+Copyright (C) 2020, Edson Cassiano
+
+>>> Preparing to read input file "../data/arquivo.txt"...
+
+>>> Processing data, please wait.
+>>> Input file sucessfuly read.
+
+>>> We have "519" charts, each with 12 bars.
+
+Limite de barras - 12 barras
+default 5 barras
+
+Classes
+    AnimationManeger - faz tudo - cria, ordena, captura printa e joga fora
+    banco de dados -
+    barchart - 1 unico grafico
+
+Lib de calcular os frames <thread>
+
+Para a leitura do arquivo siga os seguintes passos:
+Eu tenho que ler cada subgrupo linha tamanho do sub grupo
+Cada subgrupo tem o campo 0,1,2,3,4
+0(Contagem)
+1(Titulo da barra)
+2(---)
+3(Categoria)
-- 
GitLab