Ir para conteúdo
Fórum Script Brasil

roccoC/C++

Membros
  • Total de itens

    496
  • Registro em

  • Última visita

Tudo que roccoC/C++ postou

  1. Jogo da velha escrito em linguagem c e sem nenhuma biblioteca gráfica, só algumas funções da API do windows para acionar os cliques do mouse no console, (cmd).
  2. Este jogo da velha criado por mim, que levou o título de: O jogo da velha I, é o primeiro de alguns que pretendo criar, as idéias são muitas más falta tempo para programar, quem programa sabe disto, as vêzes nos deparamos com obstáculo durante a programação que pode levar horas para desenrolar. Entre outros que quero criar, pretendo fazer um com o clique do mouse e outro com as setas do teclado, más sempre colorindo os nove quadrados da interface como é este aqui. Agora o que eu observei é que os códigos de jogo da velha em c são muito parecido, me descupem más parece mais um control c e control v, e não era isto que eu queria, meu desejo era de aplicar minha própria lógica e foi isto que fiz, um código todo diferente exceto na parte de testes das jogadas, onde testamos se houve vencedor. Um pouco sobre o funcionamento: Ao contrário de outros jogos da velha, este aqui não usei matriz do tipo char 3 x 3, más usei vetores bem organizados. O primeiro preenche os quadrados, da tabela, que serve de guia para a escolha das posições aleatoriamente é claro. O segundo recebe as côres azul. O terceiro recebe as côres vermelha. O quarto é temporário e recebe os números do primeiro armazenando as informações das posições escolhidas, e testa constantemente se houve uma tentativa de inserir um número já armazenado, rejeitando com firmeza e forçando sempre o retorno ao ponto inicial de entrada de dados. O início das jogada são escolhidas por sorteio, o programa escolhe quem iniciará o jogo, ordenando a pessoa escolhida a dar início no jogo, informando depois que a tal pessoa escolhida deu início ao jogo. Estes nomes são meu primeiro nome e meu sobrenome que são escolhidos por sorteio num gerador que gera sempre zero e um, se for zero chama a posição zero da matriz de char, se for um chama a posição um da mesma, isto foi importante fazer para que um jogador não repita sempre o início da partida ou a mesma côr sempre. Os vetores de peso são constantemente resetados, se não fizer isto temos problemas de funcionamento. Protegi muito bem a entrada para que números acima de nove não passem nem abaixo de um, caracteres ou acentos também são rejeitados.
  3. Baseado em outros programas no qual mostrei o funcionamento em vídeo criei este aqui: "O jogo das côres". A finalidade do programa é de reunir três côres iguais na mesma linha ou na mesma coluna ou nas diagonais da tabela, e quando isto acontece o programa retorna as seguintes mensagens: Sequência premiada com a côr "Uma côr". Local ==> Linha " alguma linha". "Você ganhou dez mil reais". Como o grau de dificuldade é muito alto, limitei em 9 tentativas por jogo. Básico do funcionamento: Três vetores foram suficiente para nosso programa, sendo um pré_definido com números de 1 a 9 e que ficam visíveis na tabela, e um outro dibâmico que recebe a carga de uma rotina geradora de números aleatórios onde a repetição de alguns algarismo é fundamental para o funcionamento de nosso programa. Estes números ficam entre 1 e 9 e são responsáveis pelo chamamento das côres. O show aqui é ter a certeza que num próximo jogo as côres foram trocadas de posição não deixando o usuário comparar um jogo com outro, nisto está a inteligência do programa que tem ainda a capacidade de saber quando um mesmo número está sendo digitado por mais de uma vez graças a um terceiro vetor que trabalha em modo temporário apenas para armazenamento dos números digitados fazendo comparações com cada número que está sendo lançado pela entrada de dados. Quando um novo jogo é iniciado este importante vetor é descarregado,acreditam que apanhei algumas horas nisto? Sabia que alguma variável deveria ser resetada más não me vinha na idéia de qual, más depois de alguns chingamentos e de algumas xícaras de café resetei o dito vetor e o programa seguiu seu curso normal. As comparações das côres onde se verifica a existência de uma sequência de três côres consecutivas são testadas por uuma cadeia longa de ifs, acreditem que isto me custou algumas centenas de linha de código para que o funcionamento dos testes saiam precisos. Em fim, se eu for falar de cada trecho de código do programa aqui na descrição quem iria lê? ficaria longo e cansativo e fugiria do propósito adotado. https://www.youtube.com/watch?v=XC6nfj-3jtc
  4. Atrás de cada um dos números visíveis nos retângulos da tabela onde mais parece uma matriz más não é, temos uma côr e um número escondido, que são mostrados na chamada de cada posição do vetor. Este vetor opera permitindo que se escolha suas posições em modo aleatório, e cada retângulo da tabela mostra uma côr e um número diferente entre 1 e 9, estes números embutidos são os responsáveis pela chamada da côr correspondente. Vale apena soltar a imaginação e fazer coisas incríveis com isto. Pena que o tempo é tão curto para programar. Veja este vídeo abaixo:
  5. Geramos doze côres diferentes para cada posição, pode ver na tabela que temos também doze posições, só que apenas uma entre as dozes côres geradas são chamadas de cada vez para o preenchimento da posição. o funcionamento é completamente aleatório e automático, os retângulos são coloridos normalmente sem que nenhuma côr se repita. Pensam que foi fácil fazer isto? É possível fazer coisas incríveis com isto mesmo sendo no cmd do windows. Veja abaixo uma imagem do programa: Assistam ao vídeo no link abaixo: https://www.youtube.com/watch?v=nJ4n88NBl4M&feature=youtu.be
  6. Agora otimizado e customizado este vetor totalmente aleatório ficou mais bonito, forcei a função sorteia (...);gerar duas sequências aleatórias e sem repetições, assim, uma preenche a tabela que parece uma matriz porém não é, e a outra se transforma em posições para o vetor dinâmico, assim os números gerados pela primeira sequência que preencheu a a tabela são chamados aleatoriamente pelos números da segunda. Então as contagens segue normalmente entre "zero e onze", e no final, de cada apresentação são gerados outras duas sequências diferentes que uma preenche novamente a tabela e a outra chama novamente cada número correspondente da posição, limitei em "três", apresentações sequenciais aleatórias, para não estender muito o vídeo, más poderia colocar dezenas deapresentação e deixá-lo rodando quanto tempo fosse necessário para a chegada do fim, que termina imprimindo meu e-mail e meu nome. Este código não está disponível para visualização, más se realmente lhe interessa entre em contato comigo. https://www.youtube.com/watch?v=AI46q6ScPBo
  7. Sabemos que esta interface nos lembra uma matriz, más não é, o que temos aqui na verdade é um vetor randômico contendo elementos inteiros na faixa de 0 a 11, esta aparência de matriz, é por conta da tabela que criei, onde usei cuidadosamente a função gotoxy();da conio.h dentro da declaração de alguns ifs, e o resultado foi agradável a vista. O que chama à atenção aqui é o jeito de pesquisar, é pedido ao usuário uma posição na faixa de 0 e 11, e o programa retorna o número que foi gerado e que ocupou a tal posição pedida. Números digitados acima da faixa máxima são rejeitados, e só dois negativos são aceitos pelo programa. Mais detalhes sobre o programa pode ser coletado assistindo o vídeo. Já o código só estará disponível à quem solicitar, à exemplos de outros links que postei sem o código do programa. https://www.youtube.com/watch?v=mJaMxv-Zd-M&feature=youtu.be
  8. Este programa escolhe automaticamente as posições de uma matriz para receber caracteres pela entrada de dados, isto mesmo, o computador é quem faz a escolha da posição da matriz que irá receber o caractere digitado pelo usuário, imagine o quanto é útil este programa, para quem gosta de programar jogos, precisa muito destes tipos de recursos, temos muitas vêzes de deixar o computador fazer determinadas operações. https://www.youtube.com/watch?v=YMgVN6dZEe4
  9. Já vi muitos iniciantes em c perguntando como criar um programa para fazer sorteios de um nome dentro de uma matriz aleatoriamente e sem repetições dos mesmos. Sortear apenas um nome entre dez aleatoriamente não seria tão complicado, agora fazer sorteio de todos os dez nomes um por um sem repetir nenhum, já é algo mais difícil, e é isto que faz este programa, que após escolher todos os nomes em modo aleatório, imprime em outra matriz a formação modificada. https://www.youtube.com/watch?v=6HP5g3lKkRM
  10. Nunca vi um programa assim, más imagino na minha cabeça que você teria de colher a palavra armazenando-a num vetor de string, embaralhar usando a função rand (); da biblioteca padrão do c, a stdlib.h, e para que as sequências venha a ser diferentes deve-se usar obrigatoriamente a função srand ( ); que usa como parâmetro uma função da biblioteca time.h, dentro de um ciclo while, que pode ser finalizado no fim de todas as sequências diferentes. ficaria mais ou menos assim: char vet [ 50 ]; do{ int r = 0; int t;// uma variável temporária srand ( time ( NULL ) ); scanf ( que leia também espaços ); ou fgets ( );para colher a palavra for( ... ){}//Um laço para percorrer o vetor r = rand ( ) % strlen ( tamanho da palavra ); t = vet [ ]; vet [ ] = temp; for ( ... );//Este laço para exibir a palavra embaralhada }while ( 1 );//Para repetir em busca de outra sequência diferente da palavra. Para travar uma letra, basta omití-la do embaralhamento, mais correto seu programa ter a capacidade de eliminar um caracter qualquer antes da entrada na função rand(); e posicioná-lo depois no local correto, esta é na minha opinião a parte mais complicada, más nada impossível de se fazer. Estas são minhas dicas, não vou testar o programa do link porque estou sem tempo agora. Abraço, boa sorte e bons estudos. "Como não sabia que aquilo era impossível de fazer, foi lá e fez"
  11. Transformar um vetor em matriz usando a função memcpy, é algo muito fácil de se fazer. A função memcpy(); faz parte do arquivo de cabeçalho string.h. Com o recebimento de seus três parâmetros que são: memcpy ( *Mat, A, sizeof ( *Mat ) * 3 ); *Mat => destino. A => origem. 3 => número de bytes a serem copiados. Esta função está ápta a copiar blocos de memória, por isto não importa o tipo de dados armazenados a exemplos de outras funções. Neste código trago um claro exemplo de como utilizar esta importante função do C. O programa é um verdadeiro achado para iniciantes que querem aprender a gerar números aleatórios sem repetições de dígitos, onde nove sequência diferentes são geradas e é finalizado no fim da nona sequência. Veja abaixo uma imagem do programa em execução: Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/12/memcpy-de-vetor-para-matriz.html
  12. O c é uma linguagem estruturada e cheia de recursos, matrizes por exemplo é uma estrutura de dados acima de duas dimensões, lembro aos iniciantes que matrizes devem ser declaradas com o mesmo tipo de dado, e quando estão armazenadas na memória, são em formas de uma tabela, sendo assim, criei este programa, que imprime uma tabela no qual é preenchida com valores inteiros já que a matriz é do tipo int. No que vamos preenchendo a matriz, o c já vai marcando automaticamente a diagonal principal, com a cor vermelha para seus valores, e os demais valores de outras posições são marcados em azul. Porventura este não é um ótimo código indicado a iniciantes desta importante linguagem de programação? Veja abaixo uma imagem do programa em execução: Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/11/matriz-marcando-e-somando-diagonal.html
  13. Olá brunoandrad !!Pra usar este código no arduino teria que modificá-lo todo, pra ser sincero não entendo nada de arduíno más sei que a programação para eletrônica, com pics etc.. usa outras bibliotecas e códigos, a lógica pode ser aproveitada sem problema. Por enquanto este programa e mais estes dois dos links abaixo não estão disponíveis para visualização Tavez mais para frente eu posto o código no blog.
  14. Algumas vêzes precisamos preencher uma matriz em posições aleatórias, isto é, escolher exatamente onde inserir o elemento aceito pelo tipo da matriz. Isto é perfeitamente possível e muito útil. Num jogo da velha por exemplo as posições são escolhidas deste modo. Neste exemplo mostro como isto pode ser feito, num código bem identado, com recursos da biblioteca conio.h, inserindo coordenadas na tela com os textos bem posicionados, com côres e fundo bem definido. Código indicado aos interessados por linguagem c.
  15. Respondi nas pressas acho este exemplo do link abaixo melhor pra você que o outro postado acima: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-lendo-e-calculando-medias.html
  16. Olá brunoandrad !!Pra usar este código no arduino teria que modificá-lo todo, pra ser sincero não entendo nada de arduíno más sei que a programação para eletrônica, com pics etc.. usa outras bibliotecas e códigos, a lógica pode ser aproveitada sem problema.
  17. Vou te passar um link de um código pra te servir de exemplo, inclusive já coloquei seu arquivo txt nele e compilou normalmente, precisa só fazer os ajustes. http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-inserindo-dados-em-struct.html Este exemplo é um dos quase 260 posts de códigos em linguagem c que tenho no meu blog. Abraço.
  18. Olá Tiago! Este e muitos outros links de códigos que eu postei estão quebrados, nem sei porque aconteceu isto, más vou procurar um tempo e vou tentar consertar. Este que você precisa te passo abaixo: http://codigosfontes-ccplus-plus.blogspot.com.br/2014/03/calculos-para-resistores.html
  19. Este simulador de farol criado em linguagem c é uma boa alternativa para um trabalho acadêmico final. Não há nada de complicado no código que usa funções com parâmetros, onde os valores são colocados na chamada. Simples e funcional, este programa impressiona pela simulação tão próxima de um farol de rua, os tempos podem ser controlados a vontade pelo programador, já os mais experientes podem fazer alterações nas janelas para obterem outros tamanhos e formas. Código indcado a iniciantes avançados em c.
  20. Algumas vêzes precisamos lê um arquivo em um diretório e salva-lo em outro, e isto pode ser feito facilmente seguindo o exemplo deste programa. Duas matrizes de string foram alocadas dinâmicamente para receber a carga de dois ponteiros para arquivo contendo um código de um programa em c. Veja abaixo imagens do programa em execução: Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/11/arquivo-lendo-e-salvando-em-outro.html
  21. Separar dígitos contido numa frase ou matriz de string é a finalidade deste programa, na realidade criei este exemplo para ajudar iniciantes em c, já que é muito difícil, encontrar um código como este na internet, então abra sua IDE agora mesmo copie e cole e compile. Veja abaixo uma imagem do programa em execução: Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/11/separar-digitos-contido-numa-frase-ou.html
  22. Apagar dígitos de uma frase ou matriz com o exemplo aqui proposto é muito fácil, e o programa é indicado a iniciantes em linguagem c. Veja abaixo uma imagem do programa em execução: Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/11/frase-apagando-digitos.html
  23. roccoC/C++

    ajuda

    Para somar os elementos da matriz só precisa criar uma variável inteira, que provavelmente seu compilador exigirá que seja inicializada com zero, e fazer o seguinte: g += Mat [ i ] [ j ]; supondo que você usou o nome da variável sugerida e o nome da matriz que fez a leitura do arquivo, note que isto tem que ser feito dentro do laço onde a leitura acontece. printf("Soma de todos elementos da matriz %d", g ); Veja este link abaixo: http://codigosfontes-ccplus-plus.blogspot.com.br/2014/03/lendo-uma-matriz-quadrada-por-um.html
  24. Isto fica fácil fazer usando a função memccpy(); da biblioteca padrão string.h do c. Com esta função você copia um intervalo de memória até encontrar um byte específico, que no seu caso seria o : e o #.
×
×
  • Criar Novo...