• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Concurso Robocode

    Programado Fijo Cerrado Movido
    General
    19
    102
    6.8k
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • EduArdPcE
      EduArdPc
      Última edición por cobito

      Lo q voy a decir a continuación trata de programación, por ello, algunos podeis pensar q tendria q ir en ese apartado. Pero la idea principal es hacer un concurso/torneo (no remunerado, solo por placer y por honor) entre todos los usuarios de este foro. Si la idea os gusta lo podriamos tirar palante.

      Seguramente muchos de vosotros ya lo conocereis. El programa en cuestion se llama robocode. y consiste en q programas un robot en JAVA, para q destruya a los otros robots.
      Lo bueno es q sin saber programar (o sabiendo muy poquito) puedes ver ejemplos de otros robots y crear tu propio robot.

      El enlace en cuestión es http://robocode.alphaworks.ibm.com/home/home.html

      Yo este programa lo conocí en la Fiberparty, es ideal para hacerlo en sitios como este. con mucha gente. Lo bueno de esto es q incluso el robot mas simple puede ganar.

      Acabo de hacer un pequeño video de una sola ronda.

      os lo podeis bajar de www.paladi.com/robocode1.avi (CAMBIADO EL SERVIDOR)

      El campo de batalla puede ser tan grande como se quiera, y pueden jugar cientos de robots a la vez.
      Os gustaria hacer el concurso HL de Robocode?
      La partida la podriamos celebrar en 1 o 2 meses. Como organizador la partida se haria en mi PC. XD. y la partida seria grabada para q todos pudieseis ver en q fallan vuestros robots para futuras competiciones. os gusta la idea?

      1 Respuesta Última respuesta Responder Citar 0
      • DeKoDeD
        DeKoDe
        Última edición por

        Me Parece una idea muy buena, contad conmigo, espero que no sea muy dificil programar un bichito de eSos 😛

        1 Respuesta Última respuesta Responder Citar 0
        • PipelineP
          Pipeline
          Última edición por

          Esto no se parece al real Time Battle?

          1 Respuesta Última respuesta Responder Citar 0
          • EduArdPcE
            EduArdPc
            Última edición por

            explico un poco mas:
            este es un juego donde no se juega (y esto ha sido un juego de palabras) XD
            Me refiero a q tu programas a tu robot para q se mueva de una forma determinada ( siga a otro
            esquive a los otros, evite las paredes y cosas asi) Se ponen todos los robots de todos en el campo de batalla y se le da al boton de q empieze la batalla.
            y entonces solo puedes mirar y ver si tu robot funciona bien tal y como lo habias programado. Si lo has programado mal, lo mataran muy pronto, sino durara mas.

            Podeis ver funciones ya creadas en http://robocode.alphaworks.ibm.com/docs/robocode/index.html

            esto os hara el trabajo mas facil.

            Si os gusta la idea tiramos palante, ok?

            1 Respuesta Última respuesta Responder Citar 0
            • ZuiZ
              Zui
              Última edición por

              A mi me gustaria, si alguien puede poner un robot de ejemplo en plan simplon para ver como se hace me apunto 🙂

              1 Respuesta Última respuesta Responder Citar 0
              • PaladiP
                Paladi
                Última edición por

                Me parece muy buena idea, a ver si me lo miro y hago un robotillo listo xD

                1 Respuesta Última respuesta Responder Citar 0
                • EduArdPcE
                  EduArdPc
                  Última edición por

                  Este es un robot ejemplo de los q ya trae el programa<br /><br />package sample;<br />import robocode.*;<br />/<br /> * Tracker - a sample robot by Mathew Nelson<br /> * <br /> * Locks onto a robot, moves close, fires when close.<br /> */<br />public class Tracker extends Robot<br />{<br /> int count = 0; // Keeps track of how long we've<br /> // been searching for our target<br /> double gunTurnAmt; // How much to turn our gun when searching<br /> String trackName; // Name of the robot we're currently tracking<br /><br /> /<br /> * run: Tracker's main run function<br /> */ <br /> public void run() {<br /> trackName = null; // Initialize to not tracking anyone<br /> setAdjustGunForRobotTurn(true); // Keep the gun still when we turn<br /> gunTurnAmt = 10; // Initialize gunTurn to 10<br /> while (true) {<br /> // turn the Gun (looks for enemy)<br /> turnGunRight(gunTurnAmt);<br /> // Keep track of how long we've been looking<br /> count++;<br /> // If we've haven't seen our target for 2 turns, look left<br /> if (count > 2) <br /> {<br /> gunTurnAmt = -10;<br /> }<br /> // If we still haven't seen our target for 5 turns, look right<br /> if (count > 5)<br /> gunTurnAmt = 10;<br /> // If we still haven't seen our target after 10 turns, find another target<br /> if (count > 11)<br /> trackName = null;<br /> }<br /> }<br /> <br /> /<br /> * onScannedRobot: Here's the good stuff<br /> */ <br /> public void onScannedRobot(ScannedRobotEvent e) {<br /><br /> // If we have a target, and this isn't it, return immediately<br /> // so we can get more ScannedRobotEvents.<br /> if (trackName != null && !e.getName().equals(trackName))<br /> return;<br /><br /> // If we don't have a target, well, now we do!<br /> if (trackName == null) {<br /> trackName = e.getName();<br /> out.println("Tracking " + trackName);<br /> }<br /> // This is our target. Reset count (see the run method)<br /> count = 0;<br /> // If our target is too far away, turn and move torward it.<br /> if (e.getDistance() > 150)<br /> {<br /> gunTurnAmt = normalRelativeAngle(e.getBearing() + (getHeading() - getRadarHeading()));<br /> <br /> turnGunRight(gunTurnAmt); // Try changing these to setTurnGunRight,<br /> turnRight(e.getBearing()); // and see how much Tracker improves…<br /> // (you'll have to make Tracker an AdvancedRobot)<br /> ahead(e.getDistance() - 140);<br /> return;<br /> }<br /><br /> // Our target is close.<br /> gunTurnAmt = normalRelativeAngle(e.getBearing() + (getHeading() - getRadarHeading()));<br /> turnGunRight(gunTurnAmt);<br /> fire(3);<br /> <br /> // Our target is too close! Back up.<br /> if (e.getDistance() < 100)<br /> {<br /> if (e.getBearing() > -90 && e.getBearing() <= 90)<br /> back(40);<br /> else<br /> ahead(40);<br /> }<br /> scan();<br /> <br /> }<br /> <br /> /<br /> * onHitRobot: Set him as our new target<br /> */ <br /> public void onHitRobot(HitRobotEvent e) {<br /> // Only print if he's not already our target.<br /> if (trackName != null && !trackName.equals(e.getName()))<br /> {<br /> out.println("Tracking " + e.getName() + " due to collision");<br /> }<br /> // Set the target<br /> trackName = e.getName();<br /> // Back up a bit.<br /> // Note: We won't get scan events while we're doing this!<br /> // An AdvancedRobot might use setBack(); execute();<br /> gunTurnAmt = normalRelativeAngle(e.getBearing() + (getHeading() - getRadarHeading()));<br /> turnGunRight(gunTurnAmt);<br /> fire(3);<br /> back(50);<br /> }<br /><br /> /<br /> * onWin: Do a victory dance<br /> */ <br /> public void onWin(WinEvent e) {<br /> for (int i = 0; i < 50; i++)<br /> {<br /> turnRight(30);<br /> turnLeft(30);<br /> }<br /> }<br /> <br /> // normalAbsoluteAngle is not used in this robot,<br /> // but is here for reference.<br /> /<br /> * normalAbsoluteAngle: returns angle such that 0 <= angle < 360<br /> */ <br /> public double normalAbsoluteAngle(double angle) {<br /> if (angle >= 0 && angle < 360)<br /> return angle;<br /> double fixedAngle = angle;<br /> while (fixedAngle < 0)<br /> fixedAngle += 360;<br /> while (fixedAngle >= 360)<br /> fixedAngle -= 360;<br /> return fixedAngle;<br /> }<br /> <br /> /**<br /> * normalRelativeAngle: returns angle such that -180<angle<=180<br /> */ <br /> public double normalRelativeAngle(double angle) {<br /> if (angle > -180 && angle <= 180)<br /> return angle;<br /> double fixedAngle = angle;<br /> while (fixedAngle <= -180)<br /> fixedAngle += 360;<br /> while (fixedAngle > 180)<br /> fixedAngle -= 360;<br /> return fixedAngle;<br /> }<br /><br />}<br /><br />_________________________________________________________________________________<br /><br />si os bajais el video q he adjuntado este es el codigo del traker<br /><br />Este ya es un robot un poco elaborado ya q busca al enemigo y se centra en uno solo hasta q lo destruye o lo pierde de vista.<br /><br />NOTA: HAY GENTE Q ME HA DICHO Q NO PUEDEN VER EL VIDEO, PROBAD DE DESCARGARLO DE : <a href="www.paladi.com/robocode1.avi" target="_blank">www.paladi.com/robocode1.avi</a>

                  1 Respuesta Última respuesta Responder Citar 0
                  • EduArdPcE
                    EduArdPc
                    Última edición por

                    Que no os espante este codigo tan raro.
                    Este es uno de los ejemplos mas complejos. pero era para q vieseis hasta donde puede llegar (o mas).
                    Pero con unas pocas lineas (6) se puede hacer un robot
                    XD

                    1 Respuesta Última respuesta Responder Citar 0
                    • toxtliT
                      toxtli
                      Última edición por

                      Otro mas que se apunta jejejje tendremos que empezar a darle vueltas al tema 😉

                      1 Respuesta Última respuesta Responder Citar 0
                      • EduArdPcE
                        EduArdPc
                        Última edición por

                        aqui os pongo las 4 rondas q he jugado para hacer el ejemplo.
                        este segundo video ocupa 2mb y esta muy comprimido asi q perdon por la calidad.
                        El video esta en: www.paladi.com/robocode2.avi

                        1 Respuesta Última respuesta Responder Citar 0
                        • mOrPheOsM
                          mOrPheOs
                          Última edición por

                          ale otro que se apunta xDxD, pero me voy a tomar mi tiempo que esta semana toy con examenes, el miercoles los acabo y a ver si me meto enserio en esto:D

                          1 Respuesta Última respuesta Responder Citar 0
                          • Bm4nB
                            Bm4n
                            Última edición por

                            Ami la idea me gusta, pero nidea de como montar un bicho destos.
                            Podiais dar unas lecciones? enga k aprendo rapido.

                            Salu2

                            hlbm signature
                            ↳ Mis componentes

                            1 Respuesta Última respuesta Responder Citar 0
                            • ZenPiPerSZ
                              ZenPiPerS
                              Última edición por

                              Me parece una idea estupenda, aver si cuando acabe los examenes soy capaz de montarme un bixo desos. Ademas asi voy practicando con java, que apartir de enero me tocara dar java a saco 😛

                              Un Saludo!

                              1 Respuesta Última respuesta Responder Citar 0
                              • vallekanoV
                                vallekano
                                Última edición por

                                Yo tambien me apunto. Y así aprendo un poquito de java de paso :p:p

                                1 Respuesta Última respuesta Responder Citar 0
                                • GothM0GG
                                  GothM0G
                                  Última edición por

                                  Yo ya lo tengo puesto en Linux y aprendiendo.. Y por supuesto tambien me apunto 😉

                                  Espero que dentro de poco empieze el curso de programación en Java y os de unas palizas 😛

                                  1 Respuesta Última respuesta Responder Citar 0
                                  • vallekanoV
                                    vallekano
                                    Última edición por

                                    yo estoy bajandome el jodio plugin de java, que va lentisimo.

                                    Pero esperaros un tiempo hasta que nos lo controlemos mas o menos eh¡¡¡¡¡¡

                                    1 Respuesta Última respuesta Responder Citar 0
                                    • GothM0GG
                                      GothM0G
                                      Última edición por

                                      Yo sigo liado con el codigo de los tanquecitos de las narices… Hay cosas que entiendo y otras que no, pero en fin, se tendrá que ir aprendiendo poco a poco (nadie nace sabiendo). De todas formas eduardpc ya que te vemos puesto en el tema... a ver si nos puedes explicar por encima algunas cosas :rolleyes: He estado mirando el codigo de algunos robots (target, corners, fire, etc etc) y algunas cosas las entiendo... mis pricipales problemas vienen por culpa de las lagunas en programación que tengo 😛 Pero si conoces de algun sitio donde haya mas ejemplos y bien explicados nos seria muy util.

                                      Por ejemplo, a mi me gustaria hacer que el robot localizase a un objetivo girando el radar(por ahora que esté quieto, tanto el objetivo como el robot), una vez localizado apuntase con el cañon y posteriormente disparase...

                                      Lo maximo que he logrado ha sido que cada vez que haga un rastreo el radar, se dispare hacia donde apunte el cañon. Tambien he mirado que poniendole 360º al cañon en giro, en el momento en el que localiza al otro robot dispara (acertando o no)... pero en definitiva no es lo que quiero. Lo poco que he encontrado en español es un PDF donde te explica (de forma rapida) el MiPrimerRobot, creo que para dominar un poco sobre el tema es necesario aprender bastante Java.. o estoy equivocado?

                                      De momento seguire con los ejemplos a ver si saco algo en claro 😄 En fin, seguire dandole vueltas al tema 😛

                                      1 Respuesta Última respuesta Responder Citar 0
                                      • vallekanoV
                                        vallekano
                                        Última edición por

                                        Bueno, si lo que quieres es que esté quieto y que cuando pase uno por delante dispare (no se si es esto lo que quieres) pues quita lo de "turnGunRight(360)"

                                        Yo mas o menos si me entero, pero esto es pa echarle muchas horas…............................

                                        Y en 4 dias vacaciones..........que bien,jeje.

                                        1 Respuesta Última respuesta Responder Citar 0
                                        • daemonzD
                                          daemonz
                                          Última edición por

                                          Ya conocia yo esto de hace tiempo, hace poco se organizo un concurso de Robocode profesores vs alumnos en mi facultad.

                                          Documentacion variada:

                                          La API de Robocode (sin esto no vais a ningun lado):
                                          http://robocode.alphaworks.ibm.com/docs/robocode/index.html

                                          Web oficial de Robocode:
                                          http://robocode.alphaworks.ibm.com/home/home.html

                                          Instalación y construcción de robots simples. (ingles):
                                          http://www-106.ibm.com/developerworks/java/library/j-robocode/index.html

                                          Robots avanzados. Juego en equipo. (ingles):
                                          http://www-106.ibm.com/developerworks/java/library/j-robocode2/?loc=j

                                          Articulos sobre robocode. (ingles):
                                          http://robocode.net/articles.html

                                          Técnicas de construcción de robots, escritas por maestros del robocode. (ingles):
                                          http://www-106.ibm.com/developerworks/library/j-robotips/index.html

                                          Y un pekeño tutorial en PDF escrito por gente de mi facultad:
                                          http://sugus.eii.us.es/seiis/robocode/Robocode.pdf

                                          Buena caza 😛

                                          1 Respuesta Última respuesta Responder Citar 0
                                          • vallekanoV
                                            vallekano
                                            Última edición por

                                            jujujuju, como mola estooooooooooooooooo

                                            Esto es un vicio. Pero me voy a la cama que ya es tarde y mañana hay clase.

                                            La verdad es que está mazo curioso el "jueguecito" este y realmente le cojes un poco el truco a java en plan básico rapidillo.

                                            Bueno, mañana más.:dormido: :dormido: :dormido: :dormido: :dormido: :dormido: :dormido:

                                            1 Respuesta Última respuesta Responder Citar 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 1 / 6
                                            • First post
                                              Last post

                                            Foreros conectados [Conectados hoy]

                                            0 usuarios activos (0 miembros e 0 invitados).
                                            febesin, pAtO,

                                            Estadísticas de Hardlimit

                                            Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
                                            Somos un total de 34.8k miembros registrados.
                                            xenium_digital ha sido nuestro último fichaje.