Méga bloks

Pour partager vos applications (Excel, Calc et Google Sheets) avec les autres membres
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'038
Appréciations reçues : 265
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 3 juillet 2019, 16:59

Bonjour,

Et bien voilà : Méga Blocks a été validé par Sébastien ! Merci à lui ! :-)

Mais Quèsaco ?
Ce n'est ni plus ni moins qu'un jeu de type Tétris, à la différence près que la barre ne fait que 3 carrés au lieu de 4.
Je me permet de vous expliquer un peu son fonctionnement.

Deux boutons de jeu :
- mode "Classique", cela correspond au Tétris habituel au niveau des pièces sauf pour la "grande" barre qui ici ne comporte que 3 carrés.
- mode "Ultimate", cela correspond au Tétris mais ici il y a 43 pièces différentes, de la plus simple (un seul carré) à la plus "grosse" avec ses 9 carrés !

Le jeu commence avec une pièce tirée au hasard ainsi que l'affichage de la prochaine pièce.
Toutes les pièces sont "vertes" et vous les dirigez avec les touches de direction du clavier, à savoir :
flèche gauche : déplacement de la pièce vers la gauche,
flèche droite : déplacement de la pièce vers la droite,
flèche du bas : déplacement de la pièce vers le bas (accélération)
flèche du haut : rotation de la pièce
Tourne.png
Tourne.png (2.86 Kio) Vu 344 fois
Il est bon de savoir que "toutes les rotations" ne sont pas possibles :
En effet du fait que les pièces soient gérées sous VBA comme faisant parties d'un bloc de 3 carrés sur 3 carrés (pointillés rouge et blanc sur l'image), si une partie de cette zone se trouve "hors jeu" ou superposée à une autre pièce alors la rotation n'est pas possible :
Rotation.png
Rotation.png (18.42 Kio) Vu 344 fois
Je suis désolé, mais pour la raison "hors jeu" je n'ai pas pris le temps de programmer un "slide" afin que cette rotation puisse se faire... :oops: Peut-être pour une version ultérieure ;-)

Il est bon de savoir et utile "d'en profiter" : une pièce verte, tant qu'elle est verte peut être déplacée ou tournée, ce qui fait que vous pouvez "boucher" des trous en faisant un "slide" lors de son déplacement :
slide.png
slide.png (11.33 Kio) Vu 344 fois
Voilà vous savez tout.
j'oubliais, il y a un troisième bouton pour stopper la partie en cours si elle devait durer trop longtemps, mais alors la partie est perdue, sans possibilité de s'enregistrer au niveau du tableau des scores... :cry:

Bon jeu @ vous !

@ bientôt

LouReeD
Modifié en dernier par LouReeD le 31 octobre 2019, 15:15, modifié 3 fois.
Contributeur depuis peu ! 8-)
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
Pedro22
Passionné d'Excel
Passionné d'Excel
Messages : 3'147
Appréciations reçues : 313
Inscrit le : 26 janvier 2017
Version d'Excel : 2010 FR
Version de Sheets : FR
Téléchargements : Mes applications

Message par Pedro22 » 4 juillet 2019, 09:39

Salut LouReeD,

Une belle application de plus à ta collection. :bien:

J'ai testé un peu, c'est très agréable à utiliser, mais j'ai du arrêter par ce que ça fait moyen de jouer à Tetris au bureau ! :lol:
Merci de prendre 30 sec pour lire la charte du forum.
Quelques conseils : ici
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'038
Appréciations reçues : 265
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 4 juillet 2019, 10:35

Bonjour Pedro22 ! :o

Merci pour ces encouragements !
Au boulot, dites vous ?
J'en connais que cela ne dérange pas ! :lol:

Il y a un petit bug sur l'affichage des scores, les deux dernières colonnes n'affiche rien... Normal les données vont en colonne 7 et 8 au lieu de 44 et 45...

Et à l'utilisation en mode classique, l'accélération automatique de la descente des pièces est trop longue à venir... La tempo de 2 secondes est réduite de 0,1 toutes les 10 lignes, il faudrait que cela aille plus vite, non ?
Quite à mettre une tempo différente entre le classique et l'ultimate. En effet e n ultimate la grille se remplie vite malgré les deux secondes...

@ bientôt

LouReeD
Contributeur depuis peu ! 8-)
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'038
Appréciations reçues : 265
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 4 juillet 2019, 10:40

Sinon ça fait moyen de jouer à TETRIS, mais c'est mega top de jouer à MEGA BLOKS !

@ bientôt

LouReeD
Contributeur depuis peu ! 8-)
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
Pedro22
Passionné d'Excel
Passionné d'Excel
Messages : 3'147
Appréciations reçues : 313
Inscrit le : 26 janvier 2017
Version d'Excel : 2010 FR
Version de Sheets : FR
Téléchargements : Mes applications

Message par Pedro22 » 4 juillet 2019, 21:54

