What is new in Ring 1.10?¶
In this chapter we will learn about the changes and new features in Ring 1.10 release.
List of changes and new features¶
Ring 1.10 comes with the next features!
- Chess Game
- Minesweeper Game
- Knight Tour Game
- Game of Life Game
- Pong Game
- Snakes and Ladder Game
- More Games
- Ring Extension for Visual Studio Code
- The Ring Package Manager (RingPM)
- Better Tests
- More Improvements
Minesweeper Game¶
The objective of the game is to clear a rectangular board containing hidden “mines” or bombs without detonating any of them.
Knight Tour Game¶
Move to every square on the chess board, using only the moves of a knight.
Can you visit every square in just 63 moves?
Game of Life Game¶
The game is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input.
One interacts with the Game of Life by creating an initial configuration and observing how it evolves, or, for advanced players, by creating patterns with particular properties.
Pong Game¶
Simple “tennis like” game features two paddles and a ball.
The goal is to defeat your opponent once the opponent misses a ball.
More Games¶
The next games are added to the application folder
- Lights Out Game
- Dots and Boxes Game
- Magic Four Game
- Sum Puzzle Game
The next screen shot for the Sum Puzzle Game
Ring Extension for Visual Studio Code¶
This extension support the Ring programming language in Visual Studio Code
The Ring Package Manager (RingPM)¶
Ring comes with a package manager (RingPM) that we can use to install, update and remove packages.
The Package Manager uses Semantic Versioning to check compatibility between packages
The Package Manager comes with the next options
===========================================================================
Usage : ringpm [command]
Command : search [keywords...]
Command : refresh : Update the Registry (Packages List)
Command : install [ <packagename> [from <UserName>] [branch <branchname>] ]
Command : list [-u : Check updates]
Command : run [packagename]
Command : update <packagename>
Command : remove <packagename>
Command : format : Delete All Packages
Command : new <packagename>
Command : package : Create package in the current folder
===========================================================================
More Improvements¶
- Ring Compiler : Better support for (Operator Operator) to avoid checking the first operator when it’s a literal.
- Ring Compiler : When we load a file that doesn’t exist, display the caller file name in the error message.
- Ring Compiler : Support source code files with one line of comment without end of line.
- Ring Compiler : change nNoAssignment attribute in Parser Structure to nNewObject.
- Ring VM : Better support for the (Return) command inside braces that access new objects.
- Ring VM : Dir() Function - Don’t add ”.” and ”..” to the output
- Ring VM : Dir() Function - Correct output for the item type (file|directory) on Linux and macOS.
- Ring VM : ICO_LISTSTART - Clean pVM->aSetProperty when setting an object attribute.
- Ring VM : ICO_NEWOBJECT - Clean pVM->aSetProperty when setting an object attribute.
- Ring VM : Better code for Setter and Getter methods support.
- Ring2EXE: The libraries information are stored in separated files in ring/ring2exe/libs folder.
- WebLib : Separate the library to many source code files.
- StdLib : IsVowel() function - Better Code.
- RingQt : Count(), Left(), Mid() and Right() methods are added to QString class.
- Better Read Me File