NIkeL Publicado 12 Novembro 2014 Acerca daquela coisa do jogo que falei. Estive a pensar como seriam as simulações de um jogo de futebol, acho que neste momento o melhor era fazer tudo em base de cálculos e coisas do género e carregar para fazer o jogo e dar-nos logo o resultado no fim ou ao intervalo ou por partes do jogo, por exemplo atualizar o resultado de 15 em 15 minutos e com isso atualizar também as diferentes variantes que iriam colocar no jogo. Então era assim: Uma equipa tinha a sua média que era calculada com a média de cada jogar. Imaginemos que a média era de 100pts. Na parte da simulação do jogo iriam entrar a parte tática, Moral e Energia. Então imaginemos que a tática da equipa não era lá muito compatível com os jogadores e estava a um valor de 50%. Então o valor nesta primeira fase da equipa ficava a 50pts. Depois a moral estava razoável e situava-se também nos 50% e o valor da equipa descia para os 25pts. O Cansaço não era muito e a energia estava a 100%, e o valor final ficava a 25pts. Ou seja esta equipa iria para o jogo com 25pts no seu final. Calculávamos o mesmo para o computador, o valor tático estava relacionado com o treinador que estava lá, a moral começava com um valor razoável e a cada jogo iria ser ajustada com o que tinha acontecido, e a energia dependia dos dias de descanso e coisas assim... Acham que isto no fim dava para tornar isto mais competitivo ou esta forma de pensar não daria resultado e era muito chata? Depois o resultado podia depender da diferença dos resultados entre cada equipa, também podia inserir outros fatores como pressão, se joga em casa/fora, se os adeptos são muito apoiantes ou se serão mais calmos, coisas assim do género. Na altura pensei no algoritmo que faria para o jogo, o que pensei foi (e quero créditos se usares! :mrgreen: ) Um jogo tem 48 minutos, ou unidades de tempo. Dividias o jogo em blocos de 24 segundos (shot clock). Por cada bloco, fazias um cálculo, qualidade da equipa A + instruções (ofensivo, defensivo, o que quiseres aplicar) vs qualidade da equipa B + instruções e daria um resultado para esse bloco, 2, 3 ou 0 pontos. A probabilidade de ser 3 pontos aumentaria ou diminuiria dependendo dos atributos dos jogadores da equipa ofensiva. Se fosse 0 pontos podias fazer tipo 80-20% de hipótese de a equipa recuperar a bola e repetir novo bloco de 24 (essas percentagens mudariam dependendo dos atributos também). E por aí fora. A cada bloco de de 24 segundos dava um resultado e adicionavas ao resultado até ficares sem tempo (tiravas os 24 segundos aos 48 minutos a cada jogada até chegar ao 0). A partir daí afinavas o algoritmo até que desse resultados credíveis. Era por aí que eu ia sinceramente. Depois podias começar a meter mais detalhes, tipo os blocos não terem todos 24 segundos (dependendo da velocidade que davas como instrução às equipas), arranjavas forma de depois meter ocasiões de falta e lances livres (jogadas em que podia haver só 1 ponto portanto) e por aí fora. Se quiseres ajuda, opiniões, manda MP que é um projecto que não me importava nada de participar. Compartilhar este post Link para o post
g0dzilla Publicado 12 Novembro 2014 Como tenho como objetivo seguir Engenharia Informática convinha começar já aprender as bases da programação ? Se sim, o que recomendam, alguem aqui conhece o site: Code Academy? :compinchas: Vou começar pelo site CodeAcademy, que linguagem aconselham a começar a aprender ? :compinchas: Compartilhar este post Link para o post
Kratosthegod Publicado 12 Novembro 2014 Vou começar pelo site CodeAcademy, que linguagem aconselham a começar a aprender ? :compinchas: Python. Compartilhar este post Link para o post
NIkeL Publicado 15 Novembro 2014 (editado) Botão direito no projecto (no solution explorer à direita) e propriedades. No ecrã que aparece (igual ao da imagem) no output type, escolhes window application ou algo do género, pelo nome deves lá chegar. Isso vai-te criar um executável na pasta do projecto. Editado 15 Novembro 2014 por NIkeL Compartilhar este post Link para o post
JackBauerPT Publicado 16 Novembro 2014 Se tiveres acesso ao servidor da BD e a aplicação tiver configurada para aceder... Compartilhar este post Link para o post
Bashir Publicado 18 Novembro 2014 Python. Porquê já agora? Aqui na minha universidade os meus professores só nos dão PHP, não sei se é por acharem melhor ou se é por ser a única que sabem. :mrgreen: Compartilhar este post Link para o post
Kratosthegod Publicado 18 Novembro 2014 (editado) Porquê já agora? Aqui na minha universidade os meus professores só nos dão PHP, não sei se é por acharem melhor ou se é por ser a única que sabem. :mrgreen: É simples e intuitivo, e por isso uma excelente forma de aprender as cenas básicas de programação como ciclos, listas e essas tretas todas na minha opinião. Ah e obriga-te a identar para conseguires compilar, o que te vai criar boas rotinas (em princípio claro). E não tens de trabalhar com apontadores e isso, no meu caso a minha primeira linguagem foi C e olhando para trás e sabendo python, tinha muito a ganhar em ter tido primeiro a 2ª. Aliás, no IST já mudaram em Informática e já meteram Python como primeira acho eu (apesar de eu não ser de informática mas o user que pediu o conselho está interessado nisso). O paradigma de PHP é diferente, não se pode comparar muito com python. Editado 18 Novembro 2014 por Kratosthegod Compartilhar este post Link para o post
rozas Publicado 18 Novembro 2014 Isso dos ponteiros, até acho que é bom aprenderes isso logo de início. É complicado, sim, mas ficas logo com um conhecimento de algo que pode ser útil quando tens de gerir memória. Cá em Aveiro começamos com Java, depois é que passamos para C e ponteiros é das maiores dificuldades que o pessoal tem nessa passagem. Compartilhar este post Link para o post
Bashir Publicado 18 Novembro 2014 Obrigado pela resposta Kratos :compinchas: Tenho medo de quando sair da Univ, me peçam algo além do PHP e eu me veja um bocado á nora :mrgreen: Compartilhar este post Link para o post
Kratosthegod Publicado 19 Novembro 2014 Isso dos ponteiros, até acho que é bom aprenderes isso logo de início. É complicado, sim, mas ficas logo com um conhecimento de algo que pode ser útil quando tens de gerir memória. Cá em Aveiro começamos com Java, depois é que passamos para C e ponteiros é das maiores dificuldades que o pessoal tem nessa passagem. Como cadeira inicial não sei, começámos a dar ponteiros após um mês de aulas, para quem teve contacto com programação na primeira vez... acho muita coisa de uma vez para assimilar. E depois o projeto era à volta de listas, o que para meter a funcionar bem, é preciso saber muito bem apontadores. E não tive nenhuma cadeira de fundamentos ou lógica de programação ou algoritimia nem nada disso. Mas anyway, o gajo ainda está no secundario pelo que percebi, python até tem a sintaxe mais básica, para ele é mesmo o melhor. Quando tive Java já foi no mestrado, e até achei OOP intuitivo, mas começar com OOP deve ser estranho, digo eu, mas não vejo assim grande mal em se começar por aí, apesar de não achar o mais indicado. Compartilhar este post Link para o post
Pedrovsky Publicado 19 Novembro 2014 É simples e intuitivo, e por isso uma excelente forma de aprender as cenas básicas de programação como ciclos, listas e essas tretas todas na minha opinião. Ah e obriga-te a identar para conseguires compilar, o que te vai criar boas rotinas (em princípio claro). E não tens de trabalhar com apontadores e isso, no meu caso a minha primeira linguagem foi C e olhando para trás e sabendo python, tinha muito a ganhar em ter tido primeiro a 2ª. Aliás, no IST já mudaram em Informática e já meteram Python como primeira acho eu (apesar de eu não ser de informática mas o user que pediu o conselho está interessado nisso). O paradigma de PHP é diferente, não se pode comparar muito com python. Confere, antes a primeira linguagem era Scheme, mudaram recentemente (menos de 4 anos) para Python. Compartilhar este post Link para o post
Kratosthegod Publicado 19 Novembro 2014 Ah ya, já nem me lembrava que vocês começavam com Scheme, tipo wtf :lol: Compartilhar este post Link para o post
Bashir Publicado 19 Novembro 2014 Aqui começa-se com Portugol :mrgreen: Mas também não é informática, 95% dos alunos não vai programar. Compartilhar este post Link para o post
JackBauerPT Publicado 19 Novembro 2014 (editado) Ah ya, já nem me lembrava que vocês começavam com Scheme, tipo wtf :lol: Na FEUP também era assim, agora já não sei se continua. EDIT: Pelos vistos ainda usam Scheme na 1ª cadeira de programação. Editado 19 Novembro 2014 por JackBauerPT Compartilhar este post Link para o post
Ghelthon Publicado 20 Novembro 2014 Não sei se é o melhor tópico, mas alguém aqui sabe trabalhar com o Plesk? Compartilhar este post Link para o post
Rajnack Publicado 20 Novembro 2014 (editado) Boas, podem dar-me uma ajuda aqui??? O objetivo e fazer um programa que a seguir ao ponto final e ao espaço correspondente começar com letra maiuscula, mas apenas a primeira letra. por exemplo: 'ola. eu sou o joao.' -> 'ola. Eu sou o joao.' def ponto(texto): nova='' l=len(texto) for i in range(0,l): nova+=texto if texto=='.': nova=nova+texto[i+2].upper() return nova o meu output dá string index out of range... ja tentei de varias formas mas nao consigo sair daqui Editado 20 Novembro 2014 por Rajnack Compartilhar este post Link para o post
Kratosthegod Publicado 20 Novembro 2014 Acho que dá out of range porque no 2º "." vai tentar aceder a duas casas depois, coisa que não consegue. Compartilhar este post Link para o post
Ghelthon Publicado 20 Novembro 2014 E, mesmo sem o segundo ponto, a função não funciona porque me dá o mesmo output. Compartilhar este post Link para o post
Rajnack Publicado 20 Novembro 2014 (editado) def ponto(texto): nova='' l=len(texto) for i in range(0,l): nova+=texto if texto=='.': if i+2>l: break else: a=texto[i+2].upper() nova+=' '+ a return nova agora tenho assim e o output dá: 'ola. E eu sou o joao.' so falta fazer com que em vez de escrever um 'E' naquele sitio, escreva o 'E' no lugar do 'e' Editado 20 Novembro 2014 por Rajnack Compartilhar este post Link para o post
Kratosthegod Publicado 20 Novembro 2014 Isso sem estar identado como no editor é mais lixado perceber :mrgreen: O erro está na lógica. Tu metes logo a letra quando verificas que tem um "." antes. Ou seja, quando verificas que é o ".", metes a letra seguinte grande. Tudo bem, mas depois continuas o ciclo normalmente, e ele vai percorrer o espaço e o "e" do eu novamente no ciclo, e segundo a 1ª instrução metes de novo. Compartilhar este post Link para o post
Rajnack Publicado 20 Novembro 2014 Isso sem estar identado como no editor é mais lixado perceber :mrgreen: O erro está na lógica. Tu metes logo a letra quando verificas que tem um "." antes. Ou seja, quando verificas que é o ".", metes a letra seguinte grande. Tudo bem, mas depois continuas o ciclo normalmente, e ele vai percorrer o espaço e o "e" do eu novamente no ciclo, e segundo a 1ª instrução metes de novo. eu ja tinha percebido isso... so que nao consigo emendar :compinchas: Compartilhar este post Link para o post
Kratosthegod Publicado 20 Novembro 2014 Sem estar a pensar muito: If caracter = último, meter caracter e retornar nova elseif caracter = ".", fazer essa bodega else meter caracter normalmente. Compartilhar este post Link para o post
Ghelthon Publicado 20 Novembro 2014 (editado) def ponto(texto): l=len(texto) nova=[] for i in range(0,l): nova.append(texto[i]) cont=0 for i in range(0,l): if nova[i]=='.': cont=cont+1 if cont<=1: nova[i+2]=nova[i+2].upper() nova=''.join(nova) return nova Corrigi-te isso, assim funciona (sendo que apenas coloca em letra maiúscula a primeira letra depois do primeiro ponto, independentemente dos pontos que haja na frase). Se não perceberes alguma coisa, diz e eu explico. O problema no teu código era isto: TypeError: 'str' object does not support item assignment Provavelmente haverá formas mais eficientes de obter o mesmo resultado, mas funciona. :mrgreen: Editado 20 Novembro 2014 por Ghelthon Compartilhar este post Link para o post
Rajnack Publicado 20 Novembro 2014 def ponto(texto): l=len(texto) nova=[] for i in range(0,l): nova.append(texto[i]) cont=0 for i in range(0,l): if nova[i]=='.': cont=cont+1 if cont<=1: nova[i+2]=nova[i+2].upper() nova=''.join(nova) return nova Corrigi-te isso, assim funciona (sendo que apenas coloca em letra maiúscula a primeira letra depois do primeiro ponto, independentemente dos pontos que haja na frase). Se não perceberes alguma coisa, diz e eu explico. O problema no teu código era isto: Provavelmente haverá formas mais eficientes de obter o mesmo resultado, mas funciona. :mrgreen: eu percebi tudo o que tu ai tens... o problema é que no teste em que saiu esta pergunta nao é suposto usar listas pq elas nao saiam para o teste Compartilhar este post Link para o post
Ghelthon Publicado 20 Novembro 2014 (editado) Ah, então aí o caso muda de figura. :mrgreen: Por exemplo, se fizeres isto: str='casa' E depois isto: str[3]='o' Ou seja, para ficar 'caso' em vez de 'casa', vai dar um erro: TypeError: 'str' object does not support item assignment Assim de repente não me lembro de outra forma de fazer isso. E o mesmo se aplica para: str[3]=str[3].upper() Vais ter o mesmo erro. Editado 20 Novembro 2014 por Ghelthon Compartilhar este post Link para o post