Bon, j'ai explosé ton score avec 19900 pts, mais j'ai pas pu immortaliser ça par ce que j'ai du appuyer sur quelque chose qu'il fallait pas après avoir saisie mon nom et j'ai du fermer le classeur ! Concernant la vitesse, oui la descente pourrait être plus rapide, et surtout rendue paramétrable à l'avance (choix de la difficulté qui modifierait aussi la vitesse d'obtention des points). Une autre fonctionnalité manque cruellement : un bouton PAUSE !
Merci de prendre 30 sec pour lire la charte du forum.
Quelques conseils : ici
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'038
Appréciations reçues : 265
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 4 juillet 2019, 23:13

Bonsoir,

en effet la pause... on me la demande, en fait j'ai la solution car ce n'est pas simple avec une boucle Do Loop pour le jeu.
Si tout se jouait qu'avec l'événementielle alors ce serait plus simple.
Donc l'idée et de créer une variable Globale "Attente" en Boolean, de créer une SUB OnAttend
Avec en code :
Sub On Attend()
    If Attente = True Then Attente = False Else Attente = True
    Do
        DoEvents
    Loop While Attente = True
End Sub
Cette Sub serait lancée avec un bouton pause par exemple ou bien la détection de la barre espace...
Le soucis de la barre espace c'est que si on l'utilise pendant la pause alors la pause s'arrête, c'est pourquoi je suis parti sur un bouton.
Du coup la macro tombe dans une boucle "perpétuelle" mais grâce à DoEvents elle rend l'application accessible.

Ce n'est pas grand chose à programmer pour vous en attendant la mise à jour.

Donc la futur mise à jour sera un bouton pause, correction de ciblage des cellules pour les scores, modification de la vitesse de déplacement vers le bas, variation de la vitesse automatique plus rapide en fonction du nombre de ligne, variation des points obtenus pour chaque pièce et chaque ligne fonction du niveau atteint....
En d'autre termes encore du pain sur la planche ! :-)

Merci @ vous pour ce retour constructif ! "Ca me fait quelque chose" comme dirait VGE dans une parodie de détournement de vidéo.... :lol:

@ bientôt

LouReeD
Modifié en dernier par LouReeD le 24 juillet 2019, 17:53, modifié 1 fois.
Contributeur depuis peu ! 8-)
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'038
Appréciations reçues : 265
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 4 juillet 2019, 23:15

Il faudrait aussi que je règle ce problème de barre à 3 carrés... Je crois qu'il faut que je repense toute la structure même de mon code... :cry: Ainsi que la possibilité de faire les rotations de pièces même si celles-ci sont trop "près" des bord suivant leur configuration... Mais je crois que le Tétris original avait aussi ce genre de limite, non ?

@ bientôt

LouReeD
Contributeur depuis peu ! 8-)
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
Pedro22
Passionné d'Excel
Passionné d'Excel
Messages : 3'147
Appréciations reçues : 313
Inscrit le : 26 janvier 2017
Version d'Excel : 2010 FR
Version de Sheets : FR
Téléchargements : Mes applications

Message par Pedro22 » 5 juillet 2019, 08:35

Salut LouReeD,

La rotation limitée par le bord ou la barre de 3 ne m'ont pas dérangés du tout, ça fait partie du jeu. Pour le reste des fonctionnalités mentionnées, je pense par contre que ça apporterai un plus à ton application.
Tu peux même imaginer afficher des messages au passage de certains scores pour encourager le joueur, voir modifier le style de la grille ou la couleur des pièces en parallèle (comme pour simuler le passage vers un nouveau niveau et rendre le jeu plus vivant).

En tout cas c'est un joli travail ! ;;)
Modifié en dernier par Pedro22 le 5 juillet 2019, 09:38, modifié 1 fois.
Merci de prendre 30 sec pour lire la charte du forum.
Quelques conseils : ici
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'038
Appréciations reçues : 265
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 5 juillet 2019, 09:35

Bonjour,

Vous savez quelque fois ce sont les idées qui manquent... Et celle de la couleur des pièces qui change en fonction du niveau pour quoi pas, au niveau de mon jeu c'est juste une histoire de MFC. D'ailleurs j'avais pensez le mettre en place mais pour différencier les pièces entre elles...

@ bientôt

LouReeD
Contributeur depuis peu ! 8-)
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
Pedro22
Passionné d'Excel
Passionné d'Excel
Messages : 3'147
Appréciations reçues : 313
Inscrit le : 26 janvier 2017
Version d'Excel : 2010 FR
Version de Sheets : FR
Téléchargements : Mes applications

Message par Pedro22 » 5 juillet 2019, 11:37

Pour la fonctionnalité PAUSE, j'ai juste ajouté une MsgBox associée à un bouton PAUSE :
Sub PartiePause()
    MsgBox "Reprendre la partie ?", vbOKOnly
End Sub
Excel est par contre inutilisable pendant la pause, mais dans mon cas ça remplit l'objectif.


J'ai aussi modifié la vitesse de départ via le choix du niveau (j'ai donc placé en premier dans le code le choix du level) :
' initialisation du niveau
Range("Level").Value = Application.InputBox("Choix du niveau de départ :", "Niveau", 1, Type:=1)
    
' Initialisation de la vitesse au début du jeu : 2 secondes
Vitesse = Application.Max(2000 - 100 * Int(Range("Level").Value / 10),100)
PS : ça va plus vite avec cette version ! ;;)
MEGABLOKS.jpg
Merci de prendre 30 sec pour lire la charte du forum.
Quelques conseils : ici
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message