Escribir en un blog … en 2022

Hace poco más de una semana que he vuelto a escribir en este blog, y he conseguido hacerlo con una frecuencia bastante alta. La clave para escribir con tanta frecuencia ha sido utilizar el blog como cuaderno de notas: para capturar ideas y recursos, e incluso desarrollar esos recursos y crear recursos propios.

A pesar de no conseguir visitas, estoy consiguiendo otras recompensas a nivel personal:

  • Cuaderno de notas adicional siempre accesible. Uso un cuaderno en papel, de hecho este post empecé a escribirlo en papel. El cuaderno en papel me ayuda a centrarme y focalizar, pero normalmente lo tengo en casa, por lo que no siempre lo puedo usar, en cambio el blog lo puedo usar desde el móvil o cualquier ordenador.
  • Ya he creado un recurso que puede ayudar a que mis clases sean más interesantes para mis alumnos de bachiller, y si las clases son más interesantes, el clima del aula será aun mejor.
  • Me ayuda a recordar, retomar, reforzar, volver a asimilar ideas interesantes.

Por qué prefiero papel y boli en plena era digital

  1. Foco. Ayudan a mantener el foco, concentrarse. Lo digital tiende a crecer de forma descontrolada, mientras que el papel nos ayuda a centrarnos en lo importante.
  2. Distracciones. El papel minimiza las distracciones, por el contrario, los medios digitales son un terreno minado de distracciones.
  3. Rapidez. Personalmente escribo más rápido en papel que en el móvil y la tablet.
  4. Tamaño y autonomía. El papel no tiene la limitación de batería que sí tiene un smartphone, una tablet o un Apple Pencil. Prácticamente podemos elegir el tamaño de nuestro cuaderno sin preocuparnos por su precio, el cm cuadrado es infinitamente más barato.
  5. Memoria. Escribir algo en un papel ayuda a recordar eso que estamos escribiendo. Cuando escribimos trasladamos algo intangible como es una idea al mundo físico, al mundo real, lo convertimos en algo tangible, y lo hacemos de forma activa.

Concluyo, la escritura en papel es una tecnología de la información, una de las más antiguas y que a día de hoy, a pesar de la gran variedad de alternativas digitales, sigue siendo de una gran utilidad.

Resumen semana 28 feb – 6 mar 2022

Aprende JavaScript con 7 juegos 1/7 – Piedra, papel o tijeras

Piedra, papel o tijeras

Primero implementamos la interfaz de nuestro juego en un fichero index.html. La interfaz visualizará la elección del ordenador, la elección del usuario, el resultado y los tres botones para que el usuario pueda elegir piedra, papel o tijeras. Al presionar uno de los botones la interfaz se actualizará como corresponda.

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
        <meta charset="utf-8">
        <title>Rock, paper, scissors</title>
  </head>
  <body>

      <h2>Computer: <span id="computer-choice"></span></h2>
      <h2>Your choice: <span id="user-choice"></span></h2>
      <h2>Result: <span id="result"></span></h2>

      <button id="rock">rock</button>
      <button id="paper">paper</button>
      <button id="scissors">scissors</button>

      <script src="app.js" charset="utf-8"></script>
  </body>
</html>

Creamos un fichero llamado app.js, y en este fichero referenciamos los diferentes componentes de la interfaz. Además, añadimos unas variables globales para almacenar la elección del usuario, el ordenador y el resultado (userChoice, computerChoice y result) .

onst computerChoiceDisplay = document.getElementById('computer-choice')
const userChoiceDisplay = document.getElementById('user-choice')
const resultDisplay = document.getElementById('result')
const possibleChoices = document.querySelectorAll('button')
let userChoice
let computerChoice
let result

Después capturamos el evento ‘click’ para todos los botones de la interfaz, para que al pulsar uno de los botones:

  • Se visualice la opción del usuario
  • Se genere una elección aleatoria para el ordenador (piedra, papel o tijeras = 1, 2 o 3)
  • Se visualice el resultado
possibleChoices.forEach(possibleChoice => possibleChoice.addEventListener('click', (e) => {
  userChoice = e.target.id
  userChoiceDisplay.innerHTML = userChoice
  generateComputerChoice()
  getResult()
}))

A continuación, implementamos la función generateComputerChoice() que genera la opción del ordenador:

function generateComputerChoice(){
  const randomNumber = Math.floor(Math.random() * 3) + 1
  if(randomNumber === 1){
    computerChoice = 'rock'
  }
  if(randomNumber === 2){
    computerChoice = 'scissors'
  }
  if(randomNumber === 3){
    computerChoice = 'paper'
  }
  computerChoiceDisplay.innerHTML = computerChoice
}

Y por último, implementamos la función que visualiza el resultado:

function getResult() {
  if(computerChoice === userChoice){
    result = 'its a draw!'
  }
  if(computerChoice === 'rock' && userChoice ==='paper'){
    result = 'you win!'
  }
  if(computerChoice === 'rock' && userChoice ==='scissors'){
    result = 'you lost!'
  }
  if(computerChoice === 'paper' && userChoice ==='scissors'){
    result = 'you win!'
  }
  if(computerChoice === 'paper' && userChoice ==='rock'){
    result = 'you lost!'
  }
  if(computerChoice === 'scissors' && userChoice ==='rock'){
    result = 'you win!'
  }
  if(computerChoice === 'scissors' && userChoice ==='paper'){
    result = 'you lost!'
  }
  resultDisplay.innerHTML = result
}

