No description
Find a file
2026-02-25 16:59:57 +01:00
.vscode renew of the page 2026-01-02 18:39:20 +01:00
backend/src affichage des mains 2026-02-25 16:59:57 +01:00
components rajout de la page ressources 2026-02-25 10:52:46 +01:00
frontend affichage des mains 2026-02-25 16:59:57 +01:00
img update tilineau img 2026-02-23 16:42:27 +01:00
.gitignore update game and display player's hand 2026-02-25 16:14:57 +01:00
.prettierrc renew of the page 2026-01-02 18:39:20 +01:00
docker-compose.yml change docker volume path 2026-02-23 13:48:34 +01:00
Dockerfile fixed docker issues 2026-02-20 22:53:08 +01:00
index.html fixed dialog position 2026-02-23 21:14:21 +01:00
Makefile renew of the page 2026-01-02 18:39:20 +01:00
nginx.conf change nginx config 2026-02-23 13:46:03 +01:00
package.json renew of the page 2026-01-02 18:39:20 +01:00
README.md renew of the page 2026-01-02 18:39:20 +01:00
tsconfig.json renew of the page 2026-01-02 18:39:20 +01:00
vite.config.ts renew of the page 2026-01-02 18:39:20 +01:00

Tutoriel interactif de Mahjong Riichi

TypeScript Vite License

Un tutoriel complet et interactif pour apprendre à jouer au Mahjong Riichi, développé en TypeScript moderne avec une interface élégante.

Démonstration

Ce tutoriel est accessible directement sur ce site.

Fonctionnalités

  • Guide étape par étape : Apprentissage progressif découpé en chapitres
  • Interface interactive : Manipulez les tuiles et expérimentez les dynamiques
  • Exemples de jeu : Scénarios dirigés pour s'entraîner aux différentes situations
  • Design moderne : Interface élégante avec animations fluides
  • Performances optimisées : Rendu canvas optimisé avec double buffering

Stack Technique

Technologie Version Usage
TypeScript 5.6+ Langage principal
Vite 6.0+ Build tool & dev server
Vitest 2.1+ Tests unitaires
Canvas API - Rendu graphique

Démarrage Rapide

Prérequis

  • Node.js 18.0 ou supérieur
  • npm ou yarn

Installation

# Cloner le dépôt
git clone https://github.com/Didictateur/Riichi.git
cd Riichi

# Installer les dépendances
npm install

# Lancer le serveur de développement
npm run dev

Scripts Disponibles

Commande Description
npm run dev Lance le serveur de développement avec hot reload
npm run build Compile le projet pour la production
npm run preview Prévisualise le build de production
npm run typecheck Vérifie les types TypeScript
npm run test Lance les tests
npm run test:watch Lance les tests en mode watch

Makefile

Un Makefile est également disponible :

make dev          # Serveur de développement
make build        # Build production
make preview      # Prévisualiser le build
make test         # Lancer les tests
make clean        # Nettoyer les fichiers générés
make hard-clean   # Nettoyage complet (incluant node_modules)
make zip          # Créer une archive de distribution
make help         # Afficher l'aide

Structure du Projet

Riichi/
├── src/
│   ├── constants/      # Constantes partagées
│   ├── display/        # Composants d'affichage (dp*.ts)
│   ├── styles/         # Feuilles de style CSS
│   ├── text/           # Textes des tutoriels
│   ├── types/          # Définitions de types TypeScript
│   ├── utils/          # Fonctions utilitaires
│   └── yakus/          # Implémentation des yakus
├── img/                # Images et ressources
├── tests/              # Tests unitaires
├── build/              # Fichiers compilés
├── index.html          # Point d'entrée HTML
├── vite.config.ts      # Configuration Vite
└── tsconfig.json       # Configuration TypeScript

Design System

Le projet utilise un système de variables CSS moderne :

:root {
  --color-primary: #1a7f4b;
  --color-accent: #ffd700;
  --bg-main: linear-gradient(...);
  /* ... */
}

Contribution

Les contributions sont les bienvenues ! N'hésitez pas à :

  1. Fork le projet
  2. Créer une branche (git checkout -b feature/amelioration)
  3. Commit vos changements (git commit -am 'Ajout de fonctionnalité')
  4. Push la branche (git push origin feature/amelioration)
  5. Ouvrir une Pull Request

Sources

Les images des tuiles proviennent du dépôt de FluffyStuff.

Licence

Ce projet est dans le domaine public (CC0 1.0).