Chtěli jste někdy nechat program C čekat po určitou dobu?
Můžete nastavit techniku, která umožní čas na zaškrtnutí, například: při zobrazení úvodní stránky (oznámení nebo nápovědy) pro hru.
Dobře, zde je několik způsobů, jak nechat program „stát na místě“, číst dále…
Kroky
Krok 1. Zajistěte, aby váš procesor nějakou dobu fungoval, aniž by došlo k nějaké znatelné události
Krok 2. Během tohoto zpoždění neprovádějte žádnou jinou operaci, abyste vytvořili jednoduché časové zpoždění
Metoda 1 ze 2: Technika „pro smyčku“
Krok 1. K implementaci časového zpoždění použijte typickou smyčku „for“následovanou nulovým příkazem
Krok 2. Napište například takto:
- pro (i = 1; i <100; i ++);
- Po prohlášení následovalo „;“počítač provede 100krát smyčku bez jakékoli viditelné události. Jen to vytváří časové zpoždění.
Metoda 2 ze 2: Technika „spánku ()“
Krok 1. Použijte režim spánku () Deklarovaná funkce s názvem sleep (int ms), ve které program čeká na zadaný čas v milisekundách
Krok 2. Před „int main ()“zahrňte do svého programu následující řádek:
#zahrnout
Krok 3. Vložte, kamkoli potřebujete, aby váš program zpozdil:
- spánek (1000);
- Změňte „1000“na počet milisekund, na které chcete počkat (například pokud chcete udělat 2sekundové zpoždění, nahraďte jej „2000“.
- Tip: V některých systémech může hodnota odkazovat na sekundy místo milisekund. Někdy tedy 1000 není jedna sekunda, ale ve skutečnosti 1000 sekund.
Tipy
- Výše uvedenou logiku lze implementovat pomocí libovolné smyčkové struktury následované nulovým příkazem „;“, jako pomocí smyček while nebo do-while.
- Milisekunda je 1/1 000 sekundy.
Varování
- Tato technika je obecně k ničemu kromě triviálního programu. Obecně k implementaci použijte časovače nebo přístup řízený událostmi. Jinak program během doby zpoždění přestane reagovat a to není vždy dobré. Kromě toho výběr N ve vaší smyčce, pokud závisí na provedení instrukce, může mít překvapivé výsledky. Původní autor zjevně nikdy neslyšel o optimalizačním kompilátoru … může optimalizovat celou smyčku, pokud ve skutečnosti nic nedělá!
- Pokud používáte smyčku pro, kompilátor může optimalizovat kód a protože smyčka nedělá nic, odeberte ji. To se nestane při použití delay ().
- Všimněte si toho, že když používáte techniku for-loop, možná budete potřebovat velmi velké rozpětí pro i, protože prázdný příkaz je spuštěn velmi rychle. Tak velká čísla se nemusí hodit do celočíselného typu.