Results 1 to 7 of 7
Thread: Ìàëêî ïîìîù çà ïðîãðàìèðàíå
Hybrid View
-
15th February 2016 09:51 #1
Ìàëêî ïîìîù çà ïðîãðàìèðàíå
Çäðàâåéòå, íîâ ñúì â òàçè ñôåðà è ñå îïèòâàì äà ñúçäàì åäíà êîíçîëíà èãðè÷êà. Èìàì äâà âúïðîñà:
- êàêâî òðÿáâà äà íàïèøà, çà äà ìîæå ïðîãðàìàòà äà èçïúëíè êîä, ñàìî êîãàòî îïðåäåëåí êëàâèø å íàòèñíàò? if è ïîñëå êàêâî? Àç ñè ãî ïðåäñòàâÿì íåùî êàòî if key pressed=shift
(
Èçïúëíè êîäà òóêà.
)
Íî ñòî ïðîöåíòà íå å òàêà. Ñúùî íÿêàêâà áèáëèîòåêà äðóãà äàëè ùå ìè òðÿáâà?using íåùî ñè?
Äðóãèÿò ìè âúïðîñ å êàê äà ïóñíà ìóçèêà äîêàòî âúâðè ïðîãðàìàòà. Êàòî ñëîæà music.PlaySync(); ïåñíè÷êàòà ñè òðúãâà àìà ïðîãðàìàòà íå ïðîäúëæàâà äà èçïúëíÿâà êîäà,à ÷àêà ïåñåíòà äà ñâúðøè è òîãàâà ïðîäúëæàâà. Àç èñêàì äà èçïúëíÿâà êîäà è ñúùåâðåìåííî ìóçèêàòà äà âúðâè.
Êàê äà ïîñòèãíà òîâà? Èçâèíÿâàì ñå çà òúïèòå âúïðîñè, åçèêà å C# àêî íå ñå å ðàçáðàëî.
-
15th February 2016 10:05 #2
Âúâ windows forms çàêà÷àø handler êúì íÿêîé event èëè áóòîí, è ïðè íàòèñêàíå ñå èçâèêâà handler-a òè (ôóíêöèÿ, êîÿòî ñè ðàçïèñàë).
Çà ìóçèêàòà, òðÿáâà òè äà ñòàâà ïðîñòî àñèíõðîííî (ïî÷íè ñ LoadAsync êàòî íà÷àëî). PlaySync ãî ïðàâè "áëîêèðàùî", òî÷íî êîåòî ñè çàáåëÿçàë, ÷å êîäà ñå áëîêèðà è íå ñå èçïúëíÿâà äîêàòî íå çàâúðøè òîçè call.
Èíà÷å "òúïèòå" âúïðîñè èç÷åçâàò ïðåäèìíî êàòî ïðî÷åòåø îñíîâèòå íà åçèêà, íà êîéòî ïèøåø, à íå ïî ôîðóìèòå
.
-
15th February 2016 10:13 #3
Îê, ñàìî ÷å òîâà å console application íÿìà ôîðìñ íÿìà áóòîíè. Òîâà ñå îïèòâàì äà îáÿñíÿ.
-
15th February 2016 10:16 #4It's better to kick ass than kiss it
-
15th February 2016 10:34 #5
×åòåíe íà íàòèñíàòèòå êëàâèøè:
Çà äà âúðâè ìóçèêàòà ïàðàëåëíî ñ èçïúëíåíèåòî íà ïðîãðàìàòà òðÿáâà äà ÿ ïóñíåø íà îòäåëåí thread - ò.å. îòäåëíà íèøêà. Ïîòúðñè â èíòåðíåò êàê ñå ðàáîòè ñ thread-îâå, êàê ñå ïóñêà íîâ thread, êîéòî äà èçïúëíÿâà îïðåäåëåíà ðàáîòà/ìåòîäCode:if (Console.KeyAvailable) { ConsoleKeyInfo pressedKey = Console.ReadKey(); if (pressedKey.Key == ConsoleKey.DownArrow) { currentDirection = 0; } if (pressedKey.Key == ConsoleKey.LeftArrow) { currentDirection = 1; } if (pressedKey.Key == ConsoleKey.RightArrow) { currentDirection = 2; } if (pressedKey.Key == ConsoleKey.Q) { gameOn = false; } }
Last edited by toc; 15th February 2016 at 10:45.
-
15th February 2016 11:01 #6
Áëàãîäàðÿ ìíîãî! toc èìàø ãðåøêà â êîäà èëè ïðîñòî àç ïðàâÿ íåùî äðóãî, íî
if (Console.KeyAvailable)
{
ConsoleKeyInfo pressedKey = Console.ReadKey();
Console.ReadKey();
if (pressedKey.Key == ConsoleKey.DownArrow)
ñëåä ConsoleKeyInfo.pressedKey = Console.ReadKey(); òðÿáâà äà èìà readkey èíà÷å ïðîãðàìàòà íå çíàå äàëè ñè íàòèñíàë downarrow è ñëåäîâàòåëíî íå èçïúëíÿâà êîäà ñëåä if ñëåä êàòî ãî äîáàâèõ è ñå ïîëó÷è. Ìíîãî Áëàãîäàðÿ íà âñè÷êè ùå ïî÷åòà è çà íèøêèòå.




Reply With Quote
Íå âúçìîæíîñò äà èçêëþ÷à êîìïþòúðà
7th May 2023, 16:02 in Îáù ôîðóì çà PC õàðäóåð