Ir para conteúdo
Fórum Script Brasil

EMX

Membros
  • Total de itens

    21
  • Registro em

  • Última visita

Sobre EMX

  • Data de Nascimento 08/12/1990

Contatos

  • MSN
    emersonmx@gmail.com

Perfil

  • Gender
    Male
  • Location
    Pov. Cobra, Parelhas-RN

EMX's Achievements

0

Reputação

  1. pô vlw aí pela ajuda pessoal era isso mesmo que eu tava querendo xD
  2. tem como a partir da linha e da coluna de uma matriz, gerar um indice para um vetor usando apenas matematica para isso?
  3. EMX

    relações entre classes

    hmm classes friends não fica legal acho que vou usar um tal de message queue que achei falando na net, só falta saber como ele funciona... mais de qualquer jeito vlw pela ajuda ^_^
  4. EMX

    relações entre classes

    vou da um exemplo... uma classe chamada Thread não esta relacionada nem por herança com uma classe chamada TCPip e muito menos com a que controla o tempo, daí eu quero que elas se relacionem podendo trocar informações entre elas.
  5. EMX

    relações entre classes

    não tenho a minima ideia por isso estou perguntando. eu to querendo que todas as classes do framework possa trocar informações entre elas
  6. eu tava fazendo um framework e chegou num ponto que eu preciso que as classes se relacionem para trocarem informações, eu já ouvi falar em algo parecido mais não tenho a minima ideia como se faz. se alguém tiverem algum exemplo ou dica de como fazer essa relação entre classes será de grande ajuda :rolleyes:
  7. Eu tava estudando postgre e me deparei com uma duvida na hora de distribuir o software... se eu fizer um sistema de cadastro de usuarios é obrigatorio ter o postgre instalado na maquina do cliente para poder acessar o banco de dados? vlw pela atenção ¥o/
  8. EMX

    (Resolvido) Erro com classes

    mermao num é que era mermo :blink: isso que da usar os codigo dos outros sem saber como o bixo funciona, mas de qualquer jeito já arrumei pra poder usar o rect MuAhaUhA vlw ai kuroi, vlw mermo :rolleyes:
  9. EMX

    (Resolvido) Erro com classes

    opa foi mal XD vou postar o source mermo // CInitFuncs.h #ifndef _CINITFUNCS_H #define _CINITFUNCS_H #include <iostream> #include <SDL.h> #include <SDL_image.h> #include <SDL_ttf.h> #include <string> using namespace std; class CInitFuncs{ protected: SDL_Surface *tela; SDL_Surface *img_nave; SDL_Surface *bg; SDL_Event evento; public: bool Inicializacao(); SDL_Surface *Carregar_imagem(string arquivo); void Strip_imagem(SDL_Rect Rects[], SDL_Surface *Strip, int div_x, int div_y); void Blit_Imagem(int x, int y, SDL_Surface *Fonte, SDL_Surface *Destino, SDL_Rect *rect); bool Carregar_arquivos(); bool AtualizarTela(); bool Controle_Evento(); void Finalizar(void); }; #endif //============================================================== // CInitFuncs.cpp #include "CInitFuncs.h" // FUNCOES bool CInitFuncs::Inicializacao(){ if(SDL_Init(SDL_INIT_EVERYTHING) == -1){ cerr << "Não foi possivel inicar o SDL. ERRO: " << SDL_GetError(); return false; } SDL_WM_SetCaption("Inveideris", NULL); tela = SDL_SetVideoMode(800, 600, 32, SDL_ANYFORMAT); if(tela == NULL){ cerr << "Não foi possivel iniciar o vídeo. ERRO: " << SDL_GetError(); return false; } if(TTF_Init() == -1){ cerr << "Não foi possivel iniciar o TTF. ERRO: " << SDL_GetError(); return false; } return true; } SDL_Surface *CInitFuncs::Carregar_imagem(string arquivo){ SDL_Surface *ImagemCarregada = NULL; SDL_Surface *ImagemConvertida = NULL; ImagemCarregada = IMG_Load(arquivo.c_str()); if(ImagemCarregada != NULL){ ImagemConvertida = SDL_DisplayFormat(ImagemCarregada); SDL_FreeSurface(ImagemCarregada); if(ImagemConvertida != NULL){ Uint32 chave_cor = SDL_MapRGB(ImagemConvertida->format, 0, 0xFF, 0); SDL_SetColorKey(ImagemConvertida, SDL_SRCCOLORKEY, chave_cor); } } return ImagemConvertida; } void CInitFuncs::Strip_imagem(SDL_Rect Rects[], SDL_Surface *Strip, int div_x=1, int div_y=1){ int X, Y, L, A, dividir_largura, dividir_altura; X = 0; Y = 0; dividir_largura = Strip->w/div_x; dividir_altura = Strip->h/div_y; L = dividir_largura; A = dividir_altura; for(int i = 0; i < div_x * div_y; i++){ Rects[i].x = X; Rects[i].y = Y; Rects[i].w = L; Rects[i].h = A; X += dividir_largura; if(X >= dividir_largura*div_x){ Y += dividir_altura; X = 0; } } } void CInitFuncs::Blit_Imagem(int x, int y, SDL_Surface *Fonte, SDL_Surface *Destino, SDL_Rect *rect = NULL){ SDL_Rect posicao; posicao.x = x; posicao.y = y; SDL_BlitSurface(Fonte, rect, Destino, &posicao); } bool CInitFuncs::Carregar_arquivos(){ bg = Carregar_imagem("data/bg.png"); img_nave = Carregar_imagem("data/nave.png"); if(bg == NULL || img_nave == NULL){ return false; } // arquivos return true; } bool CInitFuncs::AtualizarTela(){ if(SDL_Flip(tela) == -1){ return false; } return true; } bool CInitFuncs::Controle_Evento(){ bool sair = false; while(SDL_PollEvent(&evento)){ switch(evento.type){ case SDL_QUIT: sair = true; break; /*case SDL_KEYDOWN: switch(evento.key.keysym.sym){ case SDLK_ESCAPE: sair = true; break; case SDLK_LEFT: pos_x -= 5; break; case SDLK_RIGHT: pos_x += 5; break; }*/ } } return sair; } void CInitFuncs::Finalizar(void){ SDL_FreeSurface(tela); SDL_FreeSurface(bg); SDL_FreeSurface(img_nave); TTF_Quit(); SDL_Quit(); } //=============================================================== // CNave.h #ifndef _CNAVE_H #define _CNAVE_H #include <SDL.h> #include <SDL_image.h> #include "CInitFuncs.h" class CNave: public CInitFuncs{ private: int x, y; int Velocidade_x, Velocidade_y; public: CNave(); void controle_teclado(); void mover(); void mostrar(); }; #endif // ========================================================================== //CNave.cpp #include "CNave.h" CNave::CNave(){ x = 0; y = 0; Velocidade_x = 0; Velocidade_y = 0; } void CNave::controle_teclado(){/* if(evento.type == SDL_KEYDOWN){ switch(evento.key.keysym.sym){ case SDLK_UP: Velocidade_y -= 5; case SDLK_DOWN: Velocidade_y += 5; case SDLK_LEFT: Velocidade_x -= 5; case SDLK_RIGHT: Velocidade_x += 5; } } else if(evento.type == SDL_KEYUP){ switch(evento.key.keysym.sym){ case SDLK_UP: Velocidade_y += 5; case SDLK_DOWN: Velocidade_y -= 5; case SDLK_LEFT: Velocidade_x += 5; case SDLK_RIGHT: Velocidade_x -= 5; } }*/ } void CNave::mover(){ x += Velocidade_x; if((x < 0) || (x + img_nave->w > tela->w)){ x -= Velocidade_x; } y += Velocidade_y; if((y < 0) || (y + img_nave->h > tela->h)){ y -= Velocidade_y; } } void CNave::mostrar(){ Blit_Imagem(x, y, img_nave, tela); } acho q isso já da :blink:
  10. fui brincar com POO(G) e deu esse erro medonho que não to conseguindo resolver, dai vim aqui pra abusarem vocês do forum pra me da uma maozinha com essa gambiarra, qualquer ajuda é bem vinda :rolleyes: Segue o erro e as classes, se precisar posto o fonte depois. In member function `void CNave::mostrar()':| CNave.cpp|56|error: no matching function for call to `CNave::Blit_Imagem(int&, int&, SDL_Surface*&, SDL_Surface*&)'| CInitFuncs.h|23|note: candidates are: void CInitFuncs::Blit_Imagem(int, int, SDL_Surface*, SDL_Surface*, SDL_Rect*)| ||=== Build finished: 1 errors, 0 warnings ===| class CInitFuncs{ protected: SDL_Surface *tela; SDL_Surface *img_nave; SDL_Surface *bg; SDL_Event evento; public: bool Inicializacao(); SDL_Surface *Carregar_imagem(string arquivo); void Strip_imagem(SDL_Rect Rects[], SDL_Surface *Strip, int div_x, int div_y); void Blit_Imagem(int x, int y, SDL_Surface *Fonte, SDL_Surface *Destino, SDL_Rect *rect); bool Carregar_arquivos(); bool AtualizarTela(); bool Controle_Evento(); void Finalizar(void); }; class CNave: public CInitFuncs{ private: int x, y; int Velocidade_x, Velocidade_y; public: CNave(); void controle_teclado(); void mover(); void mostrar(); };
  11. já tentou usar %.2f no lugar de %2.f ???
  12. EMX

    Erro de import

    aaaaa ôia no lugar de colocar "import teste.py" coloque "import teste"
  13. EMX

    Maior, menor e media...

    acho que a essas alturas você já deve ter feito o código em python, mais vou colocar aqui pra quando alguém no mundo precisar # variaveis media = 0 # inteiro menor_maior = [] # lista # repete 10x for num in range(10): num = input('Digite um n\xa3mero: ') # pega inteiro do teclado menor_maior.append(num) # adiciona num a lista media += num # soma a media mais o numero menor_maior.sort() # organiza a lista em ordem crescente print '\nO menor n\xa3mero \x82: %s\nE o maior n\xa3mero \x82: %s\n' % (menor_maior[0], menor_maior[-1]) # menor_maior[0] = pega o primeiro elemento da lista # e menor_maior[-1] = pega o ultimo elemento da lista print 'A m\x82dia \x82: %s\n' % (float(media) / 10) # calcula a media raw_input()# espera Enter pra encerrar
  14. EMX

    Integração entre C/Python

    eu num sei se essa é a maneira certa de integração entre c e python mais de qualquer jeito aí vai. eu tava fazendo uns teste com dll, tava dando pau mais eu resolvi, a dll tinha uma função muito dificil de se entender (retornar a soma de dois valores, dificil hein? hehuaHEU) eu usei o devcpp pra fazer a dll esse é o arquivo soma.h #define _soma_H_ #ifdefine _soma_H_ extern "C" __declspec(dllexport) int SOMA(int v1, int v2); #endif e esse o soma.cpp #include <stdio.h> extern "C" __declspec(dllexport) int SOMA(int v1, int v2){ return v1 + v2; } olhe pra ver se a dll está na pasta do projeto, senão salve o projeto e feche o programa, depois abra e tente compilar denovo agora as linhas em python "soma.py" import ctypes # importa o modulo #para mais detalhes sobre o ctypes olhe a documentação do python soma = ctypes.CDLL('soma.dll') # chama a dll você poderia usar ctypes.cdll.LoadLibrary('soma.dll') soma.SOMA.restype = ctypes.c_int # define para que SOMA seja inteiro (acho q é isso que significa) # o resto é coisa do programa v1 = input('Digite um numero: ') # use input e não raw_input v2 = input('Digite outro: ') print soma.SOMA(v1, v2) raw_input() se num for isso então que outro alguém explique porque eu mermo num sei não :closedeyes:
  15. EMX

    Integração entre C/Python

    eu tive uma duvida mais ou menos parecida, mas ninguém respondeu acho q presta eu tava fazendo uns teste com C e Python esses dias e ficou legal. o negocio é que aqui ninguém ajuda e o que ajuda so aparece de 100 em 100 anos
×
×
  • Criar Novo...