- mo5kandykrushjava.zip
- (79.09 Kio) Téléchargé 240 fois
- mo5kandykrushjava.png (2.45 Kio) Consulté 7206 fois
Modérateurs : Papy.G, fneck, Carl
Code : Tout sélectionner
/**************************************************\
* MO5 KANDY KRUSH JAVA *
* (c) 2016 - Daniel Coulom *
* http://dcmoto.free.fr/ *
* http://forum.system-cfg.com/ *
*--------------------------------------------------*
* Ce code est distribue gratuitement dans l'espoir *
* qu'il sera utile, mais sans aucune garantie et *
* sans engager la responsabilité de l'auteur. *
* Vous pouvez l' utiliser, le modifier et le *
* diffuser librement, en conservant cette licence *
* et les références de l'auteur dans toutes les *
* copies. L'exploitation commerciale est interdite.*
\**************************************************/
/**************************************************\
* Version 2016.09.23 *
\**************************************************/
* Historique
* 2016.09.23 Version originale
*===========================================
* INITIALISATIONS
*===========================================
ORG $9000
INIT
LDX #SCRINIT
LBSR CHAINE
LBSR BITMAP
LBSR COULINI determination des couleurs
LDB #$37
INIT3
LBSR PDISP affichage des pastilles
DECB
BGE INIT3
LBSR PALIGN recherche alignements
*===========================================
* DEROULEMENT DU JEU
*===========================================
JEU
LBSR DSCORE affichage du score
SWI contact crayon optique
FCB $16
BCC JEU attente appui
SWI coordonnees crayon optique
FCB $18
* test de la colonne pointee
TFR X,D
LSRD
LSRD
LSRD
TFR D,X
CMPX #$0011
LBLT ERROR trop a gauche
CMPX #$0026
LBGT ERROR trop a droite
* test de la ligne pointee
TFR Y,D
LSRD
LSRD
LSRD
TFR D,Y
CMPY #$0005
BLT ERROR trop haut
CMPY #$0017
BGT ERROR trop bas
* test pointage centre pastille
TFR X,D
SUBD #$0011 centre premiere pastille
LBSR MODULO
PSHS B
TFR Y,D
SUBD #$0005 centre premiere pastille
LBSR MODULO
PULS A
ADDB -1,S
BEQ ERROR
* permutation horizontale
HORIZ
TFR Y,D
SUBD #$0005 centre premiere pastille
BSR MODULO
BNE VERT
PSHS Y,X
LBSR PINVH
BSR PALIGN recherche alignements
PULS X,Y
BCS HORIZ9 pas d'alignement
LDD COUPS
ADDD #$0001
STD COUPS
CMPD #$0020 fin de partie apres 32 coups
BEQ FIN
BRA JEU suite du jeu
HORIZ9
LBSR PINVH retablissement position
BRA ERROR
* permutation verticale
VERT
TFR X,D
SUBD #$0011 centre premiere pastille
BSR MODULO
BNE ERROR
PSHS Y,X
LBSR PINVV
BSR PALIGN recherche alignement
PULS X,Y
BCS VERT9 pas d'alignement
LDD COUPS
ADDD #$0001
STD COUPS
CMPD #$0020
BEQ FIN
LBRA JEU suite du jeu
VERT9
LBSR PINVV retablissement position
BRA ERROR
*===========================================
* ERREUR DE POINTAGE
*===========================================
ERROR
LDX #$0800 hauteur note
LDA #$10 longueur note
LBSR BUZZ
LBRA JEU
*===========================================
* FIN DE PARTIE
*===========================================
FIN
LDD SCORE
CMPD MAX
BLT FIN1
STD MAX
FIN1
LBSR DSCORE
LDX #APPUI
LBSR CHAINE
FIN2
SWI lecture rapide clavier
FCB $0C
BCC FIN2
LDD #$0000
STD COUPS
STD SCORE
LBRA INIT
*===========================================
* CALCUL DE D MODULO 3
* RESULTAT DANS D
*===========================================
MODULO
SUBD #$03
BGE MODULO
ADDD #$03
RTS
*===========================================
* RECHERCHE DES ALIGNEMENTS
* CARRY SET SI AUCUN ALIGNEMENT TROUVE
*===========================================
PALIGN
CLRA initialisation compteur
PSHS A empilage compteur alignements
PALIGN1
* alignement horizontaux
CLRB
HALIGN1
LDX #PCOLOR table des couleurs
LDA B,X couleur pastille B
LEAX 1,X
CMPA B,X couleur pastille B+1
BNE HALIGN2
LEAX 1,X
CMPA B,X couleur pastille B+2
BEQ HALIGN4
HALIGN2
INCB
CMPB #$06
BEQ HALIGN3
CMPB #$0E
BEQ HALIGN3
CMPB #$16
BEQ HALIGN3
CMPB #$1E
BEQ HALIGN3
CMPB #$26
BEQ HALIGN3
CMPB #$2E
BEQ HALIGN3
CMPB #$36
BEQ VALIGN
BRA HALIGN1
HALIGN3
ADDB #$02
BRA HALIGN1
HALIGN4
LBSR SUPPR
INCB
LBSR SUPPR
INCB
LBSR SUPPR
INC ,S
BRA PALIGN1
*alignement verticaux
VALIGN
CLRB
VALIGN1
LDX #PCOLOR table des couleurs
LDA B,X couleur pastille B
LEAX 8,X
CMPA B,X couleur pastille B+8
BNE VALIGN2
LEAX 8,X
CMPA B,X couleur pastille B+16
BEQ VALIGN4
VALIGN2
INCB
CMPB #$28
BEQ VALIGN8
BRA VALIGN1
VALIGN4
ADDB #$10
LBSR SUPPR
LBSR SUPPR
LBSR SUPPR
INC ,S
BRA PALIGN1
VALIGN8
ANDCC #$FE clear carry
PULS A
CMPA #$00
BNE VALIGN9
ORCC #$01 set carry
VALIGN9
RTS
*===========================================
* DETERMINATION DES COULEURS INITIALES
*===========================================
COULINI
LDX #PCOLOR table des couleurs
LDB #$37 numero derniere pastille
COULINI1
LDA #$01
STA B,X
DECB
BGE COULINI1
RTS
*===========================================
* CALCUL DU NUMERO DE PASTILLE B
* FONCTION DE LIGNE ET COLONNE POINTEES
*===========================================
CALNUM
* numero dans la ligne = Y/3
TFR Y,D ligne pointee
SUBD #$0005 centre premiere pastille
CALNUM1
INCA
SUBB #$03
BGE CALNUM1
DECA
* multiplication par 8
LSLA
LSLA
LSLA
PSHS A empilage resultat
* numero dans la ligne = X/3
TFR X,D colonne pointee
SUBD #$0011 centre premiere pastille
CALNUM2
INCA
SUBB #$03
BGE CALNUM2
DECA
* ajout du nombre de pastilles lignes precedentes
ADDA ,S
TFR A,B
PULS A
RTS
*===========================================
* INVERSION DE DEUX PASTILLES B ET B+1
*===========================================
PINVH
BSR CALNUM calcul du numero B
LDX #PCOLOR table des couleurs
LDA B,X couleur premiere pastille
PSH A
INCB
LDA B,X couleur deuxieme pastille
DECB
STA B,X deuxieme dans premiere
PULS A
INCB
STA B,X premiere dans deuxieme
LBSR PDISP affichage deuxieme pastille
DECB
LBSR PDISP affichage premiere pastille
LDX #$0080 hauteur note
LDA #$08 longueur note
BSR BUZZ
RTS
*===========================================
* INVERSION DE DEUX PASTILLES B ET B+8
*===========================================
PINVV
BSR CALNUM calcul du numero B
LDX #PCOLOR table des couleurs
LDA B,X couleur premiere pastille
PSH A
ADDB #$08
LDA B,X couleur deuxieme pastille
SUBB #$08
STA B,X deuxieme dans premiere
PULS A
ADDB #$08
STA B,X premiere dans deuxieme
LBSR PDISP affichage deuxieme pastille
SUBB #$08
LBSR PDISP affichage premiere pastille
LDX #$0080 hauteur note
LDA #$08 longueur note
BSR BUZZ
RTS
*===========================================
* TEMPORISATION EN FONCTION DE X
*===========================================
TEMPO
PSHS X
TEMPO1
LEAX -1,X
BNE TEMPO1
PULS X,PC
*===========================================
* EMISSION SIGNAL SONORE
* TEMPO DANS X
* DUREE DANS A
*===========================================
BUZZ
* signal sonore
ORCC #$50 masque les interruptions
PSHS A compteur duree note
LDA $A7C1 registre pour le buzzer
BUZZ1
ORA #$01
STA $A7C1 buzzer a un
BSR TEMPO temporisation
ANDA #$FE
STA $A7C1 buzzer a zero
BSR TEMPO temporisation
DEC ,S
BNE BUZZ1
PULS A
ANDCC #$AF restaure les interruptions
RTS
*===========================================
* SUPPRESSION PASTILLE B ET DESCENTE COLONNE
*===========================================
SUPPR
PSHS B
SUPPR1
SUBB #$08 pastille au-dessus
BLS SUPPR2 haut de colonne depasse
BSR SCROLL scroll pastille
BRA SUPPR1 pastille suivante
SUPPR2
LDA $2031 valeur aleatoire
ANDA #$07 valeur entre 0 et 7
INCA
CMPA #$04 couleur de fond
BNE SUPPR3
LDA #$05
SUPPR3
CMPA #$06
BLE SUPPR4
LDA #$01
SUPPR4
LDX #PCOLOR table des couleurs
ADDB #$08 premiere pastille colonne
STA B,X
LBSR PDISP affichage pastille
PULS B,PC
*===========================================
* SCROLL PASTILLE B
*===========================================
SCROLL
LDX #PADDR table des adresses
LEAX B,X pointeur dans la table
LEAX B,X pointeur dans la table
LDY ,X adresse pastille B
PSHS Y empilage adresse originale
LDA #$18 compteur de boucle
PSHS A empilage compteur
PSHS Y,X empilage pointeur et adresse
SCROLL1
PULS X,Y
LEAY $28,Y
STY ,X
PSHS Y,X
BSR PDISP
DEC 4,S
BNE SCROLL1
PULS X,Y
PULS A
PULS Y adresse originale
STY ,X restauration de l'adresse
LDX #PCOLOR table des couleurs
LDA B,X couleur pastille depart
LEAX 8,X
STA B,X couleur pastille arrivee
* signal sonore
LDX #$0040 hauteur note
LDA #$05 longueur note
LBSR BUZZ
* incrementation du score
PSHS B
LDD SCORE
ADDD #$0001
STD SCORE
PULS B
RTS
*===========================================
* AFFICHAGE DU SCORE
*===========================================
DSCORE
PSHS B
LDX #COUPS+2
LBSR CHAINE
LDD COUPS
JSR $D83E affichage registre D
LDX #SCORE+2
BSR CHAINE
LDD SCORE
JSR $D83E affichage registre D
LDX #BLANC
BSR CHAINE
LDX #MAX+2
BSR CHAINE
LDD MAX
JSR $D83E affichage registre D
PULS B,PC
*===========================================
* AFFICHAGE cOLONNE PASTILLE
*===========================================
CDISP
LDB #$18
CDISP1
LDA ,X+
STA ,Y
LEAY $28,Y
DECB
BNE CDISP1
LEAY -$3BF,Y
RTS
*===========================================
* AFFICHAGE DE LA PASTILLE B
*===========================================
PDISP
PSHS B empilage du numero de pastille
* couleur
LDA $A7C0
ANDA #$FE
STA $A7C0
LDX #PCOLOR
LDA B,X couleur pastille
LSLA
LSLA
LSLA
LSLA
ORA #$04 couleur de fond bleu
LDX #PADDR table des adresses
LSLB deplacement dans la table
LDY B,X adresse pastille B
PSHS Y empilage adresse
LDB #$18 nombre de lignes
PDISP0
STA 0,Y
STA 1,Y
STA 2,Y
LEAY $28,Y
DECB
BNE PDISP0
ORA #$07 couleur de fond blanc
LEAY -$27F,Y
LDB #$08
PDISP2
STA ,Y
LEAY $28,Y
DECB
BNE PDISP2
PULS Y
* forme
LDX #PGRAPH table de definition pastille
INC $A7C0 selection video forme
BSR CDISP affichage premiere colonne
BSR CDISP affichage deuxieme colonne
BSR CDISP affichage troisieme colonne
PULS B,PC
*===========================================
* AFFICHAGE CHAINE EN X TERMINEE PAR $04
*===========================================
CHAINE
LDB ,X+
CMPB #$04
BEQ CHAIN9
SWI affichage caractere
FCB $02
BRA CHAINE
CHAIN9
RTS
*===========================================
* AFFICHAGE BITMAP DU TITRE
*===========================================
BITMAP
LDY #$0000
LDX #TITRE
LDA $A7C0
ORA #$01
STA $A7C0
BIT1
LDD ,x++
STD ,Y++
CMPY #$03C0
BNE BIT1
RTS
*===========================================
* Compteur pour le score et les coups
*===========================================
SCORE
FDB $0000
FCB $1E,$0A,$0A,$0A,$0A,$0A
FCC 'Score : '
FCB $04
COUPS
FDB $0000
FCB $1E,$0A,$0A,$0A,$0A
FCC 'Coups : '
FCB $04
MAX
FDB $0000
FCB $1E,$0A,$0A,$0A,$0A,$0A,$0A,$0A
FCC 'Hiscore '
FCB $04
BLANC
FCC ' '
FCB $04
*===========================================
* Initialisation de l'ecran
*===========================================
SCRINIT
FCB $1B sequence d'echappement
FCB $47 forme blanc
FCB $1B sequence d'echappement
FCB $54 fond bleu
FCB $1B sequence d'echappement
FCB $64 cadre bleu
FCB $0C effacement ecran
FCB $14 extinction curseur
FCB $1E,$0A,$0A,$0A,$0A,$0A
FCC 'Patientez...'
FCB $0D,$0A,$0A,$0A,$0A,$0A
FCC 'Alignez 3 pions'
FCB $0D,$0A
FCC 'de m'
FDB $1643
FCC 'eme couleur'
FCB $0D,$0A
FCC 'horizontalement'
FCB $0D,$0A
FCC 'ou verticalement'
FCB $0D,$0A,$0A
FCC 'Pointez entre 2'
FCB $0D CR
FCB $0A linefeed
FCC 'pions pour les'
FCB $0D,$0A
FCC 'permuter.'
FCB $04
*===========================================
* Message appuyez sur une touche
*===========================================
APPUI
FCB $1E locate 0,0
FCB $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A
FCB $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A
FCC 'Appuyez sur une'
FCB $0D,$0A
FCC 'touche pour'
FCB $0D,$0A
FCC 'continuer...'
FCB $04
*===========================================
* Table des couleurs
*===========================================
PCOLOR
FCB $00,$00,$00,$00,$00,$00,$00,$00
FCB $00,$00,$00,$00,$00,$00,$00,$00
FCB $00,$00,$00,$00,$00,$00,$00,$00
FCB $00,$00,$00,$00,$00,$00,$00,$00
FCB $00,$00,$00,$00,$00,$00,$00,$00
FCB $00,$00,$00,$00,$00,$00,$00,$00
FCB $00,$00,$00,$00,$00,$00,$00,$00
*===========================================
* Position de la pastille dans l'ecran
*===========================================
PADDR
FDB $0510,$0513,$0516,$0519,$051C,$051F,$0522,$0525
FDB $08D0,$08D3,$08D6,$08D9,$08DC,$08DF,$08E2,$08E5
FDB $0C90,$0C93,$0C96,$0C99,$0C9C,$0C9F,$0CA2,$0CA5
FDB $1050,$1053,$1056,$1059,$105C,$105F,$1062,$1065
FDB $1410,$1413,$1416,$1419,$141C,$141F,$1422,$1425
FDB $17D0,$17D3,$17D6,$17D9,$17DC,$17DF,$17E2,$17E5
FDB $1B90,$1B93,$1B96,$1B99,$1B9C,$1B9F,$1BA2,$1BA5
*===========================================
* Graphisme de la pastille (par colonne)
*===========================================
PGRAPH
FCB $00,$00,$00,$00,$00,$03,$07,$07
FCB $0F,$0F,$0F,$0F,$0F,$0F,$07,$07
FCB $03,$00,$00,$00,$00,$00,$00,$00
FCB $00,$00,$00,$00,$FC,$FF,$FF,$FF
FCB $FF,$FF,$FE,$FE,$FC,$FC,$F1,$C3
FCB $FF,$FC,$00,$00,$00,$00,$00,$00
FCB $00,$00,$00,$00,$00,$00,$80,$80
FCB $C0,$C0,$C0,$C0,$C0,$C0,$80,$80
FCB $00,$00,$00,$00,$00,$00,$00,$00
*===========================================
* Graphisme du titre
*===========================================
TITRE
FCB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
FCB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
FCB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FE,$00,$7F,$FC,$00,$FC,$00,$00
FCB $3F,$00,$00,$00,$7F,$FF,$FF,$E3,$F8,$3F,$FF,$FF,$FF,$FC,$7F,$FF
FCB $FE,$3F,$83,$FF,$FF,$FF,$FF,$8F,$FF,$FF,$F1,$FF,$FF,$FF,$FF,$FF
FCB $FE,$FF,$BF,$FB,$FE,$F3,$FF,$FF,$CF,$7F,$FF,$FF,$7F,$FF,$FF,$E3
FCB $F0,$7F,$FF,$FF,$FF,$FC,$7F,$FF,$FE,$3F,$07,$FF,$FF,$FF,$FF,$8F
FCB $FF,$FF,$F1,$FF,$FF,$FF,$FF,$FF,$FE,$FF,$BF,$FB,$FE,$EF,$FF,$FF
FCB $F7,$7F,$FF,$FF,$7F,$FF,$FF,$E3,$E0,$FF,$FF,$FF,$FF,$FC,$7F,$FF
FCB $FE,$3E,$0F,$FF,$FF,$FF,$FF,$8F,$FF,$FF,$F1,$FF,$FF,$FF,$FF,$FF
FCB $FE,$F7,$DF,$F7,$DE,$EF,$FF,$FF,$F7,$7F,$FF,$FF,$7F,$FF,$FF,$E3
FCB $C1,$FF,$FF,$FF,$FF,$FC,$7F,$FF,$FE,$3C,$1F,$FF,$FF,$FF,$FF,$8F
FCB $FF,$FF,$F1,$FF,$FF,$FF,$FF,$FF,$FE,$F3,$DF,$F7,$9E,$DF,$FF,$FF
FCB $FB,$78,$00,$00,$7F,$FF,$FF,$E3,$83,$F8,$1F,$10,$7F,$00,$63,$E3
FCB $FE,$38,$3E,$02,$3E,$3C,$07,$88,$3F,$FF,$F1,$F0,$38,$FC,$70,$3F
FCB $FE,$F3,$EF,$EF,$9E,$DF,$00,$00,$FB,$7B,$FF,$FF,$FF,$FF,$FF,$E3
FCB $07,$E0,$0F,$00,$3E,$00,$63,$C3,$FE,$30,$7E,$02,$3E,$38,$03,$80
FCB $1F,$FF,$F1,$C0,$18,$FC,$40,$1F,$FE,$F5,$EF,$EF,$5E,$DE,$FF,$FF
FCB $7B,$7B,$FF,$FF,$FF,$FF,$FF,$E0,$0F,$C0,$07,$00,$3C,$00,$63,$C3
FCB $FE,$00,$FE,$06,$3E,$30,$03,$80,$0F,$FF,$F1,$80,$08,$F8,$00,$0F
FCB $FE,$F5,$F7,$DF,$5E,$DE,$FF,$FF,$7B,$7A,$00,$07,$FF,$FF,$FF,$E0
FCB $1F,$C3,$87,$0E,$18,$70,$61,$C7,$FE,$01,$FE,$1E,$3E,$31,$E1,$87
FCB $0F,$FF,$F1,$87,$0C,$78,$87,$0F,$FE,$F6,$F7,$DE,$DE,$DE,$FF,$FF
FCB $7B,$78,$FF,$F9,$FF,$FF,$FF,$E0,$0F,$C7,$C7,$1F,$18,$78,$71,$C7
FCB $FE,$00,$FE,$3E,$3E,$30,$71,$8F,$8F,$FF,$F1,$8F,$8C,$78,$8F,$8F
FCB $FE,$F6,$FB,$BE,$DE,$DE,$FF,$FF,$7B,$7F,$FF,$FE,$FF,$FF,$FF,$E0
FCB $0F,$FE,$07,$1F,$18,$F8,$71,$87,$FE,$00,$FE,$3E,$3E,$30,$0F,$8F
FCB $8F,$FF,$F1,$FC,$0C,$31,$FC,$0F,$FE,$F7,$7B,$BD,$DE,$DE,$FF,$FF
FCB $7B,$7F,$FF,$FF,$7F,$FF,$FF,$E1,$87,$F0,$07,$1F,$18,$FC,$70,$8F
FCB $FE,$18,$7E,$3E,$3E,$38,$03,$8F,$8F,$FF,$F1,$E0,$0E,$31,$E0,$0F
FCB $FE,$F7,$7D,$7D,$DE,$DE,$FF,$FF,$7B,$7E,$00,$1F,$7F,$FF,$FF,$E3
FCB $83,$E0,$07,$1F,$18,$FC,$78,$0F,$FE,$38,$3E,$3E,$3E,$3C,$01,$8F
FCB $8F,$FF,$F1,$C0,$0E,$21,$C0,$0F,$FE,$F7,$BD,$7B,$DE,$DE,$FF,$FF
FCB $7B,$00,$FF,$EF,$7F,$FF,$FF,$E3,$C3,$C1,$C7,$1F,$18,$F8,$78,$0F
FCB $FE,$3C,$3E,$3E,$3E,$3F,$C1,$8F,$8F,$F8,$F1,$83,$8F,$03,$83,$8F
FCB $FE,$F7,$BE,$FB,$DE,$DE,$FF,$FF,$7B,$FF,$FF,$EF,$7F,$FF,$FF,$E3
FCB $E1,$C7,$87,$1F,$18,$78,$78,$1F,$FE,$3E,$1E,$3E,$3C,$31,$F1,$8F
FCB $8F,$F8,$F1,$8F,$0F,$03,$8F,$0F,$FE,$F7,$DE,$F7,$DE,$DE,$FF,$FF
FCB $7B,$FF,$FF,$EF,$7F,$FF,$FF,$E3,$F0,$C3,$07,$1F,$1C,$30,$7C,$1F
FCB $FE,$3F,$0E,$3E,$18,$30,$61,$8F,$8F,$F8,$61,$86,$0F,$07,$86,$0F
FCB $FE,$F7,$DE,$F7,$DE,$DE,$FF,$FF,$7B,$FF,$FF,$EF,$7F,$FF,$FF,$E3
FCB $F0,$40,$07,$1F,$1C,$00,$7C,$1F,$FE,$3F,$06,$3E,$00,$38,$03,$8F
FCB $8F,$F8,$03,$80,$0F,$87,$80,$0F,$FE,$F7,$EF,$EF,$DE,$DF,$00,$00
FCB $FB,$00,$FF,$EF,$7F,$FF,$FF,$E3,$F8,$60,$03,$1F,$1E,$00,$7E,$1F
FCB $FE,$3F,$86,$3F,$00,$38,$03,$8F,$8F,$FC,$07,$C0,$07,$87,$C0,$07
FCB $FE,$F7,$EF,$EF,$DE,$DF,$FF,$FF,$FB,$7E,$00,$1F,$7F,$FF,$FF,$E3
FCB $FC,$30,$E3,$1F,$1F,$84,$7E,$3F,$FE,$3F,$C2,$3F,$C2,$3E,$0F,$8F
FCB $8F,$FF,$0F,$E1,$C7,$CF,$E1,$C7,$FE,$F7,$F7,$DF,$DE,$EF,$FF,$FF
FCB $F7,$7F,$FF,$FF,$7F,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FC,$3F
FCB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
FCB $FE,$F7,$F7,$DF,$DE,$EF,$FF,$FF,$F7,$BF,$FF,$FE,$FF,$FF,$FF,$FF
FCB $FF,$FF,$FF,$FF,$FF,$FF,$FC,$7F,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
FCB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FE,$F7,$FB,$BF,$DE,$F3,$FF,$FF
FCB $CF,$CF,$FF,$F9,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$F0,$7F
FCB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
FCB $FE,$07,$F8,$3F,$C0,$FC,$00,$00,$3F,$F0,$00,$07,$FF,$FF,$FF,$FF
FCB $FF,$FF,$FF,$FF,$FF,$FF,$F0,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
FCB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
FCB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$F1,$FF
FCB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
END
Ok c'est ca qu'il m'est arrivé hier soir. J'avais donc bien bloqué la grille Domage que ne j'ai pas pris de photo. J'avais peut-être oublié de tester l'un des echanges possibles. A ce propos, le jeu détecte-t-il les situations bloquées ?Daniel a écrit : - Le clic est refusé si la permutation ne génère pas d'alignement de trois pions
Ce n'est pas très évolué : le programme recherche d'abord les alignements horizontaux en parcourant les lignes de haut en bas (de gauche à droite pour chaque ligne), puis les déplacements verticaux de la même manière. Il n'y a aucun traitement spécial pour les alignements de plus de trois pions, seuls les trois premiers sont pris en compte.__sam__ a écrit :Question spec: qui a la priorité ? Lorsqu'on fait un échange et qu'il apparait au moins 3 pieces de même couleur horizontalement ET verticalement ? Est-ce la direction avec le plus de pastilles qui l'emporte ou est-ce qu'il y a codé en dur une direction toujours choisie en pareil cas?
Wikipedia a écrit :En réaction, des développeurs indépendants se sont mis à créer un nombre important de jeux comportant ces noms, de façon plus ou moins moqueuse vis-à-vis de cette histoire. On pouvait ainsi en compter 368 le 3 février 2014
Bien vu ! C'est un bug de l'aide. Nouvelle version corrigée ci-dessous : [Edit]petitjd a écrit :je ne comprend pas l'aide de combinaison entre la pastille jaune et la pastille violette au bas à droite sur la dernière capture d'écran.