J'ai créé un jeu par navigateur appelé "Poop Maker".
C'est un jeu qui rivalise pour la longueur de la merde et qui a une fonction de classement en ligne. Les techniques utilisées sont Django, Vue, etc. Cette fois, je voudrais écrire sur la technologie utilisée par ce fabricant de caca.
J'ai utilisé Vue comme cadre frontal. Vue est un framework orienté composant qui vous permet de définir des modules dans des unités appelées SFC (Single File Component). Par exemple, comme ↓.
python
<script>
export default {
data () {
return {
}
}
}
</script>
<template>
<div class="">Hello, World!</div>
</template>
<style lang="scss" scoped>
</style>
SFC est un composant qui combine JavaScript, HTML et CSS dans un seul fichier, et vous pouvez développer efficacement en les combinant dans un seul fichier. Vous pouvez transmettre des données aux attributs à l'aide de composants tels que ↓.
python
<my-component :my-data="1" />
Les données transmises à l'attribut sont partagées par SFC avec une variable de l'objet appelée «props».
Par exemple, si vous modifiez la valeur de mes-données
dans ↑, ce changement sera reflété dans SFC en temps réel.
En utilisant cette fonction props
, vous pouvez facilement définir un composant avec un état.
Avec ce développement, j'ai pensé que le jeu était une masse de transitions d'états. La transition d'état est une technologie qui change le comportement des modules, etc. en préparant une variable qui définit l'état et en changeant la valeur de cette variable l'une après l'autre.
Par exemple, si vous avez une variable comme ↓
python
const status = 'first'
Cette variable est référencée comme ↓.
python
switch (status) {
case 'first': /* TODO */ break
case 'running': /* TODO */ break
case 'waiting': /* TODO */ break
}
La transition d'état peut être réalisée en écrivant le processus en fonction de l'état dans le "cas" de l'instruction "switch". Les variables qui ont des états changent pendant le traitement de chaque état.
En donnant aux "accessoires" du composant précédent un tel état, il est possible de faire effectuer au composant une transition d'état. Par exemple, comme ↓.
python
<my-component :status="myComponentStatus" />
Dans le composant, bouclez avec setInterval
pour surveiller cet état.
python
mounted () {
this.iid = setInterval(this.update, 16.66)
},
methods: {
update () {
switch (this.status) {
case 'first': /* TODO */ break
case 'running': /* TODO */ break
case 'waiting': /* TODO */ break
}
},
},
Les objets créateurs de merde ont des états complexes, mais ils fonctionnent essentiellement avec de telles transitions d'état.
J'ai appris les transitions d'état en analysant les chaînes de caractères, mais j'ai trouvé que ce développement peut également être appliqué aux jeux. Le jeu a des conditions complexes, mais il y a une forte probabilité que votre anus se perce si vous essayez de les gérer tous en même temps. Cependant, il sera plus facile de se développer en divisant et en gouvernant le comportement de l'ensemble du jeu en unités d'états.
L'utilité des transitions d'état dans le développement de jeux est certaine, et je pensais que ce que vous pouvez faire différera si vous ne le savez pas. Si vous ne le savez pas, vous finirez par faire un putain de jeu, mais si vous le savez, vous pouvez faire un putain de jeu comme un fabricant de caca.
Il existe un célèbre modèle d'état GoF comme modèle de conception pour gérer l'état, mais je ne l'ai pas utilisé cette fois.
Je n'avais même pas besoin d'utiliser le générateur de merde car c'était une application assez petite, mais en fonction de la taille, il peut être nécessaire de vérifier l'utilisation de ces modèles de conception.
C'est un monde stressant, mais sortons beaucoup de créateurs de caca et rendons-le rafraîchissant.
c'est tout.