Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
JULIOLIMAPILOTO

C++ modificaçao codigo fonte do advmenuplus

Recommended Posts

sou novo na programação em c e c++ estou querendo fazer uma alteraça em uma lista do codigo de fonte de um front end

e uma lista que fica na diagonal segue!!!!

 

 

    int cell_x = list_x;
    int cell_y = list_y;
    int cell_dx = (list_dx - (coln - 1) * space_x) / coln;//////////////////////////alterar para (col / 2)
    int cell_dy = name_dy;
    int space_diagonal_x = abs(diagonal * (rown - 1));
    if(diagonal < 0) cell_x = cell_x + space_diagonal_x;
    
    for(int r=0;r<rown;++r) {
        for(int c=0;c<coln;++c) {
            unsigned i = r * coln + c;
            int_map.x = cell_x + diagonal * r + (cell_dx + space_x) * c;
            int_map.y = cell_y;
            int_map.dx = cell_dx - space_diagonal_x;
            int_map.dy = name_dy;
        }
        cell_y += cell_dy + space_y ;
    }
}

/////////////...so pra entender a lista original abaixo........................

 

/

    /

        / 

             /

                  /

                       /              

////////////////////////////eu quero que ela fique assim

/

  /

     /

        /

          /

        /

      /

    /

  /

/

///////////////me foi dado alguma dicas mas nao consegui aplicar ao codigo

divide o numero de colunas por 2!

quando o "r" estiver na metade, você volta o espaçamento!

igual no cell_y += cell_dy + space_y;

(só q vai ser com o cell_x)

 

(Espaço diagonal cell_y)

(espaço horizontal cell_x)

(cell_x += 1 vai dar um espaço a cada volta)

 

desde ja agradeço que puer me ajudar!!!

 

 

 

 

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@JULIOLIMAPILOTO      nesse código que você postou, não é impresso nenhuma linha, apenas pega o valor de algumas variáveis, então se você for imprimir uma dessas variáveis você pode usar um comando que posicione o cursor no local onde você quer imprimir, e na linguagem c esse comando precisa ser criado , pois ele não existe normalmente, e esse comando criado seria uma função assim :

#include <windows.h>
void gotoxy(int x, int y){
    COORD c;
    c.X = x;
    c.Y = y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}

então você verifica se chegou na metade e enquanto for menor ou igual vai aumentando a coluna onde imprimir e se for maior que essa metade então vai diminuindo a coluna onde imprimir, só até zero, então seria algo assim :

int coluna=0;
int linha=onde vai começar a imprimir;
metade = rown/2;
if(rown<=metade)
    if(coluna<60)
        coluna++;
else
    if(coluna>-1)
        coluna--;
gotoxy(coluna,linha);
printf("%d",variavel);

 

Editado por devair1010
  • Confuso 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
52 minutos atrás, devair1010 disse:

@JULIOLIMAPILOTO      nesse código que você postou, não é impresso nenhuma linha, apenas pega o valor de algumas variáveis, então se você for imprimir uma dessas variáveis você pode usar um comando que posicione o cursor no local onde você quer imprimir, e na linguagem c esse comando precisa ser criado , pois ele não existe normalmente, e esse comando criado seria uma função assim :


#include <windows.h>
void gotoxy(int x, int y){
    COORD c;
    c.X = x;
    c.Y = y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}

então você verifica se chegou na metade e enquanto for menor ou igual vai aumentando a coluna onde imprimir e se for maior que essa metade então vai diminuindo a coluna onde imprimir, só até zero, então seria algo assim :


int coluna=0;
int linha=onde vai começar a imprimir;
metade = rown/2;
if(rown<=metade)
    if(coluna<60)
        coluna++;
else
    if(coluna>-1)
        coluna--;
gotoxy(coluna,linha);
printf("%d",variavel);

 

na verdade tem sim eu so nao poste

 

segue

 

 

 

adicionado 1 minuto depois

menu.rar

original.jpg

novo.jpg

Editado por JULIOLIMAPILOTO
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@JULIOLIMAPILOTO    esse código que você enviou não está compilando por que está faltando alguns  códigos referentes a esses includes :

#include "portable.h"

#include "game.h"
#include "text.h"
#include "play.h"
#include "menu.h"

#include "advance.h"

se você tiver esses códigos então poste eles também .

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 minutos atrás, devair1010 disse:

