Twisters ou réfrigérateur dans Pilot Brothers

imageJ'adore le développement mobile, et quand mes yeux me brûlent avec une idée, il est très difficile de s'éloigner du travail.

Et c'est arrivé cette fois. Je me suis souvenu du vieux jeu "Brothers Pilots" et de l'énigme de l'ouverture du réfrigérateur. Pour ceux qui ont oublié, je vous rappelle qu'il a fallu tourner toutes les poignées en position horizontale. Mais, lorsque vous tournez la poignée, les autres poignées qui se trouvent dans la même ligne et colonne tournent avec elle. Dans le jeu, le problème est résolu assez simplement - vous devez vous souvenir des poignées verticales et cliquer dessus, en ignorant les états suivants.

De toute évidence, les stylos du jeu étaient disposés de manière à ce que l'élève puisse les résoudre sur une intuition. Mais cela est devenu intéressant pour moi - est-il possible de résoudre le problème si toutes les poignées sont en position horizontale? Ou presque tout?

Google a dit qu'il y avait une solution et j'ai même trouvé une explication mathématique pour la matrice 4x4. Je ne donnerai pas d'explication ici, car ce sera une utilisation déloyale des œuvres d'autrui et une tentative de paraître intelligent.

Une fois le 4x4 décidé, qu'adviendra-t-il du 5x4? 6x6? Besoin d'essayer. Finalement, je me suis assis pour écrire un jeu. J'ai choisi Swift, bien qu'il y ait eu des réflexions sur SwiftUI. J'ai décidé de refuser, car dans le projet précédent, je suis tombé sur l '"humidité" du cadre. À savoir - l'impossibilité de faire défiler ScrollView par programme jusqu'à la valeur souhaitée. Dans ce cas, le manque de cette fonctionnalité s'est avéré critique, j'ai donc décidé d'attendre la sortie d'une nouvelle version et de reporter SwiftUI pour l'instant.

J'ai immédiatement divisé le jeu en niveaux: 1er niveau - matrice 4x4, 2e - 5x5, etc. Passé le niveau - déplacé au suivant. Théoriquement - il n'y a aucune restriction dans les niveaux.

La fonctionnalité principale a été écrite en quelques heures. Le design a choisi le plus simple, car il n'y a aucun talent dans cette affaire du tout. La conception et la localisation ont pris plus de temps - j'ai décidé que le monde anglophone devrait également pouvoir se tester. Pour cela, il a également ajouté Game Center, d'autant plus qu'il n'avait jamais travaillé avec lui auparavant - tout s'est avéré simple.

J'ai décidé d'appeler le jeu Krutilki, tk. au lieu des poignées du réfrigérateur, le jeu utilise des touches colorées. Tout ressemble à ceci:

Capture d'Ă©cran
image

En général, le développement de la fonctionnalité principale a été facile. Plus de temps a été consacré à la conception, à la localisation et à la préparation de la sortie. Et puis je me suis souvenu qu'il n'y avait aucun son dans le jeu. Besoin d'ajouter. La recherche a pris un peu de temps, mais s'est heurtée à un problème d'implémentation intéressant.
À l'origine, il y avait AVAudioPlayer, qui était stocké dans la propriété. Lorsque vous appuyez sur le twist, il est lu et, une fois terminé, il défile jusqu'au tout début de la piste. Mais quand j'ai commencé le jeu, j'ai remarqué que la première fois que le son était joué normalement et toutes les fois suivantes - en quelque sorte étouffé / tordu. Googlé que cela s'appelle de la gigue, mais pourquoi ne l'a-t-il pas compris. De plus, dans les projets précédents, ce problème ne se posait pas, mais le fichier audio y était utilisé beaucoup plus longtemps qu'une seconde.

La solution s'est avérée plus simple - j'ai supprimé le rembobinage dans la méthode d'achèvement et cela a fonctionné. Pourquoi la première méthode n'a pas fonctionné - je serai heureux de lire dans une communauté bien informée.

Quant au jeu lui-même - je me demande jusqu'où iront les joueurs? À quel niveau maîtriseront-ils? Oui, le 4x4 est résolu assez simplement et Google dira l'algorithme. Mais qu'en est-il de 5x5, 6x6? Il me semble que 90% du maximum passera le niveau 1 et abandonnera. J'ai été surpris par ma femme qui, en 5 minutes, a rapporté avoir franchi 2 niveaux à la fois et a commencé à prendre d'assaut le 3e. J'avoue que je suis moi-même arrivé au troisième jour plus tard.

Je vais parler un peu des difficultés de publication dans l'Appstore. En envoyant la demande de vérification dans la soirée, j'ai presque immédiatement reçu une réponse d'Apple - votre compte est bloqué et est sous enquête (sous enquête) pour violation de l'un des articles (sans le préciser).

Lettre d'Apple
We are unable to continue this app’s review because your Apple Developer Program account is currently under investigation for not following the App Store Review Guidelines’ Developer Code of Conduct.

Common practices that may lead to an investigation include, but are not limited to:

• Inaccurately describing an app or service
• Misleading app content
• Engaging in inauthentic ratings and reviews manipulation
• Providing misleading customer support responses
• Providing misleading responses in Resolution Center
• Engaging in misleading purchasing or bait-and-switch schemes
• Engaging in other dishonest or fraudulent activity within or outside of the app

During our investigation, we will not review any apps you submit. Once we have completed our investigation, we will notify you via Resolution Center.We do not require any additional information from you at this time, nor do we have any additional details to share. We appreciate your continued patience during our investigation.

Best regards,
App Store Review

Dans le même temps, la réponse indique également qu'aucune information n'est nécessaire - attendez simplement.

Googler, j'ai trouvé une longue feuille sur le forum apple virgo sur ces réponses. De nombreux "chanceux" ont indiqué qu'ils attendaient la fin de l'enquête depuis des mois. Je n'étais pas satisfait de cette attente, et j'ai, en utilisant le formulaire de rétroaction, aimablement demandé les raisons. Le même jour, la réponse est venue que l'application est tombée dans la catégorie du spam et copie censément les fonctionnalités de nombreuses applications existantes. Malgré le fait que je n'ai pas trouvé une telle recherche superficielle. En général, j'ai déposé une plainte dans laquelle j'ai décrit que la recherche ne me renvoyait rien de similaire dans la fonctionnalité et l'application est définitivement unique. En conséquence, ils l'ont manqué.

La merveilleuse politique et l'expérience des camarades suggèrent que de nombreux examinateurs ne se plongent pas vraiment dans et n'aiment pas envelopper les demandes. J'espère que cette expérience sera utile à quelqu'un.

résultats


Pourquoi je fais tout ça? En tant que développeur, c'était intéressant pour moi d'implémenter un tel jeu, et je veux vraiment voir des idées et des solutions à ce problème par la communauté technique (à la fois dans les commentaires ici et dans le classement).

L'application elle-même est ici . C'est naturellement gratuit. Une petite annonce peut apparaître sur l'écran principal, ce qui ferme l'espace libre ci-dessous.

Je serais reconnaissant pour vos commentaires et retours.
Être en bonne santé.

All Articles