Je fais un jeu de pong. J'ai tout travaillé mais l'utilisateur déplace la pagaie. J'utilise une boucle while (true) dans laquelle toutes les méthodes sont invoquées. Comment puis-je déplacer la pagaie avec WASD? Je veux que le programme continue en attendant la saisie de l'utilisateur. J'ai essayé d'utiliser Console.ReadKey() mais il gèle le programmeEntrée de l'utilisateur lorsque le programme est en cours d'exécution
1
A
Répondre
1
Alors que je suggère d'utiliser une bibliothèque de jeu (bien que je ne trouve pas de spécifiquement pour un terminal, il est Curses Sharp qui pourrait être utile), ce peut être fait manuellement ..
Le problème principal est que Console.ReadKey
bloque (ou «gèle») jusqu'à ce qu'une clé soit disponible pour la lecture; utiliser Console.KeyAvailable pour voir si une clé est actuellement disponible:
while (true) {
// Clear out all keys in the queue; there may be multiple (hence "while")
while (Console.KeyAvailable) {
// Won't block because there is a key available to read. Handle it.
var key = Console.ReadKey(true);
HandleKey(key);
}
// Do other processing ..
ProcessGameTick();
// .. and be sure to Yield/Sleep to prevent 100% CPU usage.
Thread.Sleep(0);
}
Questions connexes
- 1. Quel est le programme d'écoute d'événement Flash lorsque Flash est en cours de fermeture?
- 2. programme de pause lorsque l'utilisateur entre chaîne spécifique en entrée
- 3. Générer un éditeur de conception dans VB.Net lorsque le programme est en cours d'exécution
- 4. Empêche les fenêtres de se mettre en veille lorsque mon programme est en cours d'exécution?
- 5. fichiers à l'aide en entrée du programme lorsque le programme d'entrée plusieurs pose fois
- 6. Ubuntu - SmartFoxServer - Vérifier le programme est en cours d'exécution
- 7. Combien de fois une ligne de code est-elle exécutée lorsque le programme est en cours d'exécution?
- 8. Entrée du clavier C# en cours d'envoi
- 9. Le fichier n'existe pas erreur lorsque je cours hello.go programme
- 10. Code en cours d'exécution lorsque la page est chargée
- 11. Désactiver le clavier lorsque la méthode est en cours d'exécution
- 12. « Impossible de charger le soutien VDM IPX/SPX » lorsque le programme d'assemblage en cours d'exécution
- 13. Programme de bureau qui informe lorsque la webcam est en cours d'accès
- 14. Comment vérifier par programme si le téléphone mobile est en cours de charge ou s'il est en cours de chargement?
- 15. Est-il possible de dire si un programme est en cours d'exécution en lisant le registre?
- 16. Jquery en cours d'exécution lorsque la page est chargée et lorsque le bouton est cliqué
- 17. Est-il possible de décompiler un programme en cours d'exécution
- 18. éclipse sortie étrange de fenêtre de la console lorsque le programme en cours d'exécution c
- 19. C/C++ Determine Drive un programme est en cours d'exécution
- 20. Le programme expire lorsque seule la nouvelle ligne vierge est entrée
- 21. programme externe arrêt lorsque le programme Java est arrêté
- 22. L'UIControlEventValueChanged est-il déclenché lorsque UISlider est en cours d'animation?
- 23. Vérifiez par programme si syncdb est en cours d'exécution
- 24. Message d'alerte lorsque le programme est en arrière-plan [Titanium]
- 25. Le programme est en cours d'exécution même après avoir appuyé sur le bouton de fermeture
- 26. Supprimer l'élément WPF alors que le programme est en cours d'exécution avec C#
- 27. Puis-je modifier par programme les valeurs Info.plist lorsque mon application est en cours d'exécution?
- 28. Xcode "Le programme en cours de débogage n'est pas en cours d'exécution" erreur
- 29. programme en cours d'exécution JNI
- 30. changer l'itinéraire audio lorsque l'audio est en cours de lecture
... Je doute que vous faites un jeu de pong complet dans la connerie de la console, donc euh - quelle ludothèque êtes-vous fait cela avec? – mcmonkey4eva
Pourquoi ne pas mettre Console.ReadKey sur un fil séparé? – CodeCamper
comme je l'ai dit je suis un débutant: \ je n'utilise aucune bibliothèque O_o –