Ir ao conteúdo
  • Cadastre-se
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);

 

  • 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

  • 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

  • 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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×