Skip to content

Commit

Permalink
Version 1.4.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Eliastik committed Sep 7, 2019
1 parent f557889 commit 355fa32
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 10 deletions.
24 changes: 19 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Game programmed in pure JavaScript (no JQuery or other JavaScript frameworks) an

## About this game

* Version: 1.4
* Version: 1.4.0.1
* Made in France by Eliastik - [eliastiksofts.com](http://eliastiksofts.com) - Contact : [eliastiksofts.com/contact](http://eliastiksofts.com/contact)
* License: GNU GPLv3 (see LICENCE.txt file)

Expand All @@ -27,6 +27,12 @@ Game programmed in pure JavaScript (no JQuery or other JavaScript frameworks) an

## Changelog

* Version 1.4.0.1 (9/7/2019) :
- Fixed a problem affecting performance;
- The game is paused when full-screen mode is enabled or exited;
- Updated software libraries;
- Others minors fixes.

* Version 1.4 (8/2/2019):
- The game now detects if the apple is blocked by obstacles (walls, dead Snake) and inaccessible then avoids to put the apple in these places or changes its position;
- Many improvements of the game interface:
Expand Down Expand Up @@ -99,7 +105,7 @@ Jeu programmé en JavaScript pur (pas de JQuery ni d'autres frameworks JavaScrip

## À propos du jeu

* Version du jeu : 1.4
* Version du jeu : 1.4.0.1
* Made in France by Eliastik - [eliastiksofts.com](http://eliastiksofts.com) - Contact : [eliastiksofts.com/contact](http://eliastiksofts.com/contact)
* Licence : GNU GPLv3 (voir le fichier LICENCE.txt)

Expand All @@ -114,6 +120,12 @@ Jeu programmé en JavaScript pur (pas de JQuery ni d'autres frameworks JavaScrip

## Journal des changements

* Version 1.4.0.1 (07/09/2019) :
- Correction d'un problème affectant les performances ;
- Le jeu se met en pause lors de la mise en plein-écran ou lorsque le mode plein-écran est quitté ;
- Bibliothèques logicielles mises à jour ;
- Autres corrections mineures.

* Version 1.4 (02/08/2019) :
- Le jeu détecte désormais si la pomme est bloquée par des obstacles (murs, Snake ayant perdu) et si elle est inaccessible et évite de poser la pomme à ces endroits ou change sa position ;
- Nombreuses améliorations de l'interface du jeu :
Expand Down Expand Up @@ -179,19 +191,21 @@ Jeu programmé en JavaScript pur (pas de JQuery ni d'autres frameworks JavaScrip

### À faire :

* Améliorer l'IA pour l'empêcher de se bloquer (essais effectués) -> plus long chemin si bloqué
* Améliorer l'IA pour l'empêcher de se bloquer -> plus long chemin si bloqué
* Bonus dans le mode niveaux (pièces obtenues en fonction du score/temps (1.75 fois ce qui est demandé dans l'objectif) permettant d'acheter des bonus (passer dernier niveau ou activer le mode assistant IA))
* (Architecture client-serveur)

### Fait :

* Performances lorsque plusieurs Snake sur une seule grille (problème affichage texte drawSnakeInfos corrigé)
* Performances lorsque plusieurs Snake sur une seule grille (problème affichage texte drawSnakeInfos et aussi la fonction isCaseSurrounded de la classe Grid corrigés)
* Correction vitesse démarrage partie si fps > 60
* Idée type de niveau : atteindre le score avant les adversaires
* Corriger l'algorithme de génération de murs à des positions aléatoires (empêcher les blocages possibles)

### Problèmes :

* hue-rotate ne fonctionne pas sur Microsoft Edge et Safari -> pas de changement de couleur des Snake possible
* Performances lorsque plusieurs Snake sur une seule grille (aux algorithmes d'IA -> nombreuses IA et aussi la fonction isCaseSurrounded de la classe Grid (corrigé))
* (Performances lorsque plusieurs Snake sur une seule grille (aux algorithmes d'IA -> nombreuses IA))

## Déclaration de licence

Expand Down
5 changes: 2 additions & 3 deletions assets/js/engine.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ IMAGE_SNAKE_SATURATION = 50;
IMAGE_SNAKE_VALUE = 77;
CAR_TO_PRERENDER = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "×"];
// Infos
APP_VERSION = "1.4";
DATE_VERSION = "08/02/2019";
APP_VERSION = "1.4.0.1";
DATE_VERSION = "09/07/2019";

// Return an integer between min (inclusive) and max (inclusive)
function randRange(min, max) {
Expand Down Expand Up @@ -1313,7 +1313,6 @@ function Game(grid, snake, speed, appendTo, enablePause, enableRetry, progressiv
if(!this.errorOccured) {
for(var i = 0; i < this.snakes.length; i++) {
if(this.snakes[i].errorInit) {
console.error(window.i18next.t("engine.initFailed"));
this.errorOccured = true;
this.stop();
}
Expand Down
2 changes: 1 addition & 1 deletion assets/js/i18next.min.js

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions assets/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -1018,6 +1018,22 @@ function printResultLevel(level, player, levelType, type, shortVersion) {
return val;
}

function getBonusValue(level, player, type) {
var levels = getLevels(player, type);

if(levels != null && levels[level] != null) {
var levelSelected = levels[level];
var levelType = levelSelected["type"];
var levelTypeValue = levelSelected["typeValue"];

if(levelType == LEVEL_REACH_SCORE) {
return levelTypeValue * 1.75;
}
} else {
return -1;
}
}

function playLevel(level, player, type) {
var levels = getLevels(player, type);

Expand Down
2 changes: 1 addition & 1 deletion service-worker.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* along with "SnakeIA". If not, see <http://www.gnu.org/licenses/>.
*/
const CACHE_BASENAME = 'snake-ia';
const CACHE_VER = '-v1.4';
const CACHE_VER = '-v1.4.0.1';
const CACHE = CACHE_BASENAME + CACHE_VER;

const CACHE_URLS = [
Expand Down

0 comments on commit 355fa32

Please sign in to comment.