Oletko koskaan halunnut saada C -ohjelman odottamaan tietyn ajan?
Voit määrittää tekniikan, joka sallii ajan kulumisen, esimerkiksi: kun näytetään pelin aloitussivu (ilmoitus tai vihje).
Okei, tässä on muutamia tapoja saada ohjelma "pysymään paikallaan", lue…
Askeleet
Vaihe 1. Saa suorittimen toimimaan jonkin aikaa tuottamatta mitään havaittavaa tapahtumaa
Vaihe 2. Älä tee muita toimintoja viiveen aikana yksinkertaisen aikaviiveen luomiseksi
Menetelmä 1 /2: "For-loop" -tekniikka
Vaihe 1. Käytä tyypillistä "for" -silmukkaa ja sen jälkeen null -käskyä toteuttaaksesi aikaviiveen
Vaihe 2. Kirjoita esimerkki seuraavasti:
- (i = 1; i <100; i ++);
- Lausunto, jota seuraa ";" saa tietokoneen suorittamaan silmukan 100 kertaa ilman havaittavia tapahtumia. Se vain aiheuttaa aikaviiveen.
Menetelmä 2/2: "Sleep ()" -tekniikka
Vaihe 1. Käytä lepotilaa () Ilmoitettu uni (int ms) -funktio, joka saa ohjelman odottamaan määritettyä aikaa millisekunteina
Vaihe 2. Sisällytä seuraava rivi ohjelmaan ennen "int main ()":
#sisältää
Vaihe 3. Lisää mihin tahansa, kun tarvitset ohjelmaa viiveen tekemiseen:
- nukkua (1000);
- Muuta "1000" millisekuntien lukumääräksi, jonka haluat odottaa (jos esimerkiksi haluat lykätä 2 sekuntia, korvaa se arvolla "2000").
- Vihje: Joissakin järjestelmissä arvo voi viitata sekunteihin millisekuntien sijasta. Joten joskus 1000 ei ole sekunti, vaan itse asiassa 1000 sekuntia.
Vinkkejä
- Yllä oleva logiikka voidaan toteuttaa käyttämällä mitä tahansa silmukkarakennetta ja sen jälkeen null-lausetta ";", kuten käyttämällä while- tai do-while-silmukoita.
- Millisekunti on 1/1000 sekuntia.
Varoitukset
- Tämä tekniikka on yleensä hyödytön kaikessa muussa kuin triviaalissa ohjelmassa. Käytä yleensä ajastimia tai tapahtumapohjaista lähestymistapaa tämän toteuttamiseksi. Muuten ohjelma ei reagoi viiveen aikana, eikä se ole aina hyvä asia. Lisäksi N: n valitseminen silmukassa voi johtaa yllättäviin tuloksiin, jos se riippuu käskyjen suorittamisesta. Ilmeisesti alkuperäinen kirjoittaja ei ole koskaan kuullut optimoivasta kääntäjästä … se voi optimoida koko silmukan, jos se ei itse asiassa tee mitään!
- Jos käytät for-loopia, kääntäjä voi optimoida koodin ja koska silmukka ei tee mitään, poistaa sen. Tämä ei tapahdu käytettäessä viivettä ().
- Huomaa, että for-loop-tekniikkaa käytettäessä saatat tarvita erittäin suuren span i: lle, koska tyhjä käsky suoritetaan erittäin nopeasti. Tällaiset suuret luvut eivät ehkä sovi kokonaislukutyyppiin.