Ir ao conteúdo
  • Cadastre-se

Ezert Aracksam

Membros Juniores
  • Total de itens

    11
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Eis as informações: CodeBlocks: 17.12 Compilador: o padrão que vem com Code Blocks Versão do Sistema Operativo: 64 Guia de instalação do SFML: https://youtu.be/fcZFaiGFIMA Versão do SFML: a mais recente Bem, apesar de eu sentir um pouco de vergonha de expor meu código (ele tá bem bagunçado, mas meu próximo passo era endireitar ele) vou postar ele aqui. Desculpem-me a bagunça, hehe... #include <iostream> #include <sfml\graphics.hpp> #include <string> #include <sstream> #include <cctype> using namespace sf; using namespace std; string roller (int in) { cout << "\nResultados Individuais:\n"; int numDados = in; int sucessos = 0; //número de dados. for (numDados; numDados > 0; numDados--) { int result = rand()% 6+1; switch (result) { case 4: sucessos++; break; case 5: sucessos++; break; case 6: sucessos++; numDados++; break; default: break; } cout << endl << result << endl; } string sSucessos = to_string(sucessos); return sSucessos; } int main () { const int x = 300; const int y = 375;//global x & y bool next = false; //faz trocar de página. bool firstRoll; //habilita a rolagem automática ao trocar de página string input; //número de dados. int nD; //o valor de string input será convertido para int nD. //Window: RenderWindow w; w.create(VideoMode(x, y), "Dice Roller", Style::Close | Style::Titlebar); w.setKeyRepeatEnabled(false); //Enunciado: Font arial; arial.loadFromFile("arial.ttf"); Text t; //enunciado Text tShadow; //sombra do enunciado Text n; //número central RectangleShape line (Vector2f(x/2, 3)); //linha abaixo do No central Text enter; //texto que descreve a função da tecla enter Text backs; //texto que descreve a função da telca backspace Text sT; //palavra "sucessos" //-------------------------------------------------------- //Program: while (w.isOpen()) { Event e; if (!next) { //Text t t.setFont(arial); t.setCharacterSize(18); t.setColor(Color(50, 50, 50)); t.setPosition(x/30, y/30); t.setStyle(Text::Style::Bold); t.setString("INSIRA O NÚMERO DE DADOS:"); t.setLetterSpacing(1); //Text tShadow tShadow.setFont(arial); tShadow.setCharacterSize(18); tShadow.setColor(Color(150, 150, 150)); tShadow.setPosition(x/30, y/27.3); tShadow.setStyle(Text::Style::Bold); tShadow.setString("INSIRA O NÚMERO DE DADOS:"); tShadow.setLetterSpacing(1); //Text n n.setFont(arial); n.setCharacterSize(120); n.setColor(Color(150, 150, 150)); n.setStyle(Text::Style::Bold); //RectangleShape line line.setPosition(x/4, y*4/9); line.setFillColor(Color(50, 50, 50)); //Text enter: enter.setFont(arial); enter.setCharacterSize(14); enter.setFillColor(Color(255, 100, 100)); enter.setPosition(x*1/4, y*5/9); enter.setStyle(Text::Style::Bold); enter.setString("Press Enter to Roll..."); while (w.pollEvent(e)){ switch (e.type) { case Event::Closed: w.close(); break; case Event::TextEntered: { if (e.text.unicode == '\b'){ //backsapace if (input.size() > 0) { input.erase(input.size() -1); if (input.size() < 2) { n.setPosition(x*3/8, y/12); } else { n.setPosition(x*2/7, y/12); } n.setString(input); } } else { char check = '\0'; check += e.text.unicode; //se check for um digito ele é adicionado a input. Além disso: lihttp://www.mnemosine.com.br/ojs/index.php/mnemosine/article/download/74/pdf_60mite de dois digitos em input. if (isdigit(check) && input.size() < 2){ input += check; if (input.size() < 2) { n.setPosition(x*3/8, y/12); } else { n.setPosition(x*2/7, y/12); } n.setString(input); } } break;} case Event::KeyPressed: if (Keyboard::isKeyPressed(Keyboard::Enter) && input.size() > 0) { next = true; n.setString("\0"); //limpa a string firstRoll = true; //habilita a primeira rolagem } break; default: break; } //switch e w.clear(Color(230, 225, 225)); w.draw(tShadow); w.draw(t); w.draw(line); w.draw(n); w.draw(enter); w.display(); }//while pollEvent } // if next else { stringstream(input) >> nD; //valor de input é transformado em int. //primeira rolagem: if (firstRoll) { firstRoll = false; //desativa string sucessos = roller(nD); int intSucessos; stringstream (sucessos) >> intSucessos; if (intSucessos >= 10 && intSucessos <= 99) { n.setPosition(x*2/7, y/12); } else if (intSucessos > 99) {w.close(); cout << "\n\nTeu resultado excedeu o limite de 99 sucessos!\nSucessos: " << intSucessos << endl;} else { n.setPosition(x*3/8, y/12); } n.setString (sucessos); } //first roll //Text t t.setFont(arial); t.setCharacterSize(18); t.setColor(Color(200, 200, 200)); t.setPosition(x/8, y/30); t.setStyle(Text::Style::Bold); t.setLetterSpacing(7); t.setString("RESULTADO:"); //Text tShadow tShadow.setFont(arial); tShadow.setCharacterSize(18); tShadow.setColor(Color(100, 100, 100)); tShadow.setPosition(x/8, y/27.3); tShadow.setStyle(Text::Style::Bold); tShadow.setLetterSpacing(7); tShadow.setString("RESULTADO:"); //Text n n.setFont(arial); n.setCharacterSize(120); n.setColor(Color(255, 255, 100)); n.setStyle(Text::Style::Bold); //Text sT sT.setFont(arial); sT.setCharacterSize(18); sT.setColor(Color(255, 255, 100)); sT.setPosition(x/3, y*31/72); sT.setStyle(Text::Style::Bold); sT.setOutlineColor(Color::Black); sT.setOutlineThickness(5); sT.setString("SUCESSOS"); //RectangleShape line line.setPosition(x/4, y*4/9); line.setFillColor(Color(200, 200, 200)); //Text enter enter.setFont(arial); enter.setCharacterSize(14); enter.setFillColor(Color(100, 100, 100)); enter.setPosition(x/6, y*5/9); enter.setStyle(Text::Style::Bold); enter.setString("Press Enter to Roll Again..."); //Text backs backs.setFont(arial); backs.setCharacterSize(14); backs.setFillColor(Color(100, 100, 100)); backs.setPosition(x/6, y*6/9); backs.setStyle(Text::Style::Bold); backs.setString("Press Backspace to Return..."); while (w.pollEvent(e)) { switch (e.type) { case Event::Closed: w.close(); break; case Event::KeyPressed: if (Keyboard::isKeyPressed(Keyboard::Enter)){ string sucessos = roller(nD); int intSucessos; stringstream (sucessos) >> intSucessos; if (intSucessos >= 10 && intSucessos <= 99) { n.setPosition(x*2/7, y/12); } else if (intSucessos > 99) {w.close(); cout << "\n\nTeu resultado excedeu o limite de 99 sucessos!\n Sucessos: " << intSucessos;} else { n.setPosition(x*3/8, y/12); } n.setString (sucessos); } else if (Keyboard::isKeyPressed(Keyboard::Backspace)) { next = false; //RETURN n.setString("\0"); //limpa a string input = "\0"; //limpa string } break; default: break; }//switch e w.clear(Color::Black); w.draw(tShadow); w.draw(t); w.draw(n); w.draw(line); w.draw(sT); w.draw(enter); w.draw(backs); w.display(); }//while pollevent } //next }//while w.isOpen }//main Sobre a alternativa à copiar as dlls: vou procurar aprender isso! Parece bem útil... adicionado 26 minutos depois Fiz um teste que talvez possa nos ajudar... Aparentemente o problema não tem a ver com o SFML... Eu criei um projeto "console application" e fiz um código "Hello World": #include <iostream> using namespace std; int main() { cout << "Hello world!" << endl; return 0; } A seguir, fui na pasta do projeto > bin > debug Na pasta debug, achei o executável, mas ao clicar nele uma janela de console abriu e fechou rapidamente. Então provavelmente tem algo de errado com o meu compilador, ou algo assim...
  2. Olá a todos. Sou iniciante em C++ e SFML. Criei um projeto no Code Blocks com linguagem C++ e SFML. Escrevi o código e dentro do Code Blocks (ou seja: ao clicar em "build and run") o programa roda perfeitamente. Bem, acontece que eu gostaria de acessar meu programa sem precisar entrar no Code Blocks; quero acessar meu programa clicando no .exe dele. Entrei no diretório do projeto, depois em bin e por fim em debug. Lá achei o .exe do programa. Ao clicar nele, apareceu uma mensagem de erro que me pedia para colocar algumas dll no mesmo diretório do .exe. Copiei as dll pedidas e as colei no diretório do .exe. Ao tentar novamente clicar no .exe, uma nova mensagem de erro apareceu: Eu não faço a menor ideia do que isso significa... Aqui estão algumas imagens para esclarecer o problema: A pasta com o projeto: Dentro da pasta bin: Dentro da pasta debug (já com as dll) Ao clicar em Roller_RPGuara.exe Grato a quem possa me ajudar...
  3. Olá a todos. Estou tentando fazer o código em anexo funcionar, mas por algum motivo não está funcionando... Deixo em anexo também um print da execução do programa. Infos: Minha IDE é CodeBlocks. grr.png está na mesma pasta que o projeto está salvo. #include <sfml\Graphics.hpp> using namespace sf; int main () { RenderWindow w; int x = 400; int y = 400; w.create(VideoMode(x, y), "Window"); while (w.isOpen()){ Texture t; t.loadFromFile("grr.png"); Sprite s; s.setTexture(t); w.draw(s); w.display(); Event e; while (w.pollEvent(e)){ switch (e.type) { case Event::Closed: w.close(); break; default: break; } } } return 0; } Grato desde já...
  4. Muito obrigado aos dois! O problema era mesmo o local indevido que estava a citação do vetor! Corrigi isso e está funcionando perfeitamente! Mas eu gostaria de saber por que não posso por dentro de For... É algo que explodiu minha cabeça quando aconteceu, porque entendi nada hehe. Essa pergunta (creio eu) é mais complexa e demorada de responder, então entendo caso não queiram tomar seu tempo para respondê-la. Muito obrigado pela ajuda!
  5. #include <iostream> using namespace std; int main () { int cel = 10; //número de células da array. for (int i = 0; i <= cel; i++) { int iAnt = i-1; //"i Anterior". int a [cel]; a[i] = i; //a[1] = 1; a[2] = 2; etc... cout << a[i] << endl; if (i > 0) cout << "Anterior: " << a[iAnt] << endl <<endl; else cout << "Sem anterior" << endl<< endl; } } Olá a todos! Estou estudando c++ e resolvi escrever o código em anexo para fins de aprendizado. O programa tem como objetivo fazer um output do valor de cada célula da matriz a seguido pelo valor da célula anterior. Aqui está um print da tela de execução do programa: Então. Como podem ver, até o output do valor da célula 8, ia tudo bem. Mas de repente começa a mostrar que o valor anterior é 48, quando deveria ser 7. As coisas pioram ainda mais: quando deveria aparecer Anterior: 8, aparece Anterior: -1842119973. etc... Estou entendendo nada... Por favor, me ajudem! Obrigado desde já...
  6. Uso Code Blocks sim! Funcionou! Muito obrigado Vangodp! : D
  7. Olá. Estou iniciando estudos em C++. Comecei a aprender sobre Range-Based For Loops. Fiz um programa de teste, mas por algum motivo deu erro quando tentei 'build' o programa (como se fala em português? Construir o programa?). O código está em anexo e o texto da caixa de 'Build Messages' está colado abaixo em negrito... Obs.: Eu uso Code Blocks ||=== Build file: "no target" in "no project" (compiler: unknown) ===| C:\Users\agwar\Documents\Codes\C++\20-08-18\for loop\for loop.cpp||In function 'int main()':| C:\Users\agwar\Documents\Codes\C++\20-08-18\for loop\for loop.cpp|8|warning: extended initializer lists only available with -std=c++11 or -std=gnu++11| C:\Users\agwar\Documents\Codes\C++\20-08-18\for loop\for loop.cpp|8|error: in C++98 'c' must be initialized by constructor, not by '{...}'| C:\Users\agwar\Documents\Codes\C++\20-08-18\for loop\for loop.cpp|9|warning: range-based 'for' loops only available with -std=c++11 or -std=gnu++11| ||=== Build failed: 1 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===| Agradeço desde já a ajuda #include <iostream> #include <string> #include <sstream> using namespace std; int main () { string c {"ola"}; for (char a: c) cout << a << "\n"; }
  8. Prezados membros. Tenho um monitor AOC e um laptop Dell. Uni os dois através de um cabo HDMI: Por algum motivo, o monitor AOC está com a imagem distorcida Já fui nas configurações e aparentemente o meu laptop está tentando aplicar configurações que não condizem com a realidade: Observação: o vídeo 2 é o AOC. Fui ver se não havia outras proporções disponíveis. Há 3 e são todas terríveis: O que faço para que o monitor AOC fique com a imagem correta? Grato desde já.
  9. Olá a toda comunidade! Pois bem, acabo de terminar o curso de JavaScript do Khan Academy. É um curso introdutório e bastante simples. Minha pergunta: como faço para usar JS fora do ambiente já preparado do Khan Academy? Tenho que colocar dentro de um código html? Ou tem outras formas de utilizá-lo? Sou leigo mesmo, hehe... Muito grato a todos desde já.
  10. Saudações a todos. Sou novo aqui no Fórum e total iniciante em programação. Iniciante nível "Tutorial de Java Script da Khan Academy" : P Bem: Tenho 18 anos e estou com muita vontade de começar a programar. Estou querendo mergulhar profundamente em estudos sobre essa área; me esforçar pra caramba...77 O problema é que recentemente uma pessoa da minha família (leiga em programação) disse que eu estou começando muito tarde. Disse algo como: Os japoneses começam aos 11 anos... Me parece algo meio bobo, mas fiquei com uma pulga atrás da orelha... Portanto venho aqui humildemente perguntar a vocês se é possível eu conseguir adquirir um bom futuro começando a programar agora... Está muito tarde? Grato a todos desde já : )

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×