NuGuN Posted April 9, 2012 at 11:59 PM Report #448308 Posted April 9, 2012 at 11:59 PM Boas! Estou a desenvolver um projecto que no fundo é um jogo onde os jogadores desenvolvem um programa(robô) com recurso a uma API para combater contra outros jogadores. Para quem conhece o robcode, a ideia é basicamente a mesma mas com umas mudanças. Neste momento já está numa fase que se pode considerar avançada, mas vou precisar de um website com algumas funcionalidades simples e sinceramente esse não é de todo o meu forte... Dito isto venho aqui perguntar se alguém está interessado em entrar para o projecto, mais especificamente com o desenvolvimento do website, e também alguém para o grafismo(2D) que está muito fraco(fui eu que fiz 👍 ). Alguma dúvida é só perguntar. Deixo aqui um vídeo de uma batalha de 60 segundos entre dois robôs básicos(dá para fazer o embed do vídeo?): http://www.youtube.com/watch?feature=player_embedded&v=D-zvBawBVaI Cumps!
NuGuN Posted April 15, 2012 at 03:57 PM Author Report #449313 Posted April 15, 2012 at 03:57 PM Boas! Então não há ninguém interessado em entrar para o projecto? 😕 Esqueci-me de especificar o que o é necessário. Para o website é preciso apenas: - Um sistema de registo de utilizadores e o respectivo sistema de login - Uma página que mostre numa grelha as pontuações dos jogadores registados - Uma wiki ou algo do género para a documentação do jogo. Para este ultimo ponto(e talvez para os outros também), a tarefa pode estar facilitada pois o alojamento que tenho tem várias aplicações como o Wikimedia ou Drupal prontas a instalar. Ninguém com um tempito livre e vontade de se juntar ao projecto? 😉 Cumps!
HappyHippyHippo Posted June 8, 2012 at 07:45 PM Report #461535 Posted June 8, 2012 at 07:45 PM Rapaz ... acho que me vou juntar a ti para tornar isso na melhor coisa que já se viu 😄 tenho só duas questões - qual a linguagem de programação da aplicação - como é a API para programação do robô ? caso não "gostar" muito das respostas posso sempre fazer-te o site IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
NuGuN Posted June 23, 2012 at 12:23 PM Author Report #465100 Posted June 23, 2012 at 12:23 PM (edited) Boas. HappyHippyHippo, desculpa a demora na resposta mas estive algum tempo sem vir cá porque ultimamente o tempo é muito pouco ou nenhum... e por isso também este projecto tem estado parado... Respondendo às tuas perguntas, estou a desenvolver cliente e servidor em python. Em relação à API, ainda não está completa... para já só tem os comandos e eventos essenciais para fazer testes. Decidi primeiro criar a base para todo o tipo de comandos e eventos, e só depois adicionar o que falta, o que vai ser rápido porque vai ser só adicionar comandos e eventos. O site, como na altura não apareceram interessados, perdi algum tempo e fiz eu o site(que não ficou grande coisa). Praticamente está feito e o jogo já está pronto a integrar com o site, e falta também os conteúdos... Fica aqui um pequeno exemplo da documentação que tenho e o código de um dos robôs que está no video. Alguma dúvida é só dizeres. Comandos para mover o robô para a frente e para trás: 'robot_move_forward()' e 'robot_move_backward()': - Têm um valor mínimo de -10000, e um valor máximo de 10000. - Os valores podem ser positivos ou negativos. - Quando negativos, Invertem a direcção do movimento. - Consome 0.1% de energia a cada ciclo. São executados aproximadamente 25 ciclos por segundo, o que quer dizer que a cada segundo de movimento é consumido aproximadamente 2,5% de energia. Actualmente a energia gasta não é proporcional à velocidade do robô. Quer isto dizer que mova-se o robô a 4 pixeis por segundo ou a 1 pixel por segundo, gasta sempre a mesma energia. - Ex.: 'robot_move_forward(-20)' vai fazer com que o robô se movimente para trás. Aceita apenas valores inteiros. Quando o argumento é zero, imobiliza o robô. A unidade é o Pixel. Um dos eventos actualmente já a funcionar: 'scan_event()': - Recebido quando sao encontrados objectos durante um 'scan()' ou quando um 'scan()' é terminado. - Lista de argumentos: - objName: Nome do objecto encontrado. - objEnergy: Energia do objecto encontrado. - objDamage: Estragos do objecto encontrado. - objArmor: Lista com o estado da armadura do objecto encontrado. - objPosition: Posição do objecto encontrado. Ex.: (x, y) - objDirection: Direcção do objecto encontrado em graus. Arredondado às centésimas. - objRelativeDirection: Direção do objecto encontrado em relação ao nosso robô. Útil com os comandos “robot_turn_to()”, “gun_turn_to()” e “radar_turn_to()”. Arredondado às centésimas. - objSpeed: Velocidade do objecto encontrado. Actualmente é a velocidade com que o robot está configurado e não a que se está a mover - objDistance: Distancia entre o objecto encontrado e o nosso robô. - Este evento pode causar diferentes comportamentos no robô consuante a forma como o radar está configurado. Para melhor perceber o comportamento deste evento, consultar “Funcionamento do Scan”, “scan()”, “advanced_scan()”. - É configurável. Sugestões: Ver também “Funcionamento do Scan”, “scan()”, “advanced_scan()”, “robot_turn_to()”, “gun_turn_to()”, “radar_turn_to()”, “Armadura(explicação do conceito de armadura)”, “no_freeze_on”, “freeze_on”. E por fim o código de um dos robôs que está no video: # -*- coding:utf-8 -*- from port_module import Robot def term_battle_room(): exit(0) def term_battle(): exit(0) def scan_event( event ): global robot for obj in event.objsList: print "**********************************" print obj.objName print obj.objEnergy print obj.objDamage print obj.objArmor print obj.objPosition print obj.objDirection print obj.objRelativeDirection print obj.objSpeed print obj.objDistance robot.gun_turn_to( obj.objRelativeDirection ) robot.shoot() if __name__ == '__main__': alive = 1 # cria um robot robot = Robot() # Faz override aos metodos da classe 'Robot' # Não são todos obrigatórios robot.term_battle_room = term_battle_room robot.term_battle = term_battle robot.scan_event = scan_event # Inicia o robot result = robot.init() # Configura o modo de execução (opcional) robot.exec_mode('lock') # Subscreve o evento "scan_event" robot.subscribe_events( "'scan_event'" ) while( alive ): robot.scan() Cumps! Edited June 23, 2012 at 12:28 PM by NuGuN
HappyHippyHippo Posted June 23, 2012 at 02:04 PM Report #465113 Posted June 23, 2012 at 02:04 PM python : nunca me dei ao trabalho de aprender porque também nunca me foi necessário ... por isso, no que toca a ajudar no projecto, ficarei de fora se já tens site, porreiro então. bom sorte para o teu projecto IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
NuGuN Posted June 23, 2012 at 05:42 PM Author Report #465138 Posted June 23, 2012 at 05:42 PM O site... ter tenho. Dá para desenrascar... Mas não é o que chamaria de ideal. Portanto se estiveres interessado no desenvolvimento do site, é só dizeres 😄 Cumps!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now