Je choisis et je dépose des sprites sur l'autre et je le fais en les ramassant au hasard à partir d'un tableau. Pour donner l'illusion d'eux ne réapparaissant pas, il est essentiel qu'ils ne soient pas les mêmes.
Comment puis-je y arriver, avec Ajout de mon tableau et que vous mettez mon index hors des limites de la matrice? ` P>
3 Réponses :
Ça devrait fonctionner pour vous.
while(bloodSprite == bloodSprite2) { bloodSprite2 = Random.Range(0, 12); }
Dans une solution ci-dessus, nous avons défini la plus petite valeur possible de INT vers Bloodsprit, ce qui la mettra à la mettre à jour dans le côté < em> pourquoi nous avons utilisé do .. tandis que code> sera utile ici sur
INT.MINVALUE
: Il est constant représente la plus petite valeur possible d'un entier . P> do..while () code> boucle p>
. () code>
boucle? em> p>
À votre santé! Je suis très nouveau, pourriez-vous clarifier ce que l'INT.MValue est / fait? Appréciez l'aide.
Hey @jonasbrocklehurst, j'ai mis à jour ma réponse. J'espère que ce sera utile pour vous
Merci beaucoup! très bonne réponse! J'ai toutefois une question de suivi, si je peux. Pourquoi assigner ma bloodsprite int, à in.minvalue? Pourquoi n'attendez pas simplement que vous demandez mon int, et en l'affectant avec Random.Range? Et dernière chose, Sry, est ma compréhension de Int.Minvalue le numéro Int le plus bas que c # peut comprendre?
@Jonasbrocklehurst, c'est ma compréhension de Int.Minvalue le numéro Int le plus bas que c # peut comprendre? Réponse -> Ouais c'est correct. B>
@Jonasbrocklehurst, pourquoi assigner mon Historyprite Int, à Int.Minvalue? Pourquoi n'attendez pas simplement que vous demandez mon int, et en l'affectant avec Random.Range? Réponse B> -> à cause de Portée B>. Si vous initialisez votre INT INTS INTERS INTER DO. La portée de ces variable sera uniquement à l'intérieur des supports bouclés. Il sera inaccessible à la condition présente dans
pendant code>. C'est pourquoi nous devons créer
Bloodsprite Code> Variables en dehors de
Do..while code> boucle
@Jonasbrocklehurst, ce serait génial si vous essayez de sortir en utilisant DO, tandis que la boucle avec l'initialisation de int code> (s) INTER
DO.. / code> boucle. Laissez-moi savoir quelle erreur vous obtenez
Merci!! J'ai essayé de supprimer l'Int.Minvalue .. et je n'obtiens pas de messages d'erreur, mais je ne suis pas sûr que c'est ce que vous recherchez: Int Bloodsprite; Int Bloodsprite2; do {// Valeur de Sprite aléatoire Bloodsprite = aléatoire.Range (0, 12); Bloodsprite2 = aléatoire.Range (0, 12); // À la fin, vérifiez l'état de votre temps. } tandis que (Bloodsprite == Bloodsprite2); C'est plus l'in.minvalue, que je suis curieux?
Obtenir d'abord aléatoire de 0 à 12 dises x, puis faites-vous aléater de 0 à x - 1 ou de x + 1 à 12. u peut choisir n'importe lequel.
int s1 = Random.Range(0, 12); int s2 = s1 == 0 ? Random.Range(s1, 12) : Random.Range(0, s1);
tandis que (Bloodsprite == Bloodsprite2) {Bloodsprite2 = aléatoire.Range (0, 12); } code> peut fonctionner pour vous. Vous pouvez finir par choisir plus d'une fois mais cela ne devrait pas être un problème.
Grand merci! Lorsque vous dites: "Vous pouvez finir par choisir plus d'une fois", voulez-vous dire que le script fonctionnera à nouveau pour essayer d'obtenir un nouveau numéro?