El código completo del fichero app.js:

const computerChoiceDisplay = document.getElementById('computer-choice')
const userChoiceDisplay = document.getElementById('user-choice')
const resultDisplay = document.getElementById('result')
const possibleChoices = document.querySelectorAll('button')
let userChoice
let computerChoice
let result

possibleChoices.forEach(possibleChoice => possibleChoice.addEventListener('click', (e) => {
  userChoice = e.target.id
  userChoiceDisplay.innerHTML = userChoice
  generateComputerChoice()
  getResult()
}))

function generateComputerChoice(){
  const randomNumber = Math.floor(Math.random() * 3) + 1
  if(randomNumber === 1){
    computerChoice = 'rock'
  }
  if(randomNumber === 2){
    computerChoice = 'scissors'
  }
  if(randomNumber === 3){
    computerChoice = 'paper'
  }
  computerChoiceDisplay.innerHTML = computerChoice
}


function getResult() {
  if(computerChoice === userChoice){
    result = 'its a draw!'
  }
  if(computerChoice === 'rock' && userChoice ==='paper'){
    result = 'you win!'
  }
  if(computerChoice === 'rock' && userChoice ==='scissors'){
    result = 'you lost!'
  }
  if(computerChoice === 'paper' && userChoice ==='scissors'){
    result = 'you win!'
  }
  if(computerChoice === 'paper' && userChoice ==='rock'){
    result = 'you lost!'
  }
  if(computerChoice === 'scissors' && userChoice ==='rock'){
    result = 'you win!'
  }
  if(computerChoice === 'scissors' && userChoice ==='paper'){
    result = 'you lost!'
  }
  resultDisplay.innerHTML = result
}

Fuente: Learn JavaScript by building 7 games de Ania Kubów

Aprende JavaScript programando 7 juegos

He encontrado este curso en freeCodeCamp.org para aprender JavaScript programando 7 juegos clásicos. El curso dura 5 horas y es gratuito, como todo lo que se puede encontrar en FreeCodeCamp.org. Eso sí, el curso es en inglés.

Me ha parecido una propuesta fantástica y creo que se puede adaptar al aprendizaje basado en proyectos, para alumnos de bachillerato, y tal vez de ESO.

Proyectos Javascript:

  1. Piedra, Papel o Tijeras
  2. Memory Game
// TODO: Adaptar curso a proyectos
// Tercer proyecto

El curso es una adaptación de un curso más avanzado que incluye juegos como Tetris.

Versión principiantes: https://www.freecodecamp.org/news/learn-javascript-by-coding-7-games/

Versión avanzada: https://www.freecodecamp.org/news/learn-javascript-by-building-7-games-video-course/

Afrontar la muerte de cara

Afrontar nuestro destino, aceptar las cartas que la vida nos reparte y jugarlas lo mejor posible, no dejar que el viento en contra nos pare. Sin duda, lo que nos vamos encontrando en la vida es decisivo, pero también lo es cómo decidamos afrontar cada adversidad.

Cuando sabes que tu tiempo en este mundo es finito y que cada vez te queda menos, puedes tomártelo de varias formas:

  • deprimirte, centrarte en tu mala fortuna, pensar en lo que habrías hecho en unas circunstancias diferentes, mejor.
  • evadirte y no pensarlo, seguir como si no fuese contigo.
  • aprovechar el tiempo al máximo, y no dejar que esa ‘condena’ te afecte a tí y los que te rodean, incluso que te motive para aprovechar mejor el tiempo y hacer cosas que siempre has querido hacer y que no has hecho. Afrontar la muerte de cara y usarla en tu beneficio.

Tú decides.

Cuídate

Improv circles pillow” by stitchindye is marked with CC BY-NC-SA 2.0.

A veces buscamos las causas de nuestros problemas en elementos externos: otras personas, compañeros de trabajo, familiares, las herramientas que usamos, cosas que no tenemos, la suerte e incluso la meteorología, o cualquier evento que catalogamos como adversidad.

Pero la clave de nuestras vidas reside en nosotros mismos. Somos nosotros quienes decidimos cómo actuamos ante todo lo que pasa en nuestras vidas, todo lo que nos sucede.

Cuida lo que dices sobre ti.
Cuida lo que escribes sobre ti.
Cuida lo que piensas de ti.
Cuida lo que haces.
Porque todo influirá en cómo te sientes.

Cuídate.

Para mejorar …

Para mejorar tu escritura, lee y escribe más.
Para mejorar tus relaciones, da más.
Para mejorar tus conversaciones, escucha más.
Para mejorar tu resistencia, muévete más.
Para hablar mejor en público, habla más.
Para mejorar tus conocimientos, enseña más.
Para ser más feliz, valora más.

Vala Afshar
A %d blogueros les gusta esto: