Ir para conteúdo
Fórum Script Brasil

roccoC/C++

Membros
  • Total de itens

    496
  • Registro em

  • Última visita

Posts postados por roccoC/C++

  1.  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.
     

     

    jgdvlh.PNG.fb0273e922d4cdb00287f2a4b3a1c

  2. 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.

    jgcr.PNG.3da754275febe0e4fccc516d709a32cjgrcs.PNG.edcfb9ff9c1c26243b267553ae9062

    https://www.youtube.com/watch?v=XC6nfj-3jtc

     

  3. 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:

     

    vtst.PNG.90eb1a8f1331b3364be7f20f7e88ec1

  4. 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:

    clrdv.PNG.25240d5a996bd2f31248fc6ebc601a

    Assistam ao vídeo no link abaixo:

    https://www.youtube.com/watch?v=nJ4n88NBl4M&feature=youtu.be

     

  5. 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.

    vtale.thumb.PNG.8bcd95696c9cf110f914ae4a

    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

     

     

     

     

  6. 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

    vtrrnd.PNG.25a8ecc49ebcb4b7f01052fe709d8

     

     

     

     

  7. 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


  8. 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

  9. 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"

     

  10.  

    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:

    vtmta.thumb.PNG.4c326052f195e88529f5be20

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/12/memcpy-de-vetor-para-matriz.html

     


  11. 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:

    mtzdg.thumb.PNG.ca91fceb5a6bc7e7daf61d6d

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/11/matriz-marcando-e-somando-diagonal.html

  12. 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.

  13. 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.

  14. 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.


  15. 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:

    arsq.thumb.PNG.b206e07a1b21d6510c3efa128arsr.thumb.PNG.d45016e309fd21a70c57ad8fd

    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

     

  16. 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:

    dgts.thumb.PNG.9605e5cf8b4c1f9727f65713e

    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

     

  17. 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

×
×
  • Criar Novo...