Scripts de otros lenguajes.

Publicado por dixon, Mayo 11, 2022, 07:03:18 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

dixon

Hola, que tengan un buen día.


Algunos quizás se pregunten ¿para qué necesitamos scripts de otros lenguajes?, la respuesta que considero adecuada: Para romper los límites del game maker y permitir por ejemplo que un juego se ejecute directamente en esta web.

Hay muchos scripts en distintos lenguajes que requieren ser definidos y ajustados. En este post colocaré algunos scripts que considero importantes, de los cuales a  algunos les he dado una apariencia parecida a la de los de game maker.

Para JavaScript: Si empleamos el siguiente código en javascript podremos programar con algunas funciones del game maker.

function random(x)
{
var min = 0;
var max = x;
return Math.random() * (max - min) + min;
}

function abs(x)
{
return Math.abs(x);
}

function sign(x)
{
return Math.sign(x);
}

function floor(x)
{
return Math.trunc(x);
}

function frac(x)
{
int_part = Math.trunc(x); // returns 3
return Number((x-int_part).toFixed(2));
}





function chr(val){
return String.fromCodePoint(val);
}

function ord(str){
return str.charCodeAt();
}

function real(str){
return Number(str)
}

function string(val){
return val.toString()
}

function string_length(str){
return str.length;
}

function string_pos(substr,str){
return str.indexOf(substr)+1;
}

function string_copy(str,index,count){
num=index-1;
return str.substr(num,count);
}

function string_delete(str,index,count){
str1 = str.substr(0, index);
str2 = str.substr(index+count, str.length-count);
str3 = str1+str2;
return str3;
}

function string_insert(substr,str,index){
num=index-1;
return str.slice(0, num) + substr + str.slice(num);
}

function string_replace(str,substr,newstr){
return str.replace(substr,newstr);
}

function string_replace_all(str,substr,newstr){
return str.replaceAll(substr,newstr);
}


function string_count(substr,str)
{
return str.split(substr).length-1;
}


function string_count(substr,str)
{
contador=0;
while(str.includes(substr))
{
str=str.replace(substr,"");
contador+=1;
}
return contador;
}

function string_lower(str)
{
return str.toLowerCase();
}

function string_upper(str)
{
return str.toUpperCase();
}

function string_digits(str)
{
return str.replace(/\D/g,"");
}

function string_letters(str)
{
return str.replace(/\d/g,"");
}

function string_repeat(str,count)
{
return str.repeat(count);
}

function string_lettersdigits(str)
{
return str.replace(/[^a-zA-Z]/g, "");
}


Las funciones habilitadas con el script son:

random(x): Devuelve un número real aleatorio entre 0 y x. El numero es siempre menor que x.
abs(x): Devuelve el valor absoluto de x.
sign(x): Devuelve el signo de x (-1 o 1).
floor(x): Devuelve el piso de x, es decir, x redondeado a un número entero.
frac(x): Devuelve la parte fraccionaria de x, es decir, la parte detrás del punto decimal.

chr(val):Devuelve una cadena que contiene el carácter con código asci val.
ord(str):Devuelve el código asci del primer carácter en str.
real(str):Convierte str en un número real. str puede contener un signo menos, un decimal punto e incluso una parte exponencial.
string(val):Convierte el valor real en una cadena.
string_length(str):Devuelve el número de caracteres de la cadena.
string_pos(substr,str):Devuelve la posición de substr en str (0 = no ocurrencia).
string_copy(str,index,count):Devuelve una subcadena de str, comenzando en índice de posición y de conteo de longitud.
string_delete(str,index,count):Devuelve una copia de str con la parte eliminado que comienza en el índice de posición y tiene un recuento de longitud.
string_insert(substr,str,index):Devuelve una copia de str con substr agregado en el índice de posición.
string_replace(str,substr,newstr):Devuelve una copia de str con la primera ocurrencia de substr reemplazada por newstr.
string_replace_all(str,substr,newstr):Devuelve una copia de str con todos ocurrencias de substr reemplazadas por newstr.
string_count(substr,str):Devuelve el número de apariciones de substr en la cadena
string_lower(str):Devuelve una copia en minúsculas de str.
string_upper(str):Devuelve una copia en mayúsculas de str.
string_repeat(str,count):Devuelve una cadena que consiste en contar copias de str.
string_letters(str):Devuelve una cadena que solo contiene las letras en str.
string_digits(str):Devuelve una cadena que solo contiene los dígitos en str.
string_lettersdigits(str):Devuelve una cadena que contiene las letras y dígitos en str.






Si Dios quiere; Limpiaré la oficina, puliré el piso y les serviré café a todos, luego, me enseñarán a programar e iré a comprarles más café.

dixon

