DAVID Malan: Pieņemsim uzrakstīt programmu iesaistot logu un apli ar aplis veselīgs un atpakaļ off pa kreisi un pa labi malas šo logu. Lai to izdarītu, pieņemsim izmantot Stenfordas Portable bibliotēka, un pieņemsim vispirms ietver gevents.h lai mēs varētu klausīties peles kustībām. Pieņemsim tad ir iekļauts gobjects.h lai mēs varam paziņot, lietas, piemēram, ovāli vai aprindās, tiešām. Un tad pieņemsim ietver gwindow.h lai mums ir grafisko logu viss. Pieņemsim deklarēt galvenais parastajā veidā. Un pieņemsim tagad deklarē un instantiate vai izveidot šo logu, GWindow - un mēs aicinām mainīgo logu - izpaužas newGWindow. Un mēs patvaļīgi padara 320 pikseļi ar 240 pikseļi. Pieņemsim nākamā instantiate apli. Bet instantiate šo apli, mums ir jādara mazliet vairāk darba. Jo īpaši, pieņemsim aizpildiet šajā lokā tā, ka visa lieta ir melnā un ne tikai izklāstīt to. GOval - mēs to saucam aplis - izpaužas newGOval. Mēs nodot šo ovāla 0, 110, un mēs padara ovālo 20 pikseļus plats 20 pikseļus augsts - citiem vārdiem sakot, diametrs 20 vai rādiuss 10. Let 's tagad ir noteikts krāsu, ka apļa būtu citēt, likt pēdiņas beigās, "melnā krāsā." Pieņemsim tagad noteikti ir jāaizpilda norādot taisnība. Un tagad visbeidzot, pieņemsim pievienot apli logs šādi, kuru pēdējais ir pievienots pirmajam. Pieņemsim tagad pasludināt dubultā. Mēs to saucam par ātrumu. Un nedaudz patvaļīgi, teiksim ātrums šajā lokā būs 2.0, citiem vārdiem sakot, 2 pikseļi par katru laika vienībā. Un tagad pieņemsim apzināti izraisīt bezgalīgu cilpu. Tātad, kā padarīt šo apli lielība un atpakaļ? Nu pieņemsim šajā cilpa, kas par katru laika vienībā, mēs būs tikai nedaudz pārvietot apli bit, pamatojoties uz tās ātrumu 2 pikseļiem laika vienībā. Bet nepārtraukti, mēs esam nāksies pārbaudiet, vai aplis pieskaras labi ekrāna malu vai pa kreisi malu ekrāna, jo, ja tas tā ir, mēs vajag, lai lielība, lai runāt. Kā ieviest jēdziens veselīgs? Labi, ja mēs ejam uz 2 pikseļiem līdz labais laika vienībā, lai lielība off labās malas, mēs varam vienkārši mainīt tas būs negatīvs 2 pikseļi uz vienu vienību laiku, tādējādi liedzot ātrumu. Tātad faktiski, veselīgs ir salīdzinoši vienkārši. Pieņemsim vispirms pārvietotu apli ar to daudzi pikseļi pa x-ass, ar šo daudz pikseļu pa y asi. Citiem vārdiem sakot, mēs negribam, lai pārvietoties pa y asi vispār. Mēs tikai gribam, lai piepeši atpakaļ un tālāk pa kreisi un pa labi. Un pieņemsim tagad pārbauda šajā cilpas, ja x-koordinātu apļa plus platums apļa ir lielāks par vai vienāds ar platums loga - citiem vārdiem sakot, ja aplis atrašanās vieta plus platums apļa pati tagad ir pagātne malas loga, mēs gribētu labāk mainīt savu ātrumu - ātrums izpaužas negatīvu ātrumu, tādējādi flipping pozitīvs negatīva vai negatīva pozitīvu. Bet ko tad, ja aplis virzās no no labās uz kreiso, un tāpēc tas hits kreisajā malā? Citiem vārdiem, ja x-koordināta Tagad aplis ir mazāks par vai vienāds līdz 0, iesim uz priekšu un atkal invertcukuru mūsu ātrumu. Tātad, kāpēc man nav pievienoti platums apļa šo laiks, kā es to darīja agrāk? Nu, paturiet prātā, ka koordinātes objekta ir definēti tās augšējā kreisajā stūrī, nevis tās vidū. Un tad, kad aplis virzās no kreisās uz labo pusi, mums ir nepieciešams, lai pārbaudītu vai labā mala aplis ir pagājis labo malu loga. Tātad, lai noskaidrotu, kas tas ir, mēs esam lai iegūtu x-koordinātu apļa plus platums apļa, lai pārvietotos sevi no augšējā kreisajā stūra, efektīvi, lai augšējā labajā stūrī. Kad aplis virzās no tiesībām pa kreisi, tikmēr mums nav nepieciešams apgrūtināt ar šādu Turklāt, jo augšējā kreisajā stūrī apļa ir jau ir vērtība, mēs saņemt no get x. Pieņemsim tagad ripināt bumbu. Pieņemsim tagad glābt, apkopot un palaist šo programmas, veikt lielība. / lielība. Un tur mums ir programma. Bet aplis virzās tik darn ātri, tas ir gandrīz neiespējami, lai redzētu, kas ir patiesībā notiek. Tātad, pieņemsim diezgan programmu spēku ar noklikšķinot uz X augšējā labajā stūra šeit. Pieņemsim tagad iet atpakaļ uz pirmkodu un lēni lietas leju mazliet. Citiem vārdiem sakot, šajā termiņā bezgalīgs cilpa, nevis tikai un pārvietot un pārvietot un atkal, ad nauseum, pieņemsim vilkties tikai dažas milisekundes Pirms uzsākt pārvietoties vēlreiz. Jo īpaši, iesim uz leju par bezgalīgu cilpu šeit un vienkārši pauzes uz, teiksim, 10 milisekundes par katru atkārtojuma. Pieņemsim tagad recompile un atkārtoti palaist lielība. Un tagad mēs redzam daudz saprātīgu īstenošanu, kur mēs varam redzēt aplis patiesi veselīgs kreiso un labo malu.