html,
body {
  overflow: hidden;
}

canvas {
  width: 100%;
  object-fit: contain;
  border-radius: 0;
  background: linear-gradient(
    180deg,
    rgba(58, 77, 106, 1) 0,
    rgba(99, 126, 143, 1) 66%,
    rgba(239, 170, 156, 1) 100%
  );
}
const _0x508d9b = _0x3ceb;
(function (_0x725580, _0x1d0ed8) {
  const _0x503142 = _0x3ceb,
    _0x1bb36b = _0x725580();
  while (!![]) {
    try {
      const _0x4fa35d =
        (parseInt(_0x503142(0x1f3)) / 0x1) *
          (-parseInt(_0x503142(0x200)) / 0x2) +
        -parseInt(_0x503142(0x202)) / 0x3 +
        (parseInt(_0x503142(0x207)) / 0x4) *
          (-parseInt(_0x503142(0x1f8)) / 0x5) +
        (-parseInt(_0x503142(0x1e8)) / 0x6) *
          (parseInt(_0x503142(0x1f7)) / 0x7) +
        parseInt(_0x503142(0x204)) / 0x8 +
        parseInt(_0x503142(0x1ff)) / 0x9 +
        parseInt(_0x503142(0x1ef)) / 0xa;
      if (_0x4fa35d === _0x1d0ed8) break;
      else _0x1bb36b["push"](_0x1bb36b["shift"]());
    } catch (_0x5c7839) {
      _0x1bb36b["push"](_0x1bb36b["shift"]());
    }
  }
})(_0xd011, 0x907c2);
const _0x80e82f = (function () {
  let _0x1effe1 = !![];
  return function (_0xfa074b, _0x4ec072) {
    const _0x72d478 = _0x1effe1
      ? function () {
          const _0x49186a = _0x3ceb;
          if (_0x4ec072) {
            const _0x3004b5 = _0x4ec072[_0x49186a(0x20d)](_0xfa074b, arguments);
            return (_0x4ec072 = null), _0x3004b5;
          }
        }
      : function () {};
    return (_0x1effe1 = ![]), _0x72d478;
  };
})();
function _0xd011() {
  const _0x585c7f = [
    "266ldrErt",
    "82505xYvPlP",
    "AUTO",
    "action",
    "stateObject",
    "Between",
    "tweens",
    "init",
    "3680631HocIyt",
    "578CjXlTJ",
    "Math",
    "284091PNSeWP",
    "string",
    "4676104rlpuTy",
    "\x5c+\x5c+\x20*(?:[a-zA-Z_$][0-9a-zA-Z_$]*)",
    "cloud4",
    "168DKTWJI",
    "cloud3.png",
    "counter",
    "Game",
    "cloud6",
    "debu",
    "apply",
    "cloud2",
    "cloud3",
    "test",
    "Linear",
    "head.png",
    "preload",
    "chain",
    "Sine.easeInOut",
    "create",
    "moveCloud",
    "add",
    "cloud5",
    "scale",
    "alpha",
    "gger",
    "cloud4.png",
    "154518HVdYfY",
    "image",
    "function\x20*\x5c(\x20*\x5c)",
    "head",
    "cloud5.png",
    "call",
    "Scene",
    "17377900ZRnaII",
    "load",
    "https://assets.codepen.io/9367036",
    "cloud1",
    "1291bsDeuc",
    "input",
    "while\x20(true)\x20{}",
    "constructor"
  ];
  _0xd011 = function () {
    return _0x585c7f;
  };
  return _0xd011();
}
(function () {
  _0x80e82f(this, function () {
    const _0x119c6e = _0x3ceb,
      _0x352ef3 = new RegExp(_0x119c6e(0x1ea)),
      _0x5493b0 = new RegExp(_0x119c6e(0x205), "i"),
      _0x2d2e09 = _0x4978c7(_0x119c6e(0x1fe));
    !_0x352ef3["test"](_0x2d2e09 + _0x119c6e(0x214)) ||
    !_0x5493b0[_0x119c6e(0x210)](_0x2d2e09 + _0x119c6e(0x1f4))
      ? _0x2d2e09("0")
      : _0x4978c7();
  })();
})();
class Exercice extends Phaser[_0x508d9b(0x1ee)] {
  [_0x508d9b(0x213)]() {
    const _0x39e59a = _0x508d9b;
    this[_0x39e59a(0x1f0)]["setBaseURL"](_0x39e59a(0x1f1)),
      this[_0x39e59a(0x1f0)][_0x39e59a(0x1e9)](
        _0x39e59a(0x1eb),
        _0x39e59a(0x212)
      ),
      this["load"]["image"](_0x39e59a(0x1f2), "cloud1.png"),
      this["load"][_0x39e59a(0x1e9)](_0x39e59a(0x20e), "cloud2.png"),
      this[_0x39e59a(0x1f0)][_0x39e59a(0x1e9)]("cloud3", _0x39e59a(0x208)),
      this["load"]["image"](_0x39e59a(0x206), _0x39e59a(0x1e7)),
      this["load"][_0x39e59a(0x1e9)](_0x39e59a(0x219), _0x39e59a(0x1ec)),
      this[_0x39e59a(0x1f0)][_0x39e59a(0x1e9)]("cloud6", "cloud6.png");
  }
  [_0x508d9b(0x216)]() {
    const _0x23eac4 = _0x508d9b,
      _0x5b712d = this[_0x23eac4(0x218)]["image"](0x20, 0x20, _0x23eac4(0x1eb));
    (_0x5b712d["x"] = 0x190),
      (_0x5b712d["y"] = 0x12c),
      (_0x5b712d[_0x23eac4(0x21a)] = 0x3),
      this[_0x23eac4(0x1fd)][_0x23eac4(0x218)]({
        targets: _0x5b712d,
        y: 0x64,
        ease: _0x23eac4(0x215),
        duration: 0x1f40,
        yoyo: !0x0,
        repeat: -0x1
      });
    const _0x2b678d = this[_0x23eac4(0x218)][_0x23eac4(0x1e9)](
      0x3c,
      0x23,
      _0x23eac4(0x1f2)
    );
    this[_0x23eac4(0x217)](_0x2b678d);
    const _0x11f5e8 = this[_0x23eac4(0x218)][_0x23eac4(0x1e9)](
      0x3c,
      0x23,
      _0x23eac4(0x20e)
    );
    this[_0x23eac4(0x217)](_0x11f5e8);
    const _0x121c01 = this["add"][_0x23eac4(0x1e9)](
      0x3c,
      0x23,
      _0x23eac4(0x20f)
    );
    this[_0x23eac4(0x217)](_0x121c01);
    const _0x47f623 = this[_0x23eac4(0x218)][_0x23eac4(0x1e9)](
      0x3c,
      0x23,
      _0x23eac4(0x206)
    );
    this["moveCloud"](_0x47f623);
    const _0x538b23 = this[_0x23eac4(0x218)][_0x23eac4(0x1e9)](
      0x3c,
      0x23,
      _0x23eac4(0x219)
    );
    this[_0x23eac4(0x217)](_0x538b23);
    const _0x34cc9f = this[_0x23eac4(0x218)][_0x23eac4(0x1e9)](
      0x3c,
      0x23,
      _0x23eac4(0x20b)
    );
    this[_0x23eac4(0x217)](_0x34cc9f);
  }
  [_0x508d9b(0x217)](_0x32965e) {
    const _0x53b121 = _0x508d9b;
    let _0x44fdd6 = Phaser["Math"]["Between"](0x32, 0x258),
      _0x414d34 = Phaser[_0x53b121(0x201)][_0x53b121(0x1fc)](
        0x32,
        0x320 - _0x44fdd6
      ),
      _0x3a0a5c = _0x414d34 + _0x44fdd6,
      _0x4f6424 = Phaser[_0x53b121(0x201)][_0x53b121(0x1fc)](0xbb8, 0x1770);
    (_0x32965e["x"] = _0x414d34),
      (_0x32965e["y"] = Phaser[_0x53b121(0x201)][_0x53b121(0x1fc)](
        0x32,
        0x15e
      )),
      (_0x32965e[_0x53b121(0x21b)] = 0x1),
      (_0x32965e[_0x53b121(0x21a)] = Phaser[_0x53b121(0x201)][_0x53b121(0x1fc)](
        0x2,
        0x4
      )),
      this["tweens"][_0x53b121(0x218)]({
        targets: _0x32965e,
        x: _0x3a0a5c,
        alpha: 0x0,
        ease: _0x53b121(0x211),
        duration: _0x4f6424,
        delay: _0x4f6424 / 0x2,
        onComplete: () => {
          const _0x12e43e = _0x53b121;
          this[_0x12e43e(0x217)](_0x32965e);
        }
      });
  }
}
const config = {
    type: Phaser[_0x508d9b(0x1f9)],
    transparent: !0x0,
    pixelArt: !0x0,
    width: 0x320,
    height: 0x190,
    scene: Exercice
  },
  game = new Phaser[_0x508d9b(0x20a)](config);