@JULIOLIMAPILOTO    esse código que você enviou não está compilando por que está faltando alguns  códigos referentes a esses includes :


#include "portable.h"

#include "game.h"
#include "text.h"
#include "play.h"
#include "menu.h"

#include "advance.h"

se você tiver esses códigos então poste eles também .

 

adicionado 1 minuto depois

http://arcadeforever.forumfree.it/?t=63086097

aqui tem o codigo e as ferramentas!

 

 

a funçao sitada seria em menu.cc

 

 

void calculo_listado_5(struct cell_t* int_map, int coln, int rown, int list_x, int list_y, int list_dx, int list_dy, int name_dy, int space_x, int space_y, int diagonal)
{
    int cell_x = list_x;
    int cell_y = list_y;
    int cell_dx = (list_dx - (coln - 1) * space_x) / coln;
    int cell_dy = name_dy;
    int space_diagonal_x = abs(diagonal * (rown - 1));
    if(diagonal < 0) cell_x = cell_x + space_diagonal_x;
    
    for(int r=0;r<rown;++r) {
        for(int c=0;c<coln;++c) {
            unsigned i = r * coln + c;
            int_map.x = cell_x + diagonal * r + (cell_dx + space_x) * c;
            int_map.y = cell_y;
            int_map.dx = cell_dx - space_diagonal_x;
            int_map.dy = name_dy;
        }
        cell_y += cell_dy + space_y ;
    }
}

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

jaja estou upando pronto p compilar

 

adicionado 17 minutos depois

jaja estou upando pronto p compilar

https://drive.google.com/open?id=1ZnFQvZt0iubKvFqAsw0O2UgAmHm0BztD

 

extraia na partiçao c:

 

vai ate o C:\mingwplus\advmenuplus

compila -win.bat primeiro de um clean.bat

 

 

 

 

aqui o front end ja configurado para c:

 

https://drive.google.com/open?id=1N4R6O5OufICh1hjYTFnqK9sFjTFflFkD

Editado por JULIOLIMAPILOTO
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

//cols = 1; // numero de columnas de juegos en la lista (1 to ...)
//space_cols = 0; // espacio entre columnas
//string rows  // numero de juegos en la lista de juegos ("auto" | 1 to ...)
//string space_rows = "auto"; // espacio entre filas

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 31/03/2018 às 16:47, JULIOLIMAPILOTO disse:

de uma olhada p ver se você entende 

 

 

Isso é um loop, cada volta no loop é um item da lista de seleção. Quando a primeira volta termina é dado um espaçamento para que na próxima volta seja criado o segundo item com um espaço, assim até chegar na ultima linha. 

Aqui é adicionado um espaço de cima para baixo
"cell_y += cell_dy + space_y ;"

agora você terá que adicionar um espaço da esquerda para direita com "cell_x"

r = a volta
rown = a quantidade de colunas

Código:

for(int r=0;r<rown;++r) { for(int c=0;c<coln;++c) { unsigned i = r * coln + c; int_map.x = cell_x + diagonal * r + (cell_dx + space_x) * c; int_map.y = cell_y; int_map.dx = cell_dx - space_diagonal_x; int_map.dy = name_dy; } cell_y += cell_dy + space_y ; } }

 

 

Em 31/03/2018 às 16:47, JULIOLIMAPILOTO disse:

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@JULIOLIMAPILOTO     esse código está bem confuso e como não consegui achar os outros códigos referentes a ele nesse site que você postou, então não estou sabendo o que fazer .

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
22 minutos atrás, devair1010 disse:

@JULIOLIMAPILOTO     esse código está bem confuso e como não consegui achar os outros códigos referentes a ele nesse site que você postou, então não estou sabendo o que fazer .

Em 30/03/2018 às 16:42, JULIOLIMAPILOTO disse:

jaja estou upando pronto p compilar

 

adicionado 17 minutos depois

jaja estou upando pronto p compilar

https://drive.google.com/open?id=1ZnFQvZt0iubKvFqAsw0O2UgAmHm0BztD

 

extraia na partiçao c:

 

vai ate o C:\mingwplus\advmenuplus

compila -win.bat primeiro de um clean.bat

 

 

 

 

aqui o front end ja configurado para c:

 

https://drive.google.com/open?id=1N4R6O5OufICh1hjYTFnqK9sFjTFflFkD

estão aqui

 

 

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






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

×