Skip to content

jamperezmondragon/ReKarel

 
 

Repository files navigation

Rework of omegaup's Karel.js.

It's main reason is so it works in mobile, currently it doesn't because

  • CodeMirror 5 isn't mobile compatible
  • WorldRenderer scroll doesn't work on all devices
  • It is not responsive, toolbar is gone in mobile

This new version includes:

  • Now with bootstrap 5
  • Now with CodeMirror 6

Features from Karel.js

Migrations

  • Migrated to Bootstrap 5.3.0
  • Migrated to JQuery 3.6.1
  • Migrated to CodeMirror 6
  • Migrated Split.js

Deprecated

  • Removed Karel Ruby as it didn't worked and it seemed to be in route of deprecation.

Mobile

  • Supports touch control on both views.
  • UI changes to one better suited for small screens, similar to "Karel blue", aka Karel.exe
  • CodeEditor maybe edited without writing.

Quality of live

  • Settings that allow to set:
    • Prefered programming language (default is auto as Karel.js)
      • If set, syntax higlighting and compile will always try that language.
    • The view (force one view independent of screen size)
    • Code Font size
  • Hotkeys
    • Ctrl+K Decreases editor's font.
    • Ctrl+L Increases editor's font.
  • Added the ability to zoom in and out of the world.
  • Native scrolling with scrollbars for the world renderer.
    • The previous scroll was hard to use imo.
  • Added the ability to specify the name of the file to be downloaded, either code or world
  • Added clean button to remove old messages from console.
  • "Are you sure?" before reseting code
  • "Are you sure?" before reseting world
  • Added icons to Karel position.
  • If the execution ends in RTE, it is made more noticable by changing the world background color.
  • You can change Karel Codes
  • Dark and Light mode

World Editor

[x] Reworked world editor.

Now, it works similar to a spreadsheet software.

  • World edition is based on cell selection and a toolbar.

You can select a rectangular selection of cells and:

  • Place walls on the selection border (You may use the toolbar or WASD hot-keys)
  • Add, remove, clear, set the ammount of beepers in the selection (Use 1 ... 9 or Q E R C hot-keys)
  • Move/Rotate Karel (Use G or P hot-keys)
  • [ ]

Execution

  • You can step into a function, out of a function or skip a function, similar to other debuggers
  • The stack now also reports what number it is in the stack for readability

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 72.1%
  • HTML 16.7%
  • TypeScript 8.5%
  • Yacc 2.4%
  • CSS 0.3%