LeekScript 2 (以前の LeekScript 1.1) は、2021 年 2 月 28 日にリリースされた、Leek Wars の言語である LeekScript の 2 番目のバージョンです。これは、言語をクリーンアップし、修正を行い、指向プログラミング オブジェクトを追加することを目的としています。
## プレゼンテーション
言語の動作方法に大幅な変更が加えられているため、これは下位互換性のないバージョンであり、ユーザーがエディターで手動でアクティブ化します。
バージョン 2 は、2016 年に発表された将来のバージョンに向けた一歩です。したがって、多くの計画された機能がバージョン 2 に存在し、言語を徐々に進めることができ、これらの機能は複雑な AI のコーディングに非常に有益です。
専用の移行ヘルプ ページがここにあります: LeekScript 1 から 2 への移行。
## 新着
### オブジェクト指向プログラミング オブジェクト指向プログラミングを追加: クラスとオブジェクト。この追加に関するすべてのドキュメントについては、クラスとオブジェクト ページを参照してください。
キーワード new、class、extends、static、public、保護された、プライベート、実装、インターフェース、コンストラクタ、これ 、 super および instanceof は OOP 用に予約されているため、変数または関数名には使用できなくなりました。
非プリミティブ値、つまり配列とオブジェクトはデフォルトで参照渡しされます。プリミティブ値 (数値、ブール値、文字列) は常にコピーされます。
@ 構文はもはや使用されていないため、どこでも非推奨です。 LeekScript 2 では、プリミティブ値への参照を作成することはできません。
配列 (およびオブジェクト) に参照を追加する機能により、合理的なコストで複雑な構造や再帰構造を作成できます。
1 では実現が難しく、2 では非常に簡単なデータ構造の例:
値を正確に複製する clone(value, [level]) 関数を追加しました。
1 つだけではなく、いくつかのセマンティック エラーがエディターで返されました (LS 1 でも利用可能)。


各エラーの下に完全なコール スタックが表示されます (LS 1 でも利用可能)。

ただし、もちろんいつでも使用できます。 (LS 1 でも利用可能)
配列サイズの制限は取り除かれ、操作のコストはそれらの使用を制限するのに十分です。
修正された arrayFilter: null 値を残すことなく、配列が正しく再インデックス化されるようになりました。
### 鎖 "\\\\" 2 つではなく 1 つの \ を正しく表示する文字列 "\\" のエスケープを修正しました。
複数のファイルにわたるグローバル宣言を修正しました。
^= 演算子が累乗ではなくバイナリ OR になるのを修正しました。
シャッフル関数は、戦闘シードに接続された乱数ジェネレーターを考慮に入れるため、同じシードに対して決定論的です。テストに影響を与える同じシードから生成された 2 つの戦いの間に違いが生じる可能性があります。
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.