| | Ma borne d'arcade Mahjong | |
| Auteur | Message |
---|
cauxim Padawan
Messages : 200 Réputation : 27 Age : 49 Inscrit le : 13/02/2014
gpd xd, Steam deck, rg300x, powkiddy a66, psVita
| Msg n°1 Sujet: Ma borne d'arcade Mahjong Mar 13 Avr 2021, 11:47 | |
| Voici ma borne d'arcade Mahjong [Vous devez être inscrit et connecté pour voir cette image]Bon c'est une construction assez classique: un bartop et un piédestal construit en bois MDF. Quelques boutons et stick commandés sur aliExpress branché sur une carte encodeur USb, le tout tournant sur un Raspberry 3. La particularité ici c'est la partie Clavier pour le Mahjong: [Vous devez être inscrit et connecté pour voir cette image]Pour Jouer au Mahjong avec l'émulateur Mame, on a besoin des lettres de A à N, Ainsi que de 5 touches pour les commandes "chi", "pon", "kan", "reach", et "ron". Pour les 5 touches il suffit de modifier les commandes dans Mame pour reconfigurer les touches, mais pour le clavier c'est une autre histoire. Déjà parce qu'il faut 14 touches supplémentaires, ce qui est supérieur aux entrées restantes sur la carte USB, et le Core Mame de retroarch n'accepte pas de configurer une seconde carte USB pour le joueur 1. Donc il faut un clavier réel, d'où l'idée d'utiliser une carte Arduino Leonardo, ou un clone comme la Pro micro dispo sur aliExpress pour 3€ environ. [Vous devez être inscrit et connecté pour voir cette image]En effet cette carte est doté d'un micro contrôleur Atmega32U4 qui est compatible avec la library Keyboard. Cette carte possède un émetteur-récepteur USB qui va nous permettre de simuler des touches de clavier. La Seconde idée est d'utiliser un seul port Analog pour toutes les touches, évitant ainsi d'avoir trop de câbles. l'avantage du port analogue c'est qu'on peut faire varier sa valeur. En faite l'idée est de séparer chaque touche par une résistance, et ensuite dans le programme Lire la valeur du port Analog pour retrouver la touche pressée. En branchant les touches comme ceci: [Vous devez être inscrit et connecté pour voir cette image]C'est assez simple à comprendre: Si vous lisez la valeur du port Analog A1 en appuyant sur le Bouton A - Code:
-
int valeur = analogRead(A1); Serial.println(valeur); La tension part du port VCC (+5V), passe par le bouton 'A' pressé, et arrive au port analog 'A1' en n'ayant rencontré aucune résistance, alors la valeur retourné est 1023. Si maintenant vous appuyez sur le bouton 'B', la tension va rencontrer une résistance de 300Homs et la valeur retourné sera de 993. Sur la touche 'C' elle va rencontrer 2 résistances, etc. Ensuite il suffit d'écrire un programme pour dire simplement que si la valeur du port Analog (A1) est 993 alors on a appuyé sur la touche 'B' du clavier, si la valeur est 964 alors on a appuyé sur la touche 'C' du clavier, etc. Bon pour être plus exact, et considérant que les résistances ont une marge d'erreur, on va plutôt chercher la touche pressé dans une fourchette de valeur: Exemple: si la valeur est comprise entre "985" et 995" alors c'est la touche 'B' qui est pressé. Voici à quoi peut ressembler le programme à insérer dans la carte: - Code:
-
#include <Keyboard.h>
int valeur;
void setup() { Serial.begin(9600);
//bouton N pinMode(6,INPUT);
}
void loop() { //BOUTON N boolean a=digitalRead(6); if(a==1){ Keyboard.begin(); Keyboard.press('n'); delay(100); Keyboard.releaseAll(); delay(100); Keyboard.end(); } valeur = analogRead(A1);
if(valeur>5){ Keyboard.begin();
if(valeur >1015){ Keyboard.press('a'); } else if(valeur > 995 && valeur < 1005){ Keyboard.press('b'); } else if(valeur > 975 && valeur < 985){ Keyboard.press('c'); } else if(valeur > 955 && valeur < 965){ Keyboard.press('d'); } else if(valeur > 935 && valeur < 945){ Keyboard.press('e'); } else if(valeur > 915 && valeur < 925){ Keyboard.press('f'); } else if(valeur > 900 && valeur < 910){ Keyboard.press('g'); } else if(valeur > 880 && valeur < 890){ Keyboard.press('h'); } else if(valeur > 865 && valeur < 875){ Keyboard.press('i'); } else if(valeur > 850 && valeur < 860){ Keyboard.press('j'); } else if(valeur > 835 && valeur < 845){ Keyboard.press('k'); } else if(valeur > 820 && valeur < 830){ Keyboard.press('l'); } else if(valeur > 805 && valeur < 815){ Keyboard.press('m'); } delay(50); Keyboard.releaseAll(); delay(50); Keyboard.end();
}
delay(10); }
Voila, si vous lisez correctement mon code, vous verrez que j'ai mis la touche 'N' sur un port simple. En effet au mahjong, on appuie facilement 40 fois sur la touche 'N' par manche. j'ai donc préféré le mettre seul, c'est plus rapide pour la lecture du code. Ensuite les valeurs ne correspondent pas à mon exemple, tout simplement parce que j'ai utilisé des résistances de 220 Ohms. Et pour finir j'ai enveloppé le code pour n'ouvrir la lecture clavier que si la valeur est supérieur à 5, inutile de lire en boucle si aucune touche n'est pressé (d'où l'utilité de séparer la touche 'N') Voila j'espère vous avoir éclairci sur la simulation d'un clavier. pensez y si à l'avenir vous voulez créer un cockpit pour un simulateur de vol, ou tout autre projet qui demande de nombreuses touches. |
| | | Caanunoo PANDORA Addict
Messages : 7269 Réputation : 827 Age : 51 Inscrit le : 10/03/2020
OpenPandora 1GHz & 600 MHz, GPD XD+, WIN 1, 2 & MAX, Micro PC, Old 3DS Luma, PS Vita Slim Hack 3.65, GPD XP & +, Old DS R4, NeoGeo X, Nvidia Shield, AYN Odin Pro, GKD Mini Plus, Valve Steam Deck, Miyoo Mini Plus, Trimui Smart Pro, Anbernic ARC-D, AYN Odin Pro 2, Retroid Pocket Flip.
Localisation : Open-Consoles
Humeur : Splité (cf film "Split")
| | | | entropie Master Chief
Messages : 517 Réputation : 16 Age : 44 Inscrit le : 16/12/2014
Localisation : Ici et là
| | | | RatedR57 Membre Hyper Actif
Messages : 1826 Réputation : 60 Age : 44 Inscrit le : 16/11/2012
Megadrive, GameBoy et Playstation
Localisation : Tressange (57)
Humeur : Nostalgeek
| | | | cauxim Padawan
Messages : 200 Réputation : 27 Age : 49 Inscrit le : 13/02/2014
gpd xd, Steam deck, rg300x, powkiddy a66, psVita
| | | | ClementNerma Ultimate Retrogamer
Messages : 1066 Réputation : 77 Age : 23 Inscrit le : 10/09/2015
Switch Lite
Localisation : Quelque part dans le monde
Humeur : :D
| | | | k0en Team Open Consoles
Messages : 10765 Réputation : 362 Age : 42 Inscrit le : 25/01/2011
TO7-70
Localisation : Devant son écran
Humeur : Indécis
| Msg n°7 Sujet: Re: Ma borne d'arcade Mahjong Mer 14 Avr 2021, 14:25 | |
| Alors là, j'aurai jamais imaginé une borne Mahjong Bravo ! POur moi le Mahjong c'est une sorte de jeu de domino à assembler par paire et je suis en train de me dire qu'il y a des subtilités que je n'ai pas saisi |
| | | ClementNerma Ultimate Retrogamer
Messages : 1066 Réputation : 77 Age : 23 Inscrit le : 10/09/2015
Switch Lite
Localisation : Quelque part dans le monde
Humeur : :D
| | | | Caanunoo PANDORA Addict
Messages : 7269 Réputation : 827 Age : 51 Inscrit le : 10/03/2020
OpenPandora 1GHz & 600 MHz, GPD XD+, WIN 1, 2 & MAX, Micro PC, Old 3DS Luma, PS Vita Slim Hack 3.65, GPD XP & +, Old DS R4, NeoGeo X, Nvidia Shield, AYN Odin Pro, GKD Mini Plus, Valve Steam Deck, Miyoo Mini Plus, Trimui Smart Pro, Anbernic ARC-D, AYN Odin Pro 2, Retroid Pocket Flip.
Localisation : Open-Consoles
Humeur : Splité (cf film "Split")
| Msg n°9 Sujet: Re: Ma borne d'arcade Mahjong Mer 14 Avr 2021, 15:53 | |
| - ClementNerma a écrit:
- C'est un jeu assez complexe effectivement, le principe est simple
Complexe...mais simple... Ceci est un paradoxe !!! J'en conclu que le mahjonj est complexe dans sa simplicité ou bien qu'il est facile dans sa complexité !!! |
| | | ClementNerma Ultimate Retrogamer
Messages : 1066 Réputation : 77 Age : 23 Inscrit le : 10/09/2015
Switch Lite
Localisation : Quelque part dans le monde
Humeur : :D
| Msg n°10 Sujet: Re: Ma borne d'arcade Mahjong Mer 14 Avr 2021, 16:15 | |
| - Caanunoo a écrit:
- ClementNerma a écrit:
- C'est un jeu assez complexe effectivement, le principe est simple
Complexe...mais simple... Ceci est un paradoxe !!! J'en conclu que le mahjonj est complexe dans sa simplicité ou bien qu'il est facile dans sa complexité !!! Non mais tu m'as compris quoi xD Ce que je veux dire c'est que le principe est simple mais que la multitude de règles et les subtilités font que c'est, au final assez complexe. Un peu comme le Poker par exemple, le principe est très simple, mais tu as plein de subtilités |
| | | Tryskel Petit scarabée
Messages : 70 Réputation : 1 Age : 39 Inscrit le : 28/01/2021
Localisation : Ostwald
| Msg n°11 Sujet: Re: Ma borne d'arcade Mahjong Mer 14 Avr 2021, 16:53 | |
| - k0en a écrit:
- Alors là, j'aurai jamais imaginé une borne Mahjong
Bravo ! POur moi le Mahjong c'est une sorte de jeu de domino à assembler par paire et je suis en train de me dire qu'il y a des subtilités que je n'ai pas saisi Ca, c'est comme le Solitaire aux cartes. Le mahjong se joue à quatre et est assez proche du rami dans certains de ses aspects, voilà plutôt à quoi ça ressemble [Vous devez être inscrit et connecté pour voir cette image]Du coup, on a une main de 13 tuiles maximum, on pioche une 14e, et on jette la moins intéressante pour construire au fur et à mesure sa main, d'où les 14 touches de A à N pour choisir la tuile qu'on veut jeter
Dernière édition par Tryskel le Mer 14 Avr 2021, 17:03, édité 1 fois |
| | | Gougoule Master Chief
Messages : 757 Réputation : 60 Inscrit le : 29/12/2012
| Msg n°12 Sujet: Re: Ma borne d'arcade Mahjong Mer 14 Avr 2021, 17:00 | |
| merci pour le partage et bravo pour la transparence des explications ! Beau boulot ! |
| | | entropie Master Chief
Messages : 517 Réputation : 16 Age : 44 Inscrit le : 16/12/2014
Localisation : Ici et là
| Msg n°13 Sujet: Re: Ma borne d'arcade Mahjong Mer 14 Avr 2021, 18:44 | |
| Si j'avais du temps et les connaissances techniques nécessaires, c'est un jeu de poker que je fabriquerais. j'adorerais avoir une petite borne pour jouer au poker... |
| | | Contenu sponsorisé
| | | | |
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| Derniers sujets | » [RECH] Aide pour ancienne TV 1080P LCDAujourd'hui à 09:30 par Rival187 » [ULULE] Réimpression du magazine hors-série JV dédié à la SNES sorti en 2016Aujourd'hui à 02:01 par darkhope » AYN Odin 2Hier à 10:52 par Nikojiro » Trimui Smart Pro Mer 17 Avr 2024, 20:00 par MGL » Powkiddy RGB20SXMer 17 Avr 2024, 09:35 par Rival187 » KeyMapper Anbernic RG ARC D Gamma OSLun 15 Avr 2024, 21:23 par allbab » [ANBERNIC RG ARC-D/S] OC-ARCPADLun 15 Avr 2024, 21:20 par Caanunoo » Ajout de roms sur une Anbernic RG35XX HLun 15 Avr 2024, 21:16 par KaAsKeTt » Tuto de A à Z : comment installer un custom firmware et préparer ses romsLun 15 Avr 2024, 13:34 par KaAsKeTt » Hello tout le mondeLun 15 Avr 2024, 11:04 par dounix » Ayn Odin2 sur Belchine.netDim 14 Avr 2024, 22:39 par Belchine» Anbernic RG35XX plusDim 14 Avr 2024, 18:29 par tontonduson » Touches steamdeck sous windosDim 14 Avr 2024, 04:12 par Arrk » Anbernic RG28XXSam 13 Avr 2024, 22:16 par Jutige » Présentation Chamsi Ven 12 Avr 2024, 22:38 par darkhope » Z'avez pas un pack de bons jeux verticaux ?Ven 12 Avr 2024, 20:23 par Rival187 » Présentation Ven 12 Avr 2024, 16:58 par Pounours » [EPIC] Ghostrunner offert cette semaineJeu 11 Avr 2024, 21:14 par darkhope » [PRIME GAMING / LUNA] Jeux offers et jouables Avril 2024 (MAJ)Jeu 11 Avr 2024, 20:47 par darkhope » [Tuto] Nintendo 3DS : émulation et hack permanentJeu 11 Avr 2024, 14:43 par jihefen |
La Timeline Open-Consoles |
|
|