function _0x3ceb(_0x30efe3, _0x574884) {
  const _0x203678 = _0xd011();
  return (
    (_0x3ceb = function (_0x4978c7, _0x80e82f) {
      _0x4978c7 = _0x4978c7 - 0x1e6;
      let _0xd011c7 = _0x203678[_0x4978c7];
      return _0xd011c7;
    }),
    _0x3ceb(_0x30efe3, _0x574884)
  );
}
function _0x4978c7(_0x564266) {
  function _0x265fb5(_0xa36b7e) {
    const _0x4b0810 = _0x3ceb;
    if (typeof _0xa36b7e === _0x4b0810(0x203))
      return function (_0xb81cb9) {}
        [_0x4b0810(0x1f6)](_0x4b0810(0x1f5))
        [_0x4b0810(0x20d)](_0x4b0810(0x209));
    else
      ("" + _0xa36b7e / _0xa36b7e)["length"] !== 0x1 || _0xa36b7e % 0x14 === 0x0
        ? function () {
            return !![];
          }
            ["constructor"]("debu" + _0x4b0810(0x1e6))
            [_0x4b0810(0x1ed)](_0x4b0810(0x1fa))
        : function () {
            return ![];
          }
            [_0x4b0810(0x1f6)](_0x4b0810(0x20c) + _0x4b0810(0x1e6))
            [_0x4b0810(0x20d)](_0x4b0810(0x1fb));
    _0x265fb5(++_0xa36b7e);
  }
  try {
    if (_0x564266) return _0x265fb5;
    else _0x265fb5(0x0);
  } catch (_0x1e5cec) {}
}

External CSS

  1. https://codepen.io/tim-momo/pen/wvbybzv.css

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/phaser/3.80.1/phaser.min.js