#1
Hola, saludos a todos. :-[

Aquí les dejo un script para python que imita algunas funciones del game maker.

import pygame
import math

"""
Notas importantes: 
1. A la pantalla la llamaremos "screen".
2. Tenemos que importar los módulos: pygame y math.
"""

#Pantalla
screen_size = [800, 600]
screen = pygame.display.set_mode(screen_size, pygame.RESIZABLE)
pygame.display.set_caption("Game editor")
clock = pygame.time.Clock()

# colores
c_aqua = [0, 255, 255]
c_black = [0, 0, 0]
c_blue = [0, 0, 255]
c_dkgray = [64, 64, 64]
c_fuchsia = [255, 0, 255]
c_gray = [128, 128, 128]
c_green = [0, 128, 0]
c_lime = [0, 255, 0]
c_ltgray = [192, 192, 192]
c_maroon = [128, 0, 0]
c_navy = [0, 0, 128]
c_olive = [128, 128, 128]
c_purple = [128, 0, 128]
c_red = [255, 0, 0]
c_silver = [192, 192, 192]
c_teal = [0, 128, 128]
c_white = [255, 255, 255]
c_yellow = [255, 255, 0]
brush_color = c_white

# inicializando las fuentes
pygame.font.init()
font_size = 32
font_name = "Sylfaen"
font_color = c_black
font_position = "left"
font = pygame.font.Font(None, font_size)

def draw_circle(x, y, r):
    pygame.draw.circle(screen, brush_color, (x, y), r, 1)

def draw_text(x, y, txt):
    global font_color
    font_sys = pygame.font.SysFont(font_name, font_size)
    area = font_sys.render(str(txt), True, font_color)
    screen.blit(area, (x, y))

def draw_text_color(x, y, txt, color):
    font_sys = pygame.font.SysFont(font_name, font_size)
    area = font_sys.render(str(txt), True, color)
    screen.blit(area, (x, y))

def draw_rectangle(x, y, w, h):
    global brush_color
    pygame.draw.rect(screen, brush_color, (x, y, w, h))

def draw_rectangle_color(rect, color):
    pygame.draw.rect(screen, color, (rect.x, rect.y, rect.w, rect.h))

def draw_set_color(color):
    brush_color = color

def execute_string(str):
    exec(str)

def floor(x):
    return math.trunc(x)

def point_distance(x1, y1, x2, y2):
    p = [x1, y1]
    q = [x2, y2]
    distancia = math.dist(p, q)
    distancia_entero = math.trunc(distancia)
    return distancia_entero

def string_count(substr, str):
    return str.count(substr)

def string_copy(str, index, count):
    return str[index:index + count]

def string_delete(str, index, count):
    return str[0:index:] + str[index + count::]

def string_insert(substr, str_x, index):
    if type(str_x) == list:
        list_prev = str_x[:index]
        list_prev.append(substr)
        list_prev += str_x[index:]
        return list_prev
    else:
        substr_x = str(substr)
        return str_x[:index] + substr_x + str_x[index:]

def string_length(str):
    return len(str)

def string_pos(substr, str):
    return str.index(substr)

Si Dios quiere; Limpiaré la oficina, puliré el piso y les serviré café a todos, luego, me enseñarán a programar e iré a comprarles más café.

dixon

Hola buenas noches.

Aqui voy a dejar un codigo javaScript muy basico pero que considero importante para crear juegos y aplicasiones Web. En mi caso lo voy a usar de base para crear un joystick tipo palanca para un juego html5.

//Para obtener la posicion X y Y de un elemento html
//esto devuelve un objeto con posiciones X y Y
//Ejemplo:
//var objeto = posicion(id_elemento)
//var objeto_x = objeto.x
//var objeto_y = objeto.y
function posicion(id_elemento)
{
elem = document.getElementById(id_elemento); 
return elem.getBoundingClientRect();
}

//Para obtener la posicion del mouse en la página.
//las variables mouse_x y mouse_y almacenarán la posición del mouse.
mouse_x = 0
mouse_y = 0
document.addEventListener("mousemove", mouseMoveHandler, false);
function mouseMoveHandler(e)
{
mouse_x = e.clientX
mouse_y = e.clientY
}

//Para detectar que se ha cambiado el alto y/o el ancho de la ventana
window.addEventListener("resize",ajustar_todo);
function ajustar_todo(){
//aqu� va el código que se empleará para ajustar todo
alert("ajustando")
}

//Para la ejecucion constante de código o para crear un ciclo.
setInterval(function x(){ejecucionConstante()}, 1000/30);
function ejecucionConstante(){
//aqu� va el código que necesita ser ejecutado frecuentemente.
}
Si Dios quiere; Limpiaré la oficina, puliré el piso y les serviré café a todos, luego, me enseñarán a programar e iré a comprarles más café.

Powered by EzPortal
SMF spam blocked by CleanTalk