stringtranslate.com

Ardilla (lenguaje de programación)

Squirrel es un lenguaje de programación orientado a objetos e imperativo de alto nivel , diseñado para ser un lenguaje de scripting liviano que se adapta al tamaño, ancho de banda de memoria y requisitos de tiempo real de aplicaciones como los videojuegos .

MirthKit, un sencillo kit de herramientas para crear y distribuir juegos 2D multiplataforma de código abierto, utiliza Squirrel para su plataforma. [2] Code::Blocks lo utiliza ampliamente para crear scripts y también se utilizó en Final Fantasy Crystal Chronicles: My Life as a King . [3] [4] También se utiliza en Left 4 Dead 2 , Portal 2 y Thimbleweed Park para eventos con scripts y en NewDark , una actualización no oficial del motor Thief 2: The Metal Age , para facilitar medios adicionales y simplificados de crear scripts de eventos de misiones, además de los scripts C habituales . [5]

Características del lenguaje

Sintaxis

Squirrel utiliza una sintaxis similar a C.

Factorial en Squirrel
función factorial ( x ) { si ( x <= 1 ) { devuelve 1 ; } de lo contrario { devuelve x * factorial ( x - 1 ); } }                
Generadores
función no_un_generador_de_números_aleatorios ( max ) { local last = 42 ; local IM = 139968 ; local IA = 3877 ; local IC = 29573 ; for (;;) { // bucles para siempre yield ( max * ( last = ( last * IA + IC ) % IM ) / IM ); } }                                    randtor local = no_un_generador_de_números_aleatorios ( 100 );   para ( local i = 0 ; i < 10 ; i += 1 ) imprimir ( ">" + reanudar randtor + "\n" );           
Clases y herencia
clase BaseVector { constructor (...) { si ( vargv.len () > = 3 ) { x = vargv [ 0 ]; y = vargv [ 1 ]; z = vargv [ 2 ] ; } } x = 0 ; y = 0 ; z = 0 ; }                            clase Vector3 extiende BaseVector { función _add ( other ) { if ( other instanceof :: Vector3 ) return :: Vector3 ( x + other . x , y + other . y , z + other . z ); de lo contrario, arroja "parámetro incorrecto" ; } función Print () { :: print ( x + "," + y + "," + z + "\n" ); } }                     local v0 = Vector3 ( 1 , 2 , 3 ) local v1 = Vector3 ( 11 , 12 , 13 ) local v2 = v0 + v1 ; v2 . Imprimir ();           

Aplicaciones

Aplicaciones que utilizan Squirrel

Juegos que utilizan Squirrel

Historia

El lenguaje se hizo público en 2003 bajo la licencia zlib/libpng . [22] En noviembre de 2010, la licencia se cambió a la licencia MIT para permitir que el proyecto se alojara en Google Code . [23] [24] Es desarrollado y mantenido por Alberto Demichelis.

Véase también

Referencias

  1. ^ "ardilla/HISTORIA en master - albertodemichelis/ardilla - GitHub".
  2. ^ Wiki para desarrolladores de MirthKit Archivado el 11 de febrero de 2014 en Wayback Machine
  3. ^ por Brandon Boyer (21 de febrero de 2008). "Gamasutra - Cobertura del evento GDC 2008". gamasutra.com . Gamasutra .
  4. ^ "Exclusivo: Entre bastidores del debut de Final Fantasy en WiiWare". gamasutra.com . Gamasutra . 23 de junio de 2008 . Consultado el 22 de septiembre de 2011 .
  5. ^ "L4D2 Vscripts - Comunidad de desarrolladores de Valve". developer.valvesoftware.com . Consultado el 6 de julio de 2018 .
  6. ^ "Guía de programación de Electric Imp". electricimp.com .
  7. ^ abcdefgh "VScript". valvesoftware.com . 20 de agosto de 2014 . Consultado el 17 de enero de 2015 .
  8. ^ "th155-decomp". GitHub . Consultado el 19 de octubre de 2020 .
  9. ^ "¿Qué demonios? ¿Es una nuez consumible? Por favor, ayuda. Me ha salido un código de error. ¿A alguno de vosotros le ha pasado esto antes?". reddit.com . 2019-03-24 . Consultado el 2021-09-04 .
  10. ^ "iv-multiplayer.com". www.iv-multiplayer.com . Archivado desde el original el 7 de junio de 2012. Consultado el 6 de julio de 2018 .
  11. ^ "Liberty Unleashed" (Libertad desatada) . Consultado el 4 de diciembre de 2019 .
  12. ^ "m2-multiplayer.com". www.m2-multiplayer.com . Archivado desde el original el 2013-01-02 . Consultado el 2018-07-06 .
  13. ^ "undernightinbirth". GitHub . Consultado el 18 de agosto de 2024 .
  14. ^ "AI:Página principal - OpenTTD". wiki.openttd.org . Consultado el 6 de julio de 2018 .
  15. ^ "Simutrans-Squirrel-API: Página principal". dwachs.github.io . Consultado el 6 de julio de 2018 .
  16. ^ "Wiki de recursos de VG". wiki.vg-resource.com . Consultado el 4 de septiembre de 2021 .
  17. ^ "Blog de Thimbleweed Park: motor". blog.thimbleweedpark.com . Consultado el 6 de julio de 2018 .
  18. ^ "NewDark 1.25: ¿Script de Squirrel?". ttlg.com . 2017-03-20 . Consultado el 2019-12-25 .
  19. ^ Vice City Multijugador
  20. ^ "¡Bienvenido al sitio web de VC-MP!". Archivado desde el original el 5 de abril de 2006. Consultado el 4 de mayo de 2014 .
  21. ^ "undernightinbirth". GitHub . Consultado el 18 de agosto de 2024 .
  22. ^ "El lenguaje de programación Squirrel". SourceForge . Consultado el 6 de julio de 2018 .
  23. ^ "Pasando a code.google.com y la licencia MIT - El lenguaje - Squirrel - El lenguaje de programación". forum.squirrel-lang.org . Consultado el 6 de julio de 2018 .
  24. ^ "Archivo de código de Google: almacenamiento a largo plazo para el alojamiento de proyectos de código de Google". code.google.com . Consultado el 6 de julio de 2018 .

Enlaces externos