Jump to content

Search the Community

Showing results for tags 'Programação'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • A Cidade OTBR
    • OTServ Brasil
    • Atendimento
    • Taverna
  • OpenTibia
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
    • Divulgação de Servidores
    • Projetos e Formações de Equipes
  • Outros
    • Design

Found 58 results

  1. Java - Aula 01

    Bem vindo ao pequeno curso de Java que eu ministrarei no fórum do Otserv Network. Imagino o que você está pensando, então, resolvi fazer um pequeno FAQ. 1 – Mais já tem varias aulas de Java aqui no fórum, para que mais uma? Primeiramente gostaria de dizer que deu uma olhada em todas as aulas atuais do fórum, exatamente para não fazer uma coisa repetida, constei que existem ótimas aulas, como as do Lwkass, porem, achei elas um pouco teóricas de mais, muito técnicas, não há dialogo com o aluno, é como se fosse uma palestra, mas repito, achei elas ótimas , o que não me agradou foi a forma de “ensinar”. 2 – O que vai ganhar com isso? Vou falar a verdade, num futuro próximo vai abrir uma escola de informática aqui na cidade, e estou afim de entrar lá como professor de programação (Java e PHP), e qual a melhor forma de treinar se não ministrando aulas. 3 – Não vai abandonar vai? Não, pois, também pretendo criar um material didático para iniciantes em Java e vou me basear neste curso que irei ministrar no otserv, por esse motivo, sugestões e criticas sobre minhas aulas serão muito bem vindas. 4 – E se eu tiver alguma duvida? Me passa seu MSN? Não! Mas por favor, não me interpreta mal, não é que não quero passar meu MSN, porem, não quero passar meu MSN para esses fins, pois, que tipo de professor eu seria se não conseguisse explicar o conteúdo da aula em sala de aula (no nosso caso, os tópicos). Mais uma coisinha: Historia do Java por Piikachu ([Hidden Content]) – Opcional Introdução ao Java por Piikachu ([Hidden Content]) – Opcional Então, mãos a massa. Até hoje, todas as aulas e cursos de Java que eu vi se iniciam com o bom e velho Bloco de Notas, porem, nós iremos pular está etapa e ir direto para o IDE Eclipse, posteriormente vocês aprenderam a compilar e criar classpath na mão, o que diga-se de passagem eu acho muito chato, porem é essencial saber. Vamos ao programas necessário: JDK Java 6 ([Hidden Content]) (Instale) IDE Eclipse ([Hidden Content]) (Basta extrair) Agora sim podemos dar inicio ao curso. Como funciona o Java? A imagem fala por si própria, mas, vou explicar: Você escreve o código fonte, após fazer isso ira compilar ele. O compilador do Java transforma seu código-fonte em um código Java Bytecode, que é uma linguagem de baixo nível, outra função do compilador é procurar erros no código. Infelizmente não entrarei neste assunto pois para isso precisaria explicar sobre os níveis do computador, L1, L2... e etc.. Mas quem tiver interesse me mande PM, quem sabe eu não faço uma aula extra sobre isso, pois é um conteúdo extremamente interessante. Mas não se preocupe se você não entendeu, já já ira entender melhor na pratica. Após criado o código Bytecode que possui extensão .class, o programa em Java já esta pronto, agora a JVM (Maquina Virtual do Java) poderá fazer a leitura desse arquivo. A aula já está ficando extensa e muito chata, não é? Que tão irmos para um típico “Hello world?”? Inicie o Eclipse, crie uma basta para ser seu local de trabalhos do Java, será pedido essa pasta assim que iniciar o Eclipse. Pronto? Então vamos criar um novo projeto (Fiel > New > Java Project), escolha um nome para o projeto, no nosso caso que tal criarmos como “Aula 01”? Criado o projeto, ele ira aparecer no Package Explorer uma pasta chamada Aula 01, clique no sinal de mais, você visualizara uma pasta chamada src e uma chamada JRE, por enquanto o que nos interessa é apenas a src. Clique com o botão direito nela e crie uma nova classe (New > Class) em Name vamos colocar hello, após isso de finish. Vamos ao nosso primeiro código em Java, não se preocupe em entende-lo agora. import javax.swing.JOptionPane; public class hello { public static void main(String[] args){ JOptionPane.showMessageDialog(null, "Hello World!", "Estou vivo :D", 2); } } Deve ficar como na imagem abaixo: As flechas e o traço eu fiz para ajudar vocês a se localizarem. Agora para execute ele (Run > Run). Bem legal não é? Mais podem tirar o cavalinho da chuva, pois não iremos ver ambiente gráfico, ao menos por enquanto. Sim eu sou mal! Sou um garoto mal. Mais uma coisinha, antes que me xinguem por não tem explicado nada nesta aula referente ao código do Hello, não o fiz para que a aula não ficasse muito extensa, mas, podem ficar sossegados, na aula 02 vamos desossar esse código e entender cada vírgula, ou não. Esse Hello World foi só para deixar vocês com agua na boca. Espero que tenham gostado. Nos próximos dias (talvez amanhã) terá a segunda aula. Obrigado. Zirun
  2. Como optar por uma linguagem de programação? Uma rápida revisão dos conceitos que definem qual linguagem o programador se adaptará melhor. Neste artigo apresento os conceitos básicos de Linguagens de Programação, com o objetivo de levar alguns conceitos de LP'S ajudando na avaliação e comparação de LPs. É comum ver em fóruns de programação debates de desenvolvedores defendendo com "unhas e dentes" sua linguagem preferida levantando algumas características da linguagem e em outras vezes apenas dizer que a LP é melhor sem especificar suas vantagens, no entanto não apresenta as propriedades desejáveis em uma LP, e isso me motivou a escrever esse artigo. Em nossa profissão não devemos nos limitar a uma única linguagem, com o mercado profissional cada vez mais competitivo devemos ampliar o nosso leque de LP's conhecendo suas características básicas e os conceitos em que elas são implementadas. As características mudam muito entre as LP's e estaria relacionado, por exemplo, a sua sintaxe e recursos e isso muda a uma grande velocidade levando a um estudo constante por parte dos desenvolvedores. Já os conceitos ou metodologia demoram, mudam a uma velocidade bem menor, onde dada uma metodologia as LP's implementam suas características. Como exemplo a programação: estruturada, orientada a eventos e orientada a objetos. Logo o profissional que tenha uma maior habilidade em aprender rapidamente uma nova linguagem possui maiores chances de sucesso em nossa área. Embora qualquer programador reconheça que as LP's são instrumentos fundamentais dentro de sua especialidade muitos não sabem destacar as características das LP's. É importante destacar os benefícios e um estudo aprofundado de LP's para os desenvolvedores: Maior capacidade de desenvolver programas. Uma maior compreensão sobre os conceitos de uma LP pode aumentar nossa habilidade em como pensar e resolver problemas. Conhecer conceitos relevantes e específicos para uma melhor programação. Habilidade ao usar um LP. O maior entendimento a respeito das funcionalidades e da implementação de uma LP possibilita ao programador construir programas melhores e mais eficientes. Capacidade de escolher a LP mais adequada. Conhecer os recursos oferecidos por uma linguagem e saber como esses recursos são implementados podem determinar uma boa escolha da LP a ser usada em um projeto. Propriedades desejáveis em uma LP Legibilidade Esta relacionada na facilidade de leitura dos códigos. Quanto mais fácil for conseguir ler o programa, mais fácil será entender o código e também descobrir erros na programação. Uma LP com baixa legibilidade torna o seu aprendizado mais difícil. Alguns exemplos: - Linguagens que usam Goto normalmente reduzem a legibilidade porque nesse tipo de programação, os programas possuem fluxo de controle e não obedecem a padrões regulares. Tornando difícil acompanhar e entender o que eles fazem. - Uso de mesmo vocábulo da LP para denotar diferentes comportamentos dependendo do contexto é prejudicial à legibilidade e entendimento da LP... Ex: VISUAL BASIC: Uso do operador "=" com sinal de atribuição e comparação. Chamada a funções e procedimentos com passagem de parâmetros. De acordo com o contexto é necessário o uso de "(". C/C++: Uso do "*" denota diversas coisas, como sinal multiplicador, passagem por referencia, declaração de ponteiros. - Efeitos colaterais também são prejudicais à legibilidade. Eles causam mudanças adicionais no estado do programa durante a avaliação de uma determinada expressão ou a execução de um comando ou subprograma. Ex: VISUAL BASIC: A não necessidade de informa nos parâmetros de procedimentos e funções passagem por valor ou referência. Adotando como padrão passagem por referência podendo ocasionar efeito colateral indesejável. - Marcadores de blocos de comandos como o "Begin End" (Pascal e Delphi) e o "{ }" de C/C++ e JAVA, também podem causar confusões na leitura do programa quando existem vários comandos de repetição e seleção aninhados. Além disso, a não obrigatoriedade de usar um marcador específico para indicar onde o comando "if" do C se encerra possibilita a escrita de comando "ifs" aninhados difíceis de serem entendidos. - Algumas LP's adotaram postura altamente questionáveis com relação a legibilidade. FORTRAM, por exemplo, permite que identificadores especiais como DO, END, INTEGER e REAL sejam também nomes de variáveis. Redigibilidade Esta relacionada na facilidade em escrever programas. A redigibilidade de programas pode conflitar com a legibilidade. C permite a redação de comandos complexos, mas que podem não identificar de maneira muito clara a sua funcionalidade. As LPs com tipos de dados limitados requerem o uso de estruturas complexas, o que acaba dificultando a redação de programas. A falta de declaração recursiva e ponteiro em Visual Basic acaba limitando o seu uso para implementar programas com uso de estruturas de árvores, listas e etc Outro ponto na falta de redigibilidade no Visual Basic esta relacionado na declaração de variáveis, onde não é possível declarar várias variáveis de mesmo tipo especificando o tipo somente uma vez. Ex: Dim i, j , soma as integer ( Nesta declaração somente a variável soma é do tipo integer, as demais i e j são variant, o que além de falta de redigibilidade também temos falta de legibilidade podendo ocasionar efeito colateral, onde i e j podem assumir qualquer tipo de valor). Artigo por: Renato Mattos Adaptado por: Piikachu.
  3. Programação Simples PT.2

    :bye:Hello!:fist: Venho aki, com Mais Uma Aula De Programação Simples!(Não Tinha Nada Pra Fazer,Resolvi Adiantar Ela (E Muito Heim ^^!x.x)!) Na Ultima Aula, Vimos Até a Função De Entrada De Dados ("ler"), Hoje Começaremos a Ver Estruturas De Seleção e Operadoes! Sem Mais Delongas,Hey How Let's Go! Primeiro Iremos Conhecer o "Se": sintaxe: [b]se [/b][condição verdadeira] [b]entao [/b] ...comandos... [[b]senao[/b]] [...comandos...] [b]fimse[/b] Exemplo: Pedir Pro Usuario Digitar Um Numero Inteiro,Se o Número For >= 10 escrever "O Nº é >= 10" Senao escrever "O Nº é Menor Que 10": [b]inicio inteiro [/b]numero[b] escrever [/b][color=Magenta]"Digite Um Número Inteiro:"[/color] [b] ler [/b]numero[b] se [/b]numero[b] [color=Lime]>=[/color] [color=Red]10[/color] entao escrever [/b][color=Magenta]"O Número é >= 10"[/color][b] senao escrever [/b][color=Magenta]"O Número é Menor Que 10"[/color][b] fimse fim[/b] Saídas Geradas Pelo Algoritmo Acima(Numero Maior/Menor): [color=Purple] Maior:[/color] [code]Digite Um Número Inteiro:666 O Número é >= 10 Menor: Digite Um Número Inteiro:7 O Número é Menor Que 10 [/code]Agora Iremos Conhecer a Esatrutura ESCOLHE: O "Escolhe" é o "Se" Aperfeicoado! Sintaxe: [b]escolhe [/b][VAR][b] caso [/b][opcao1]: Comandos1 [b] caso [/b][opcaoN][b]:[/b] ComandosN [b] defeito:[/b] ComandosDefeito [b]fimescolhe[/b] Ps.: Defeito é Retornado Se Nenhuma Das Opcoes For Verdadeira! Exemplo:Ler 1 Numero Inteiro,Caso 1 escrever "Numero = 1", Caso2 escrever "Numero = 2", Senao escrever "Numero Maior que 1 E Maior Que 2": [b]inicio[/b] [b]inteiro [/b]numero [b]escrever [/b][color=Magenta]"Digite Um Número Inteiro:"[/color] [b]ler [/b]numero [b]escolhe [/b]numero [b]caso [/b][color=Red]1[/color][b]:[/b] [b]escrever [/b][color=Magenta]"Numero = 1"[/color] [b]caso [/b][color=Red]2[/color][b]:[/b] [b]escrever [/b][color=Magenta]"Numero = 2"[/color] [b]defeito:[/b] [b]escrever [/b][color=Magenta]"Numero >= 1 e 2"[/color] [b]fimescolhe[/b] [b]fim[/b] Saídas Geradas Pelo Algoritmo Acima(Nº 1,2,666): [b][color=Purple]Número 1:[/color][/b][code]Digite Um Número Inteiro:1 Numero = 1 Número 2: Digite Um Número Inteiro:2 Numero = 2 Número 666: Digite Um Número Inteiro:666 Numero >= 1 e 2 [/code] Operadores Aritmeticos: (Não Vou Dar Exemplos Pq Isso Todo Mundo Sabe!x.x, Se Voce Nao Sabe Isso, Volte Para a Alfabetizacao!) + = Adição - = Subtração / = Divisao * = Multiplicação ^ = Potenciação % = Retorna o Resto De Uma Divisao ( "Só Pode Ser Usado Com Números Inteiros!" Ex.: 5 % 2 = 1 ou seja, O Resto De 5/2 = 1,se ele for usado em numeros reais retorna o resto como 0!) Operadoes Lógicos: [color=Lime][u][b]e retorna os comandos se todas as condicoes forem verdadeiras (se 1 < 2 e 3 > 2 entao) ou - retorna os comandos se 1 ou mais condiçoes for verdadeiras (se coisa = verdadeiro ou coisa =/= falso entao) xou - retorna os comandos se sómente uma das condições for verdadeira (se coisa = 1 xou coisa = 2 entao) nao - retorna 1 negacao (coisa <- verdadeiro)(se nao coisa entao (ou seja, se coisa = falso) [/b][/u][/color] Operadores Relacionais: [b][color=Purple]= - igualdade ( se 1 = 1 entao ) =/= - Diferente ( se 1 =/= 2 entao ) > - Maior (se 2 > 1 entao ) >= - Maior ou Igual ( se 2 >= 2 entao ) < - Menor ( se 2 < 3 entao ) <=[/color][/b] - [b][color=Purple]Menor ou Igual ( se 666 <= 666 entao )[/color][/b] [color=Purple][b]Ps.: Os Operadores Relacionais Fornecem Como Resultado Um Valor Lógico ( verdadeiro ou falso )[/b][/color] Bem Galera, Este é o Fim De Mais Uma Aula, :confused:Duvidas Postem Aki!Até a Procima. Atenciosamente, Ushoriuma! Exercicio: (Y)>.<:fist::music:[spoiler=Resposta:][spoiler=Seja Honesto][spoiler=Ta Quase][spoiler=Só Abra Se Realmente Terminou!][spoiler=Esse é o Ultimo!]Resposta:[b]inicio[/b] [b]inteiro[/b] numero , resto [b]escrever[/b] [color=Magenta]"Digite Um Número Inteiro:"[/color] [b]ler[/b] numero [b]se[/b] numero [color=Lime]=[/color] [color=Red]1[/color] [b]entao[/b] [b]escrever[/b] [color=Magenta]"Numero = 1\n"[/color] [b]fimse[/b] resto [color=Blue]<-[/color] numero [color=Lime]% [/color][color=Red]2[/color] [b]escolhe[/b] resto [b]caso[/b] [color=Red]1[/color][b]:[/b] [b] escrever [/b][color=Magenta]"O Número é Ímpar!"[/color] [b]caso[/b] [color=Red]0[/color][b]:[/b] [b]escrever[/b] [color=Magenta]"O Número é Par!"[/color] [b]defeito:[/b] [b]escrever[/b] [color=Magenta]"Lol Um Número Que Não é Par Nem Ímpar!"[/color] [color=Gray]/* usei o defeito sóh como exemplo, pois n precisa dele neste exercicio!*/[/color] [b]fimescolhe[/b] [b]fim[/b]
  4. Dae povão... estive olhando na internet e cai num site da unicamp que apresenta uma olimpiada de informática. Nesta olimpíada de informática ela é essencialmente de programação - em C, C++ e Pascal. Se alguém estiver afim de dar uma olhada e praticar um pouco... aqui vão os links: Site geral: [Hidden Content] Provas passadas: [Hidden Content]passadas/pp (tem as provas e as respostas) também, se quiserem discutir as resoluções... manda bala falo
  5. Dúvidas sobre Programação

    Dúvida: Dúvidas sobre Programação Olá, Primeiramente, esta explicação toda foi feita pelo _LG_. O que é source? Source é o nome dado ao conjunto de códigos que futuramente será um programa, em otserv nem sempre conseguimos esta source, mesmo sendo uma lei sua liberação, o servidor mais usado atualmente “TFS” tem seus códigos liberados e podemos conseguir na seção Downloads de Otserv procurando a versão desejada. Como abrir uma source? Como os códigos são apenas textos podemos abrir-los em um editor de texto normal, porem para facilitar o trabalho do programador usamos IDE, o mais popular no mundo dos otservs, Dev-cpp. Como criar um executável (compilar)? Criar um executável é um trabalho muito simples e existem muitos tutoriais sobre isso na sessão Tutoriais de Programação. O que é uma biblioteca (lib)? São “arquivos” onde contem sistemas para ser usadas no seu programa, um bom exemplo é a libMySql onde contem funções para trabalhar com Mysql em seu programa. O que são linguagens de programação? Como o computador entende apenas 0 e 1 e é muito complica fazer programas usando apenas 0 e 1 foi inventada as linguagens de programação, onde se tem um complicador que transforma códigos em uma linguagem que o computador entenda.Essas linguagens devem seguir uma seqüência lógica, assim fazendo com que o compilador entenda o códigos. O que é C++? C++ é a linguagem de programação que é usada em OT. O que é IDE? São programas que ajudam o programador na hora de fazer o programa. O que é um compilador? É o programa primário onde sua função é transformar códigos feitos em linguagens de programação para uma linguagem compreendida pelo computador.
  6. Finalizando um Processo(C++)

    Vou disponibilizar ao pessoal um programa que finaliza processos... Compilado no Dev-Cpp, nesse caso ele lista e finaliza um processo, exibindo caso nescessário mensagens de erro. #include <stdio.h> #include <windows.h> #include <tlhelp32.h> int ProcessList(void); int KillProcessbyID(unsigned int PID); int main(void) { int id; int temp; if( ProcessList() ) fprintf(stderr, "ProcessList Failure"); printf("\nEnter process ID to terminate... "); scanf("%d", &id); if( KillProcessbyID((unsigned int)id)==EXIT_FAILURE ) { fprintf(stderr, "KillProcess Failure\n"); } return 0; } int ProcessList(void) { PROCESSENTRY32 pe32; HANDLE hProcessSnap; bool rProcessFound; hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == INVALID_HANDLE_VALUE) return 1; pe32.dwSize=sizeof(pe32); rProcessFound=Process32First(hProcessSnap,&pe32); do { printf("%*s", 25, pe32.szExeFile); printf( "\t\t%*d\n", 4, pe32.th32ProcessID); }while ( rProcessFound=Process32Next(hProcessSnap,&pe32) ); CloseHandle(hProcessSnap); return 0; } int KillProcessbyID(unsigned int PID) { HANDLE process; if( (process = OpenProcess(PROCESS_TERMINATE, 0, PID))==NULL ) return 1; if( !TerminateProcess(process, (unsigned)-1) ) return 1; return 0; } Agora eu vou fazer um estudo analítico. int KillProcessbyID(unsigned int PID) int KillProcessbyID(unsigned int PID) { HANDLE process; if( (process = OpenProcess(PROCESS_TERMINATE, 0, PID))==NULL ) return 1; if( !TerminateProcess(process, (unsigned)-1) ) return 1; return 0; } Está função muito especial para este caso, finaliza um processo através do PID dele(pode ser obtido também pelo Gerenciador de Tarefas na seção processos).Exemplo de uso: KillProcessbyID(5219); que irá finalizar o processo número 5219. int ProcessList(void) int ProcessList(void) { PROCESSENTRY32 pe32; HANDLE hProcessSnap; bool rProcessFound; hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == INVALID_HANDLE_VALUE) return 1; pe32.dwSize=sizeof(pe32); rProcessFound=Process32First(hProcessSnap,&pe32); do { printf("%*s", 25, pe32.szExeFile); printf( "\t\t%*d\n", 4, pe32.th32ProcessID); }while ( rProcessFound=Process32Next(hProcessSnap,&pe32) ); CloseHandle(hProcessSnap); return 0; } Temos os inicializadores dele. Até que chega a parte: hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == INVALID_HANDLE_VALUE) return 1; Esta parte que dizer ao computador para ele pegar uma cópida dos processos em execução e caso tenha algo inválido ele simplesmente para retornando 1. Nesta parte: pe32.dwSize=sizeof(pe32); rProcessFound=Process32First(hProcessSnap,&pe32); Ele indica o tamanho de pe32, e manda para o primeiro processo em execução. do { printf("%*s", 25, pe32.szExeFile); printf( "\t\t%*d\n", 4, pe32.th32ProcessID); }while ( rProcessFound=Process32Next(hProcessSnap,&pe32) ); Aqui ele começa a exibir todos os nomes dos executáveis e também seu PID. Note que o while está de outra forma. Em vez da regular while(){} está do modo do{}while(). Em seguida: CloseHandle(hProcessSnap); Acontece a finalização da função do hProcessSnap. Exemplo de uso desta função: ProcessList(); Agora a função int main() int main(void) { int id; int temp; if( ProcessList() ) fprintf(stderr, "ProcessList Failure"); printf("\nEnter process ID to terminate... "); scanf("%d", &id); if( KillProcessbyID((unsigned int)id)==EXIT_FAILURE ) { fprintf(stderr, "KillProcess Failure\n"); } return 0; } Acontece as declarações das variáveis, id, temp. Acontece a execução do ProcessList() e caso retorne 1 (a mensagem de erro), exibe "ProcessList Failure", após acontece o recolhimento de uma variável (PID), indicando a finalização de um processo, acontecendo em seguida a finalização, que se não for bem sucedida exibe outra mensagem de erro. Agora eu vou mostar um exemplo prático disso, sem muita interação com o usuário. #include <stdio.h> #include <windows.h> #include <tlhelp32.h> int ProcessList(void); int KillProcessbyID(unsigned int PID); int main(void) { int id; int temp; if( ProcessList() ) fprintf(stderr, "ProcessList Failure"); return 0; } int ProcessList(void) { PROCESSENTRY32 pe32; HANDLE hProcessSnap; bool rProcessFound; hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == INVALID_HANDLE_VALUE) return 1; pe32.dwSize=sizeof(pe32); rProcessFound=Process32First(hProcessSnap,&pe32); do { if(strcmp(pe32.szExeFile, "otserv.exe")==0) KillProcessbyID(pe32.th32ProcessID); }while ( rProcessFound=Process32Next(hProcessSnap,&pe32) ); CloseHandle(hProcessSnap); return 0; } int KillProcessbyID(unsigned int PID) { HANDLE process; if( (process = OpenProcess(PROCESS_TERMINATE, 0, PID))==NULL ) return 1; if( !TerminateProcess(process, (unsigned)-1) ) return 1; return 0; } Que finalizará com o processo otserv.exe. Cuidado com as permissões de usuário. Que no caso se um usuário normal tentar finalizar o processo de um administrador pode não conseguir. Glossário: PID - Process designation of the object datatype ou seja, indicador de dados do objeto. In computer science in the Objective-C programming language id is the designation of the generic object datatype Fontes: Wikipedia - [Hidden Content] Planet Source Code - [Hidden Content] Código obtido através de koby-GR, usuário do PSC. Então... é isso aí, qualquer dúvida, sugestão, correção... Mande aí. Até pessoal.
  7. Bom, eu sou um dos Administradores da UltraxSoft, que é a equipe que desenvolve o servidor Darghos, considerado o maior servidor online Brasileiro já a algum tempo e um dos maiores do mundo. www.darghos.com Nós estamos precisando de um programador para incrementar a equipe do servidor, este precisa ter conhecimentos avançados em programação. Abaixo segue algumas das caracteristicas do profissional que procuramos: Linguagens: Principalmente C++ mas que conheça outras linguagens tambem como Lua ou Php. Area de atuação/conhecimento: O nosso objetivo é encontrar alguem que tenha conhecimentos avançados para ser nosso programador, e com isso fazer melhorias no codigo fonte alem do desenvolvimento. A longo prazo temos o objetivo de escrever um codigo fonte completamente proprio para o servidor porem com um mecanismo central re-aproveitavel para o desenvolvimento de um jogo. (ampliando a equipe se necessario). Disponibilidade: 8 horas diaria de segunda a sexta feira. Remunerações: Inicial em R$ 400,00 mensais para um periodo de teste por 3 meses. Após este periodo iremos conversar sobre a efetivação do interessado. Caracteristicas Pessoais: Ter 17 anos ou mais. Residir no estado de São Paulo. Ter desejo de entrar no ramo de desenvolvimento de jogos. Trabalho em Equipe. Caso você se encaixe nas espeficações acima e tem interesse em trabalhar conosco por favor envie um email a [email protected] Grato por sua atenção, Leandro, Equipe UltraxSoft.
  8. Eu presiso de alguem que possa me encinar a programar ots ou qualquer outra cousa em c++ se tiver um progeto pesso para acompamhar apenas para amprender sem gm nem tutor nem nada (urgente presiso de prof...)
×