Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''Programação''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • A Cidade OTBR
    • OTServ Brasil
    • Atendimento
    • Taverna
  • Projetos Open Source
    • Canary
    • OTServBR-Global
    • Mehah OTClient
    • MyAAC
  • OpenTibia
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
  • Outros
    • Design

Encontrado 130 registros

  1. Programação Erro ao compilar

    Salve galera, tudo bem? Estou com um erro ao tentar compilar uma "source 0.3.6", não sei o que pode ser pois nem alterei nada neste arquivo; Segue o erro: In member function 'void Items::parseItemNode(xmlNode*, uint32_t)': 1739 C:\Users\items.cpp a function-definition is not allowed here before '{' token 1823 C:\Users\items.cpp expected '}' at end of input 1823 C:\Users\items.cpp *** [obj//items.o] Error 1 O código: Se alguém puder me ajudar, ficarei muito grato!
  2. Base: TFS 1.2, Versão 8.6 Qual a sua pergunta? Queria saber onde usar o OnSelectTarget e sua tag, se é em events, creaturescript... Peguei esse script de outro forum, então estarei disponibilizando o código dele aqui. Creditos: MarceLoko
  3. Segui este tutorial E o original do GitHub do TFS e estou com 3 erros em 1 mesmo arquivo RSA.H
  4. Base: The Forgotten Server 1.1, Versão: 9.86 (downgraded) Qual a sua pergunta? Onde eu encontro o código responsável pelo ganho de Speed por nível, e como ele funciona? Meu objetivo é removê-lo, ou editá-lo para que não se receba bônus de Speed cada vez que o personagem sobe de nível.
  5. Programação Efeito de Poça ao Morrer

    Galera, anteriomente, eu fiz uma postagem que eu estava querendo remover o efeito de sangue ao receber atk ou ao atk. Agr a duvida e semelhante, queria remover a poça que da ao morrer, exemplo quando eu morro ou algum jogador morre, aparece uma poça de sangue em baixo do corpo de ambos. Queria saber se alguem pode me ajudar com essa duvida ai ! TFS 0.3.6 - 8.54
  6. Programação Efeito de sangue

    Eai galera. Nos tibias e alguns derivados possuir um efeito de sangue que todos conhecem, (Ao atar um mob ou levar dano de algo, sai um efeito de sangue tanto do persgonagem quanto do mob.) Eu estava querendo remover este efeito, algumas pessoas me informaram que seria pela source em alguns locais mas não encontrei e tbm nada derivado a blood. ! Eu uso verção 8.54, 0.3.6. Se alguem puder me dar uma força agradeço.
  7. Salve salve! Estou compilando as Sources do TFS 0.4 com a rev3777 (8.6), assim como no tutorial: Cheguei na parte de compilar, depois de abrir o TFS.dev, e me surgiu uma dúvida. Dúvida: Em meu projeto, as vocações serão alteradas, não existirá mais as vocações padrão: Druid, Knight, Paladin e Sorcerer. No lugar delas, apenas 2 novas que eu pretendo/quero criar. Eu preciso mudar agora, ou posso deixar pra mexer nisso após ter meu data pack compilado? Obs.: É minha segunda compilação, e minha noção sobre isso tudo ainda é básica (ou de nível inferior), me desculpem se a dúvida for irrelevante para alguns... Desde já, agradeço o suporte. Fico no aguardo de respostas.
  8. Olá novamente! Queria tirar minhas últimas dúvidas antes de compilar meu servidor, para não acabar pulando alguma parte importante. Já me decidi em usar o "TFS 1.3", disponível na seção de Downloads: O que eu queria saber, é que alterações não poderei mais fazer após a compilação do servidor, assim como no tutorial. Há algo importante que tenho que fazer antes? Ou, mesmo após compilar, posso fazer alterações conforme minhas necessidades?
  9. Olá pessoal, no meu server quando um player usar uma runa ou potion, o char para de andar e eu queria remover isso. Algumas soluções de cunho PALIATIVO que achei são de retirar o Exhaust e não é bem essa a intenção. Estou usando um server 10.99, database_otserv.sql (acho que é do Malucooo). Obrigado pela atenção.
  10. Olá pessoal, Eu consegui adaptar o Summon/Pet para entrar no PZ, passar por dentro dos jogadores e não ser atacado. Porém, estou precisando agora que ele passe também por dentro dos monstros. A ideia do summon será apenas um suporte (como os do Naruto), ele não atrapalhará em nada, apenas dará alguns bônus como life, mana e outros para o dono. Para uma possível ajuda nessa adaptação, vou mostrar baixo aonde editei o código para que ele possa passar por dentro do player (arquivo player.cpp) alterei as linhas onde têm bool Player::canWalkthrough(const Creature* creature) const até o fechamento dela e bool Player::canWalkthroughEx(const Creature* creature) const também até o fechamento dela por todo esse código abaixo: bool Player::canWalkthrough(const Creature* creature) const { if (group->access || creature->isInGhostMode()) { return true; } if (creature->isSummon() && creature->getMaster()->getPlayer()) { return true; } const Player* player = creature->getPlayer(); if (!player) { return false; } const Tile* playerTile = player->getTile(); if (!playerTile || (!playerTile->hasFlag(TILESTATE_PROTECTIONZONE) && player->getLevel() > static_cast<uint32_t>(g_config.getNumber(ConfigManager::PROTECTION_LEVEL)))) { return false; } const Item* playerTileGround = playerTile->getGround(); if (!playerTileGround || !playerTileGround->hasWalkStack()) { return false; } Player* thisPlayer = const_cast<Player*>(this); if ((OTSYS_TIME() - lastWalkthroughAttempt) > 2000) { thisPlayer->setLastWalkthroughAttempt(OTSYS_TIME()); return false; } if (creature->getPosition() != lastWalkthroughPosition) { thisPlayer->setLastWalkthroughPosition(creature->getPosition()); return false; } thisPlayer->setLastWalkthroughPosition(creature->getPosition()); return true; } bool Player::canWalkthroughEx(const Creature* creature) const { if (group->access) { return true; } if (creature->isSummon() && creature->getMaster()->getPlayer()) { return true; } const Player* player = creature->getPlayer(); if (!player) { return false; } const Tile* playerTile = player->getTile(); return playerTile && (playerTile->hasFlag(TILESTATE_PROTECTIONZONE) || player->getLevel() <= static_cast<uint32_t>(g_config.getNumber(ConfigManager::PROTECTION_LEVEL))); } E também adicionei esse código g_game.updateCreatureWalkthrough(creature); acima do g_game.updateCreatureType(creature); que está no arquivo luascript.cpp Pronto, com isso ele passa a andar por dentro dos jogadores. -/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/- APROVEITANDO o mesmo post, se alguém souber como faz para Summonar DENTRO DO PZ, por favor. Eu adaptei para ele entrar no PZ quando o jogador entrar, mas dentro do PZ não da pra sumonar caso o Pet/Summon não esteja sumonado. Vou mostrar aonde editei os códigos aqui abaixo pra facilitar o suporte. Dentro de ReturnValue Tile::queryAdd(int32_t, const Thing& thing, uint32_t, uint32_t flags, Creature*) const no arquivo tile.cpp procurei a linha if (hasFlag(TILESTATE_PROTECTIONZONE | TILESTATE_FLOORCHANGE | TILESTATE_TELEPORT)) { e adicionei o código seguinte logo a baixo dele. // INÍCIO SUMMON ENTRAR NO PZ if (creature->isSummon()) { if (hasFlag(TILESTATE_BLOCKSOLID)) { return RETURNVALUE_NOTPOSSIBLE; } return RETURNVALUE_NOERROR; } // FIM SUMMON ENTRAR NO PZ Pronto, agora ele já entra no PZ com o player. -/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/- E pra finalizar, o código que usei pra sumonar (scripts do movements): (obs.: como não estou conseguindo fazer com que sumone-o dentro do PZ, eu adaptei um sistema para avisar que dentro do PZ não da pra sumonar, porém não é isso que eu quero, coloquei provisoriamente). local cfg = { monster = "Rat" } function onDeEquip(cid, item, slot) if #getCreatureSummons(cid) >= 1 then local pet = getCreatureSummons(cid) for _, k in ipairs(pet) do doSendMagicEffect(getThingPos(k), 13) doRemoveCreature(k) return true end end return true end function onEquip(cid, item, slot) if getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid, "This summon is not permitted in a protection zone.") else if #getCreatureSummons(cid) == 0 then local monster = doSummonCreature(cfg.monster, getThingPos(cid)) doConvinceCreature(cid, monster) doSendMagicEffect(getThingPos(cid), 13) end end return true end -/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/- Para o Pet/Summon não ser atacado eu simplesmente marquei como "0" dentro do código do próprio monstro <flag attackable="0"/> DESDE JÁ OBRIGADO !
  11. Bom dia, Pessoal, é o seguinte, estou com um bug nos frags, vamos supor que coloquei para pegar red skull com 10 frags, o player pega 10 injusts e fica red, até ai tudo bem, a red skull dele sai dps de um tempo, porem os frags não estão saindo, então se ele volta a pegar só um injust, ele fica red novamente, os frags estão demorando de mais para sair, e era para sair junto com o red.. no meu antigo distro, tinha uma função de timedecreasefrag, onde eu colocava um tempo para cada frag sair, nessa nova distro, n encontrei nada do tipo e a função não funciona nela, eu precisava de alguma solução para remover os frags corretamente... segue meu player.cpp com a parte dos frags: bool Player::addUnjustifiedKill(const Player* attacked, bool countNow) { if(!g_config.getBool(ConfigManager::USE_FRAG_HANDLER) || hasFlag( PlayerFlag_NotGainInFight) || g_game.getWorldType() != WORLDTYPE_OPEN || hasCustomFlag(PlayerCustomFlag_NotGainUnjustified) || hasCustomFlag( PlayerCustomFlag_NotGainSkull) || attacked == this) return false; if(client && countNow) { char buffer[90]; sprintf(buffer, "Warning! The murder of %s was not justified.", attacked->getName().c_str()); client->sendTextMessage(MSG_STATUS_WARNING, buffer); } time_t now = time(NULL), today = (now - 84600), week = (now - (7 * 84600)); std::vector<time_t> dateList; IOLoginData::getInstance()->getUnjustifiedDates(guid, dateList, now); if(countNow) dateList.push_back(now); uint32_t tc = 0, wc = 0, mc = dateList.size(); for(std::vector<time_t>::iterator it = dateList.begin(); it != dateList.end(); ++it) { if((*it) > week) wc++; if((*it) > today) tc++; } uint32_t d = g_config.getNumber(ConfigManager::RED_DAILY_LIMIT), w = g_config.getNumber( ConfigManager::RED_WEEKLY_LIMIT), m = g_config.getNumber(ConfigManager::RED_MONTHLY_LIMIT); if(skull < SKULL_RED && ((d > 0 && tc >= d) || (w > 0 && wc >= w) || (m > 0 && mc >= m))) setSkullEnd(now + g_config.getNumber(ConfigManager::RED_SKULL_LENGTH), false, SKULL_RED); if(!g_config.getBool(ConfigManager::USE_BLACK_SKULL)) { d += g_config.getNumber(ConfigManager::BAN_DAILY_LIMIT); w += g_config.getNumber(ConfigManager::BAN_WEEKLY_LIMIT); m += g_config.getNumber(ConfigManager::BAN_MONTHLY_LIMIT); if((d <= 0 || tc < d) && (w <= 0 || wc < w) && (m <= 0 || mc < m)) return true; if(!IOBan::getInstance()->addAccountBanishment(accountId, (now + g_config.getNumber( ConfigManager::KILLS_BAN_LENGTH)), 20, ACTION_BANISHMENT, "Unjustified player killing.", 0, guid)) return true; sendTextMessage(MSG_INFO_DESCR, "You have been banished."); g_game.addMagicEffect(getPosition(), MAGIC_EFFECT_WRAPS_GREEN); Scheduler::getInstance().addEvent(createSchedulerTask(1000, boost::bind( &Game::kickPlayer, &g_game, getID(), false))); } else { d += g_config.getNumber(ConfigManager::BLACK_DAILY_LIMIT); w += g_config.getNumber(ConfigManager::BLACK_WEEKLY_LIMIT); m += g_config.getNumber(ConfigManager::BLACK_MONTHLY_LIMIT); if(skull < SKULL_BLACK && ((d > 0 && tc >= d) || (w > 0 && wc >= w) || (m > 0 && mc >= m))) { setSkullEnd(now + g_config.getNumber(ConfigManager::BLACK_SKULL_LENGTH), false, SKULL_BLACK); setAttackedCreature(NULL); destroySummons(); } } return true; } Se alguem puder me ajudar, eu agradeceria muito. Obrigado.
  12. Programação Erro na compilação

    Boa noite, eu utilizo o TFS 0.4 rev 3884 e ao colocar a função onmoveitem ( https://otland.net/threads/creatureevent-onmove-very-advanced.134016/ ) ele retorna esse erro na compilação: alguém poderia me ajudar por favor? Obrigado.
  13. Olá. Estou com uma dúvida sobre a programação do jogo em si. Vejo hoje em dia vários servidores com idéias boas e remakes excelentes, e veio a dúvida: - "É possível moldar o jogo do jeito que eu quiser, ou existem limites? O que eu posso e o que eu não posso modificar?" Estou aberto à discussões. Tenho várias idéias para implementações e modificações, mas primeiro precisaria entender como o Tibia foi programado para funcionar. Aceito links de tópicos como ajuda. Desde já, agradeço.
  14. Olá Amigos, Gostaria de saber se já aconteceu o mesmo problema com vocês, seguinte; Adicionei novos efeitos no OBB, depois editei o tools.cpp e const.h, mandei compilar, substitui o exe e por último editei o constants.lua. Os efeitos apareceram ok, porem, eles não desaparecem, não sei se tem q fazer mais alguma configuração ou fiz alguma coisa errado? Outra coisa que percebi que os efeitos funcionam somente com a acc do GOD, testei em um char comum e deu debug na hora. Desde já agradeço;
  15. Programação Linguagem Lua

    Olá! Estou começando a estudar Lua. Venho da linguagem Python. Estou com algumas dúvidas em relação ao Lua, no início parecia semelhante ao Python, porém quando falamos em modulos/bibliotecas a coisa muda totalmente. Minha dúvida é para entender essa questão de pacotes, se existe algum site para não perder tempo reinventado a roda. Atualmente meu objetivo é mostrar um texto na tela, como se fosse uma janela, porém transparente - estilo o conky do Linux - e somente mostrando as letras, para da a impressão de estar vinculado ao papel de parede.
  16. Quero fazer um servidor 100% em português. E é facil traduzir os nomes dos itens, magias, falas etc. Mas como eu traduzo quando damos look em algo? >> "You see a ..." >> "Você vê um..." E como traduzimos as palavras no Cliente do tibia? Tão quanto os botões, por exemplo o "Help", "Logout", "Stop", "Skull".... Grato desde já!
  17. Olá galera eu queria fazer um pedido eu vou explicar e especificar oque eu preciso , antes de pedir eu venho informar que eu vou dar rep ++ em todas postagens de quem me ajudar Bom vamos ao pedido : Oque eu quero é simplesmente um programa para eu adicionar dados exemplo : O programa vai ter banco de dados porque ?? porque eu quero que teja uma tela de login e senha simples não tão FODA uma coisa simples e também que esteja salvando os dados que eu estiver adicionando dentro do programa e eu quero que tenha um botão de alterar algum dos dados que eu adicionei e também tenha outro botão de remover algum dos dados que eu adicionei lembrando que precisa ter uma caixinha pequena pra marcar pra não remover todos os dados O programa vai conter tudo que tem na imagem abaixo , mais isso só foi uma demonstração veja \/.
  18. Programação OT 10x+ Windows

    Olá, sou novo aqui no fórum, estou procurando há alguns meses um tutorial que explique detalhadamente como colocar um servidor 10x+ online no windows, a maioria dos tutoriais que encontro são de linux. Antigamente quando baixava um OT, era só modificar pequenas coisas a seu gosto e pronto, só executar, os 10x tem uma diferença, parece que vem faltando arquivo, tem umas paradas de compilação e tal, procurei aqui e não encontrei tutorial também. Quem puder dar uma força ai, agradecido desde já!
  19. Programação Simples PT.4

    Hail! Náh Ultima Aula Vimos As Estruturas De Repetição Repete e Enquanto,Nesta Aula Iremos Ver a Estrutura De Repetição Para e Vetores! Para: Sintaxe: [b]Para [/b][VAR] [b]de [/b][N1] [b]ate [/b][N2] [b]passo [/b][OPTIONAL] Comandos... [b]proximo[/b] Explicação: Executa o Bloco De Comando N* vezes Incrementando(ou decrementando) o Contador Com o Passo. Passo Não é Obrigatorio(se n for declarado recebe 1). *Se N1 For 1 e Passo For 1 Ele Executa o Bloco N2 Vezes, Se N1 For Maior Que 1 e Passo For 1 Executa o Bloco N2-N1 Vezes, Entenderao Mais Com Os Exemplos! Exemplos: 1º-Escrever Todos Numeros De 1 ate 50: [b]inicio[/b] [b]inteiro [/b]i [color="silver"]// Declarando o Contador[/color] [b]para [/b]i [b]de [/b][color="Red"]1[/color] [b]ate [/b][color="red"]50[/color] [color="silver"]// Declarando o Loop[/color] [b]escrever [/b]i , [color="Magenta"]"\n"[/color] [color="Silver"]// Escrevendo o Número[/color] [b]proximo[/b][color="Silver"]// Fexando o Loop[/color] [b]fim[/b] 2º-Escrever Todos Numeros Pares Entre 1 e 51: [b]inicio[/b] [b]inteiro [/b]i [color="Silver"]// Declarando o Contador[/color] [b]para [/b]i [b]de [/b][color="red"]2[/color] [b]ate [/b][color="red"]50[/color] [b]passo [/b][color="red"]2[/color] [color="silver"]// Declarando o Loop Com Passo[/color] [b]escrever [/b]i , [color="Magenta"]"\n"[/color] [color="silver"]// Escrevendo o Número[/color] [b]proximo [/b] [color="silver"]// Fexando o Loop[/color] [b]fim[/b] 3º-Escrever Todos Numeros De 10 Até 1: [b]inicio[/b] [b]inteiro [/b]i [color="Silver"]// Declarando o Contador[/color] [b]para [/b]i [b]de [/b][color="red"]10[/color] [b]ate [/b][color="red"]1[/color] [b]passo [/b][color="Lime"]- [/color][color="red"]1[/color] [color="silver"]// Declarando o Loop Com Passo[/color] [b]escrever [/b]i , [color="Magenta"]"\n"[/color] [color="silver"]// Escrevendo o Número[/color] [b]proximo [/b] [color="silver"]// Fexando o Loop[/color] [b]fim[/b] Saídas Geradas Pelos Algoritmos Acima: 1º) [spoiler=Resp:] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 2º) [spoiler=Resp] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 3º) [spoiler=Resp] 10 9 8 7 6 5 4 3 2 1 Se Não Entendeu Revise Pois Vai Precisar Dele Para Aprender Vetores! Vetor: Vetor é Uma Tabela Uni Dimensional. Declaração(Estarei Usando Um Vetor Inteiro e Um Texto Na Explicacao e No Exemplo!): [b]inteiro [/b]idade[6] [b]texto [/b]nome[6] Note Que Se Declara Como Uma Variavel Normal,Só Muda o [] Na Frente, Sintaxe: tipo nome[posicoes + 1] No Caso Teria Que Ser Posicoes Mais 1,Por Que No Portugol o Vetor Comeca Em 1 e Tem Que Ter 1 Espaco Vazio "SEMPRE!", Ficando Assim a Declaração De 1 Vetor tipo Texto Com 5 Posições: texto nomes[[color="Red"]6[/color]] Lendo Valores De 1 Vetor: Você Pode Fazer Assim: [b]inicio[/b] [b]texto [/b]nome[6] nome[1] = "oi" nome[2] = "xD" nome[3] = "Este é" nome[4] = "Um POG!" nome[5] = "XAU" [b]fim[/b] Ou Assim: [b]inicio[/b] [b]inteiro [/b]i [b]texto [/b]nome [ [color="Red"]6[/color] ] [b]para [/b]i [b]de [/b][color="red"]1[/color] [b]ate [/b][color="red"]5[/color] [b]ler [/b]nome [ i ] [b]proximo[/b] [b]fim[/b] Para Se Escrever Valores Usa-se o Msm Metodo Que Para Ler! vetor [ posicao ] Exemplo: Ler 1 Vetor De N Posicoes Com Nomes e 1 Vetor Com As Idades De Cada Pessoa e Escreve-los Ao Contrario: [b]inicio[/b] [b]inteiro [/b]n , i [b]escrever [/b][color="Magenta"]"Digite a Quantidade De Pessoas:"[/color] [b]ler [/b]n [b]inteiro [/b]idade [ n [color="Lime"]+[/color] [color="Red"]1[/color] ] [b]texto [/b]nome [ n [color="lime"]+[/color] [color="red"]1[/color] ] [b]para [/b]i [b]de [/b][color="red"]1[/color] [b]ate [/b]n [b]escrever [/b][color="Magenta"]"Digite o Nome Da Pessoa "[/color] , i , [color="Magenta"]":"[/color] [b]ler [/b]nome [ i ] [b]escrever [/b][color="Magenta"]"Digite a Idade Da Pessoa "[/color] , i , [color="Magenta"]":"[/color] [b]ler [/b]idade [ i ] [b]proximo[/b] [b]para [/b]i [b]de [/b]n [b]ate [/b][color="Red"]1[/color] [b]passo [/b][color="Lime"]-[/color] [color="red"]1[/color] [b]escrever [/b][color="Magenta"]"Nome:"[/color] , nome [ i ] , [color="Magenta"]"\nIdade:"[/color] , idade [ i ] , [color="Magenta"]"\n"[/color] [b]proximo[/b] [b]fim[/b] Saídas Geradas Pelo Algoritmo Acima: Digite a Quantidade De Pessoas:[u]3[/u] Digite o Nome Da Pessoa 1:[u]Ushoriuma[/u] Digite a Idade Da Pessoa 1:[u]14[/u] Digite o Nome Da Pessoa 2:[u]Teste[/u] Digite a Idade Da Pessoa 2:[u]16[/u] Digite o Nome Da Pessoa 3:[u]Mamae[/u] Digite a Idade Da Pessoa 3:[u]40[/u] Nome:Mamae Idade:40 Nome:Teste Idade:16 Nome:Ushoriuma Idade:14 Exercício: Leia 1 Vetor De 7 Posicoes e Em Seguida Calcula a Soma De Todos Seus Elementos: [spoiler=Resposta!][spoiler=Fuuuuu][spoiler=Seja Honesto][spoiler=Ultimo] [b]inicio[/b] [b]inteiro [/b]numeros [ [color="Red"]8[/color] ] , soma , i [b]para [/b]i [b]de [/b][color="red"]1[/color] [b]ate [/b][color="red"]7[/color] [b]escrever [/b][color="Magenta"]"Digite Um Número:"[/color] [b]ler [/b]numeros [ i ] soma [color="RoyalBlue"]<-[/color] soma [color="Lime"]+[/color] numeros [ i ] [b]proximo[/b] [b]escrever [/b][color="Magenta"]"A Soma Do Vetor é:"[/color] , soma [b]fim[/b] Até a Proxima Aula!
  20. Programação Simples PT.3

    Hail! Náh Ultima Aula Vimos As Estruturas De Seleção e Os Operadores,Nesta Aula Iremos Ver As Estruturas De Repetição Enquanto e Repete Enquanto:Executa o Bloco De Comandos Enquanto a Condição For Verdadeira Repete:Exequta o Bloco De Comandos Até a Condição Ser Verdadeira(ou não)! Hey How Let's Go! Primeiro Iremos Conhecer a Estrutura Enquanto: Sintaxe: [b]enquanto [/b][condição verdadeira] [b]faz[/b] [Comandos] [b]fimenquanto[/b] Obs Valida Para Enquanto e Repete.:É Preciso Incrementar Ou Decrementar a Condição Sempre,Senao Você Irá Gerar Um LOOP Infinito(a Não Ser Que Queira Isso!) Exemplo: escrever todos os numeros de 1 ate 10: [b]inicio[/b] [b]inteiro [/b]numero [b]enquanto [/b]numero [color="Lime"]< [/color][color="Red"]10 [/color][b]faz[/b] numero [color="Blue"]<-[/color] numero [color="lime"]+[/color] [color="red"]1[/color] [b]escrever [/b]numero [b],[/b] [color="Magenta"]"\n"[/color] [b]fimenquanto[/b] [b]fim[/b] Saídas Geradas Pelo Algoritmo Acima: 1 2 3 4 5 6 7 8 9 10 Agora Iremos Conhecer a Estrutura Repete: Sintaxe: [b]repete[/b] [comandos] [b]ate[/b] [[color="Blue"]condição verdadeira[/color]] Exemplo: escrever todos os numeros de 1 ate 10: [b]inicio[/b] [b]inteiro [/b]numero [b]repete [/b] numero [color="Blue"]<-[/color] numero [color="lime"]+[/color] [color="red"]1[/color] [b]escrever [/b]numero [b],[/b] [color="Magenta"]"\n"[/color] [b]ate[/b] numero [color="Lime"]=[/color] [color="Red"]10[/color] [b]fim[/b] Saídas Geradas Pelo Algoritmo Acima: 1 2 3 4 5 6 7 8 9 10 Exercício: [color="purple"]Fazer Um Algoritmo Que Escreva Todos Os Numeros Pares entre 1 e 25 Usando o Enquanto e Um Algoritmo Que Escreva Em Ordem Decrescente Todos Os Números De 1 até 50 Usando Repete:[/color] [spoiler=Resposta:][spoiler=Seja Honesto!][spoiler=Só Abra Se Realmente Tentou][spoiler=Este é o Ultimo!] [b]inicio[/b] [b]inteiro [/b]numero [b]enquanto [/b]numero [color="Lime"]<[/color] [color="Red"]24 [/color][b]faz[/b] numero [color="Blue"]<-[/color] numero [color="lime"]+[/color] [color="Red"]2[/color] [b]escrever [/b]numero [b],[/b] [color="Magenta"]"\n"[/color] [b]fimenquanto[/b] [b]fim[/b] [b]inicio[/b] [b]inteiro [/b]numero [color="blue"]<-[/color] [color="red"]50[/color] [b]repete[/b] [b]escrever [/b]numero , [color="Magenta"]"\n"[/color] numero [color="Blue"]<-[/color] numero [color="Lime"]-[/color] [color="red"]1[/color] [b]ate [/b]numero [color="lime"]=[/color] [color="red"]0[/color] [b]fim[/b] Até a Proxima Aula!
  21. Programação Simples PT.1

    Hello! Olá Pessoal,apartir de hj vou comecar a dar "aulas" de programação, somente o basico. requisitos: Compilador portugol Download Aki! Mas Do Que Se Trata? se trata de 1 compilador de Algoritmos!(Para ensino basico!) (Pelo Menos Foi Isso Que Minha Professora Falo Quando Comecei Meu Curso!x.x) Sem Mais Delongas,Vamos Láh! PS.:Todo Programa Começa Com Inicio o Termina Com Fim \n Significa Quebra De Linha // Adiciona Comentario Na Linha /* Comentario De Muitas Linhas Até */ Primeiro Vamos Conhecer a Funcao De Saida De Dados(escrever ...): [size=3][b]inicio[/b] [b]escrever [/b]"Olá Mundo!" [b]fim[/b][/size] para executar o algoritmo acima aprete F3! Saída Do Algoritmo: Olá Mundo! Agora Vamos Conhecer Os Tipos De Variaveis: [b]texto [/b][color=Silver]// Armazena Um Conjunto De Caracteres[/color] [b]character [/b][color=Silver]// Armazena Caracteres Da Tabela ASCII[/color] [b]real [/b][color=Silver]// armazena numeros reais Ex. 3,5[/color] [b]inteiro [/b][color=Silver]// armazena numeros inteiros Ex 3[/color] [b]logico [/b][color=Silver]// armazena verdadeiro ou falso[/color] Para Armazenarmos Valores Em Uma Variavel Usamos o Símbolo "<-" Ou a Funcao "ler": //Ex1."<-" [b]inicio[/b] [b]texto [/b]palavra [color=Blue]<-[/color] [color=Magenta]"Aprendendo a Programar Com Ushoriuma!"[/color] [b]caracter [/b]teste [color=Blue]<-[/color] [color=Magenta]"V"[/color] [b]real [/b]ponto [color=Blue]<-[/color] [color=Red]3.5[/color] [b]inteiro [/b]numero [color=Blue]<-[/color] [color=Red]3[/color] [b]logico [/b]verdade [color=Blue]<-[/color] verdadeiro [b]escrever [/b][color=Magenta]"Var Tipo Texto(palavra):"[/color] , palavra , [color=Magenta]"\nVar Tipo Character(teste):"[/color] , teste , [color=Magenta]"\nVar Tipo Logico(verdade):"[/color] , verdade , [color=Magenta]"\nVar Tipo Real(ponto):"[/color] , ponto , [color=Magenta]"\nVar Tipo Inteiro(numero):"[/color] , numero , [color=Magenta]"\n---Fim---"[/color] [b]fim [/b]// "oi" [b],[/b] VAR [b],[/b] "oi":Usa-se , para concanetar strings Saída Gerada Pelo Algoritmo Acima: [color=black]Var Tipo Texto(palavra):[/color][color=black]Aprendendo a Programar Com Ushoriuma! [/color][color=black]Var Tipo Character(teste):V [/color][color=black]Var Tipo Logico(verdade):VERDADEIRO [/color][color=black]Var Tipo Real(ponto):3.5 [/color][color=black]Var Tipo Inteiro(numero):3 [/color][color=black]---Fim--- [/color] Agora Vamos Conhecer a Funcao De Entrada De Dados(ler var): [b]inicio[/b] [b]inteiro [/b]num [b]escrever[/b] [color=Magenta]"Digite Um Número Inteiro:"[/color] [b]ler[/b] num [b]real [/b]real_num [b]escrever [/b][color=Magenta]"\nDigite Um Número Real:"[/color] [b]ler [/b]real_num [b]texto [/b]frase [b]escrever [/b][color=Magenta]"\nDigite Uma Frase:"[/color] [b]ler [/b]frase [b]logico [/b]verdade [b]escrever [/b][color=Magenta]"\nDigite Um Valor Lógico:"[/color] [b]ler [/b]verdade [b]escrever [/b][color=Magenta]"Você Digitou:"[/color] , num , [color=Magenta]"\n"[/color] , real_num , [color=Magenta]"\n"[/color] , frase , [color=Magenta]"\n"[/color] , verdade , [color=Magenta]"\n---Fim---"[/color] [b]fim[/b] Saída Gerada Pelo Algoritmo Acima: Digite Um Número Inteiro:3 Digite Um Número Real:3.5 Digite Uma Frase:Oi,Meu Nick é Ushoriuma Digite Um Valor Lógico:falso Você Digitou:3 3.5 Oi , Meu Nick é Ushoriuma FALSO ---Fim--- Bem,Por Hj é sóh,Até a Proxima Aula!xD Duvidas,Sugestoes Postem Aki,Sem PMs Pliz,Minah Caixa Ta Quase Full :/ >.< thx!
  22. Aula I - Introdução a Linguagem C

    Olá galera da OTBR é um prazer imenso estar aqui com vocês. Primeiramente quero dizer que, sou iniciante na area de Programação e que como alguns estou começando nos estudos da mesma. De antemão quero justificar que, decidi criar tutoriais para ajudar os membros da seção e para meu crescimento na área, portanto não adianta me criticar por ser novato. Sem mais delongas vamos ao que interessa. [+]Para que se Estudar Programação? [+] A programação faz parte do dia a dia do ser humano. É atraves desta, que o homem aprimora e agiliza a transição da informação e aumenta o nivel tecnológico, proporcionando mais agilidade, conforto e seguraça para os que detém o mesmo. Com base na linguagem C, podemos encontra-la em sistemas operacionais, planilhas eletrônicas, processadores de texto, gerenciadores de banco de dados, etc, o que em sua maioria remete ao seguinte fato: a programação auxilia seu usúario na solução de problemas. E para começar a estudar a linguagem C, veremos brevemente um conceito de algoritmo. [+] O Que É um Algoritmo? [+] Muitas definições podem ser atribuidas á palavra algoritmo. Mais de uma forma resumida e clara : Um procedimento passo a passo para a solução de um problema. Sequência detalhada de ações a serem executadas para realizar alguma tarefa. Como podemos ver, um algoritmo nada mais é que uma sequência pré-determinada, para que um processo se finde, ou seja, tenha solução.Outra coisa muito importante de se ter conhecimento é que, a forma como os programas são traduzidos para a linguagem de máquina classifica-os em duas categorias: interpretados e compilados. Um interpretador lê a primeira instrução do programa, faz uma consistência de sua sintaxe(disposição das palavras e seu sentido lógico) e se não houver erro converte-a para linguagem de máquina(ou seja, o objeto ao qual o computador irá compreender o que se pede em determinada função) para finalmente executá-la Segue, entao, para a próxima instrução , repetindo o processo ate findar todas as instruções ou até que a consistência aponte algum erro. Um compilador lê a primeira instrução do programa, faz uma consistência de sua sintaxe e se nao houver erro converte-a para a linguagem de máquina e, em vez de executa-la, segue para a proxima instrução repetindo o processo ate findar as instruções ou ate que a consistência aponte algum erro.Se não houver erros, o compilador gera um programa em disco com o sufixo.obj com as instruções já traduzidas. Porém, o programa não pode ser executado até que sejam agregadas a ele rotinas em linguagem de máquina que lhe permitirão a sua execução. Este trabalho é feito por um programa chamado "linkeditor" que , alem de juntar as rotinas, criando um produto final com o sufixo EXE. [+] Forma Geral das Funções C [+] Vamos começar pelo menor programa possivel em C. Este programa compõe-se de uma única função chamada main. Todo e qualquer programa deve conter a função main(), pois ela determina o inicio do programa e o fim do mesmo. Os parentêses após o nome indicam que esta é uma função. O nome de uma função C pode ser qualquer um com exceção de main, reservado para a função que inicia a execução do programa.Toda função C deve ser iniciada por uma chave de abertura, {, e encerrada por uma de fechamento,}. Esta deve existir em algum lugar do seu programa, marcando assim o ponto de inicio para a execução do mesmo. Vamos adicionar uma instrução em nosso programa. Observação: as instruções devem sempre ser encerradas por ; , pois este é parte da função. É uma das funções de entrada e saida que podem ser usadas em C. Como citamos acima ("Ola galera OTBR"), esta informação é chamada de argumento de printf(). Outro exemplo: main() Este programa irá mostrar na tela do seu computador a seguinte mensagem: Cada argumento é separado por virgula, então podemos citar o exemplo: O programa imprimirá a seguinte mensagem: Manhuaçu é uma cidade que fica a 277 quilometros de Belo Horizonte. Portanto notamos alguns codigos de formatação, como %s que imprime uma cadeia de caracteres (ou seja, mais de um caractere estabelecido no argumento) e %d (que imprime o argumento em forma decimal), segue abaixo uma lista com alguns codigos e sua utilização em C. [+] Códigos Especiais [+] [+] Códigos de Formatação printf() [+] Vamos criar um pequeno programa, para que voces possam assimilar as ideias. Para isso iremos utilizar o compilador Dev-C++. [spoiler=Download Dev-C++]http://sourceforge.net/projects/dev-cpp/files/Binaries/Dev-C%2B%2B%204.9.9.2/devcpp-4.9.9.2_setup.exe/download Abra seu programa e vá em File>New>Source File ou apenas aperte Ctrl+N, como mostra a seguir: Faremos então um programa simples de soma,que receba algum valor, calcule o mesmo e mostre o resultado. Compile o programa em Execute>Compile e salve com a extensão .c. Apos feito isso basta ir em Execute>Run para rodar o programa. Explicando o programa: #include <stdio.h> Cabeçalho padrão de entrada/saida da linguagem C. #nclude <stdlib.h> Cabeçalho padrão que possui funções envolvendo alocação de memória,controla conversões e processos. //Variaveis int meninos, meninas, soma; Aqui declaramos as variaveis, meninos, meninas e soma e dizemos ao programa que elas possuem valor inteiro. Obs: a barra dupla serve para inserir um comentário em determinado trecho do programa. Lembrando que o programa ignora o que estáescrito depois de //. main() { } Esta é a função raiz do programa. Sua função é determinar o inicio e o termino do programa, ou seja, todos as instruções dentro desta função, constituem a rotina do programa. printf("Digite o numero de meninos na sala:"); Esta função imprime o argumento que lhe é atribuido, ou seja, no caso acima "Digite o numero de meninos na sala:". scanf("%d", &meninos); Esta função armazena o dado que é atribuido pelo usuário armazenando-o em uma variavel. Este armazenamento é representado acima por &meninos, ou seja, receba o valor do usuario e o armazene na variavel meninos. soma = meninos+meninas; Atribui a variavel soma um valor igual a soma de meninos e meninas. fflush (stdin); getch(); return 0; Nas próximas aulas, estudaremos a utilização desses comandos no final do programa. Bom galera, intao é isso, espero que tenha ajudado alguém que está iniciando, e que gostem da aula. Caso assim for, estarei preparando mais alguma coisa para compartilhar com vocês. Aceito sugestões e criticas - desde que sejam CoNsTrUTiVaS - . Até a proxima.
  23. [Video-Aula] Introdução à Lógica e C++

    Olá, estarei fazendo nos próximos dias e semanas video aulas para duas séries. A série de Lógica de Programação e a de Programando em C++. A série de Lógica de Programação abordará os conceitos básicos, para quem teve pouco ou nenhum contato com programação. Esta série será feita utilizando a linguagem C++, mas estará explicando o que é uma IDE, binário, o que é uma variavel e etc... A série Programando em C++ abordará também desde o início em C++, mas não estarei explicando nessa série conceitos básicos, como por exemplo, o que é uma variavel, um vetor, metódos de repetição e etc. Estes conceitos serão abordados e explicados de como funcionam no C++, mas não será explicado explicitamente O QUE É uma variavel, apenas será usada e mostrado como se declara/utiliza no C/C++. O video de introdução destas séries explica mais explicitamente as diferenças das séries, com a intenção de lhe mostrar se é interessante para você ver desde a parte de Lógica, ou se já poderia ir direto para a série Programando em C++ . Segue abaixo o video feito por mim: Introdução as séries de Lógica e C++ [ame] [/ame] Diferencial das aulas de Programando em C++ Será abordado assuntos de iniciantes e avançados nestas aulas, no final das aulas pretendo aplicar o que foi ensinado na prática e com exercícios mais interessantes de se fazer, exemplo: jogos, situações reais (trabalho) e programas divertidos. Abordarei também toda a parte de .h, cpp, resource, MFC, OOP, que são fundamentais e quase nunca explicadas! Obs¹: Possivelmente hoje mesmo já estarei iniciando os videos de Lógica, nos proximos dias/semanas devo finalizar uma série e a parte iniciante de C++. Obs2: Posteriormente estarei postando 1 tópico para a Série de Lógica e um tópico para a Série de Programando em C++, mas acho que as duas poderiam ficar na seção de C++, pois ambas serão feitas utilizando a linguagem C++. Abraço, até a próxima!
  24. O uso de grafos no ensino de sintaxes;

    Bom galera eu estou fazendo um artigo para o ENACOMP 2010 da UFG de Catalão sobre : O uso de grafos no ensino da sintaxe em linguagens de programação. Então eu queria recolher mais informações e principalmente opiniões sobre o assunto, pontos positivos e negativos, como os grafos podem facilitar ou dificultar o ensino da sintaxe de uma linguagem, etc. Obs.: Nenhuma frase, comentario será inserida no artigo sem autorização. Se eu quiser usar alguma citação postada eu entro em contato. Se esta não for a seção correta para esse tópico peço desculpas desde já. Desde já obrigado.
  25. 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 (http://forums.otserv.com.br/f76/aula-1-java-historico-da-linguagem-139858/) – Opcional Introdução ao Java por Piikachu (http://forums.otserv.com.br/f76/aula-2-java-introducao-a-linguagem-141002/) – 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 (http://java.sun.com/javase/downloads/widget/jdk6.jsp) (Instale) IDE Eclipse (http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliosr) (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
×