|
| 1 | +# Operadores |
| 2 | + |
| 3 | +#en GDscript todo script tiene que estar asociado a una escena o nodo para poder ejecutarlo |
| 4 | + |
| 5 | +#Operadores Aritméticos |
| 6 | +extends Node |
| 7 | +func _ready(): #la función _ready hace que la función se ejecute al momento de iniciar la ecena y solo puede ser usada una vez por script |
| 8 | + #suma |
| 9 | + print(10 + 3) |
| 10 | + #resta |
| 11 | + print(10 - 3) |
| 12 | + #multiplicación |
| 13 | + print(10 * 3) |
| 14 | + #división |
| 15 | + print(10 / 3.0) #si no se especifica que uno de los dos numeros es flotante te dará siempre como resultado un entero |
| 16 | + print(10 / float(3)) #se puede hacer de estas dos formas |
| 17 | + #modulo o resto |
| 18 | + print(10 % 3) |
| 19 | + #potencia |
| 20 | + print(10 ** 3) |
| 21 | + |
| 22 | +#Operadores de comparación |
| 23 | +extends Node |
| 24 | +func _ready(): |
| 25 | + var x = 2 |
| 26 | + print ("x = " + str(x)) #para poder hacer print a una variable de tipo texto y una de tipo booleano a la vez |
| 27 | + #Igualdad # tienes que convertir esta a texto |
| 28 | + print("x == 10 = " + str(x == 10)) |
| 29 | + #Desigualdad |
| 30 | + print("x != 10 = " + str(x != 10)) |
| 31 | + #Mayor que |
| 32 | + print("x > 10 = " + str(x > 10)) |
| 33 | + #Menor que |
| 34 | + print("x < 10 = " + str(x < 10)) |
| 35 | + #Mayor o igual que |
| 36 | + print("x >= 10 = " + str(x >= 10)) |
| 37 | + #Menor o igual que |
| 38 | + print("x <= 10 = " + str(x <= 10)) |
| 39 | + |
| 40 | +#Operadores lógicos |
| 41 | +extends Node |
| 42 | +func _ready(): |
| 43 | + # "and" o "&&" |
| 44 | + print("(2 > 3 and 4 + 3 = 7)= " + str(2 > 3 and (4 + 3 == 7))) |
| 45 | + # "or" o "||" |
| 46 | + print("(2 > 3 or 4 + 3 = 7)= " + str(2 > 3 or (4 + 3 == 7))) |
| 47 | + # "not" o "!" |
| 48 | + print("not 3 > 2 = " + str(not 3 > 2)) |
| 49 | + |
| 50 | +#Operadores de asignación |
| 51 | +#Las asignaciones en GDScript no pueden estar dentro de expreciones |
| 52 | +extends Node |
| 53 | +func _ready(): |
| 54 | + #Asignación |
| 55 | + var y = 7 |
| 56 | + #Suma y asignación |
| 57 | + y += 2 |
| 58 | + print(y) |
| 59 | + #Resta y asignación |
| 60 | + y -= 2 |
| 61 | + print(y) |
| 62 | + #Multiplicación y asignación |
| 63 | + y *= 2 |
| 64 | + print(y) |
| 65 | + #División y asignación |
| 66 | + y /= 2 |
| 67 | + print(y) |
| 68 | + #Resto y asignación |
| 69 | + y %= 2 |
| 70 | + print(y) |
| 71 | + #Exponente y asignación |
| 72 | + y **= 2 |
| 73 | + print(y) |
| 74 | + |
| 75 | +#Operadores de pertenencia |
| 76 | +extends Node |
| 77 | +func _ready(): |
| 78 | + # in |
| 79 | + print("u in pablo = " + str("u" in "pablo")) |
| 80 | + print("a in pablo = " + str("a" in "pablo")) |
| 81 | + # not in |
| 82 | + print("u not in pablo = " + str("u" not in "pablo")) |
| 83 | + print("a not in pablo = " + str("a" not in "pablo")) |
| 84 | + |
| 85 | +#Operadores de bit |
| 86 | +extends Node |
| 87 | +func _ready(): |
| 88 | + var numero_uno = 10 #1010 |
| 89 | + var numero_dos = 5 #0101 |
| 90 | + # "&" o "AND" |
| 91 | + print("10 & 5 = " + str(numero_uno & numero_dos)) #0 = 0000 |
| 92 | + # "^" o "XOR" |
| 93 | + print("10 ^ 5 = " + str(numero_uno ^ numero_dos)) #15 = 1111 |
| 94 | + # "|" o "OR" |
| 95 | + print("10 | 5 = " + str(numero_uno | numero_dos)) #15 = 1111 |
| 96 | + # "~" o "NOT" |
| 97 | + print("~10 = " + str(~numero_uno)) #-11 |
| 98 | + # Desplazamiento a la derecha o ">>" |
| 99 | + print("10 >> 3 = " + str(numero_uno >> 3)) #1 = 0000001 |
| 100 | + # Desplazamiento a la izquierda o "<<" |
| 101 | + print("10 << 3 = " + str(numero_uno << 3)) #80 = 1010000 |
| 102 | + |
| 103 | +#Estructuras de control |
| 104 | + |
| 105 | +#Condicionales |
| 106 | +extends Node |
| 107 | +var edad = 21 |
| 108 | +func _ready(): |
| 109 | + #Condicional "si" o "if" |
| 110 | + if (edad < 18): |
| 111 | + print ("eres menor de edad") |
| 112 | + #Condicional "sino, si" o "elif" |
| 113 | + elif (edad > 29): |
| 114 | + print("eres un adulto") |
| 115 | + #Condicional "sino" o "else" |
| 116 | + else: print("eres un joven adulto") |
| 117 | + |
| 118 | +#Iterativas |
| 119 | +extends Node |
| 120 | +func _ready(): |
| 121 | + for i in 7: |
| 122 | + print(i) |
| 123 | + for i in range(7): |
| 124 | + print(i) |
| 125 | + #while |
| 126 | + var i = 0 |
| 127 | + while (i< 12): |
| 128 | + print(i) |
| 129 | + i += 2 |
| 130 | + |
| 131 | +#Excepciones |
| 132 | +#GDScript no maneja execpriones y la explicaciñon sacada de la pagina de GDScript es la siguiente: |
| 133 | +#"Creemos que los juegos no deben fallar no importa la situación. Si una situación inesperada sucede, |
| 134 | +#Godot mostrara un error (el cual puede incluso llevarte al script), |
| 135 | +#pero seguidamente intentara recuperarse lo mejor posible y continuar en la medida de lo posible." |
| 136 | + |
| 137 | + |
| 138 | +#Ejercicio extra |
| 139 | +extends Node |
| 140 | +func _ready(): |
| 141 | + for numero in range(10, 56, 2): #en el rango entre 10 y 56 avanza cada 2 numeros |
| 142 | + if numero != 16 and numero % 3 != 0: |
| 143 | + print(numero) |
0 commit comments