Kazalo:

Matrična koda - Visual Basic: 7 korakov
Matrična koda - Visual Basic: 7 korakov

Video: Matrična koda - Visual Basic: 7 korakov

Video: Matrična koda - Visual Basic: 7 korakov
Video: Как самому создать QR-код в Google-таблицах? +Как создавать красивые QR-коды! 2024, November
Anonim
Matrična koda - Visual Basic
Matrična koda - Visual Basic

Nova in izboljšana koda Visual Basic bo prikazala učinek, podoben "matriki", z drsenjem ene in ničle. Nato se prereže v matrično zaporedje "Wake Up Neo" in nato še naprej pomika številke. Zavedam se, da to ni ravno tako zaporedje v filmu, vendar so ljudje zahtevali to funkcijo, zato sem jo dodal. Mislim, da je način, kako naključno prikažem stolpce One in Zero, najlepši del kode. Razpravljal bom o tem, kaj sem naredil kasneje. Ta Instructable je odgovor na Brennn10 -jevo "Welcome to the Matrix in Command Prompt" Instructable. Koda, ki sestavlja ta Instructable, je sprva temeljila na kodi, objavljeni v komentarju DarkJokerja na zgornji Instructable. Namerno sem bil pri razlagi kode precej izrecno, saj sem od prvega prejel kar nekaj prošenj za pojasnilo. objavil to rešitev.

1. korak: Zgrabi mojo kodo

Spodaj sem priložil svojo kodo. Obe datoteki (startMatrix.itsabat in matrix.itsavbs) shranite v isto mapo na svojem računalniku in odstranite "itsa" del imena datoteke, to je preimenujte datoteke v startMatrix.bat in matrix.vbs. Datoteke Bat in datoteke vbs so izvedljive, zato jih s temi razširitvami ne morem naložiti tukaj. Zato jih morate lokalno shraniti in preimenovati.

2. korak: Izvajanje kode

Če želite zagnati mojo kodo, sledite spodnjim navodilom. Če ne želite na svojem računalniku izvesti nekaj, o čemer ne veste nič, ste pametni. Nadaljujte z naslednjim korakom, kjer se sprehodim po kodi in vam pokažem, da nisem storil nič hudega. Če pa želite le priti do nje (ali pa ste na računalniku nekoga drugega in ne oskrba), kodo začnemo takole: 1. korak: dvokliknite »startMatrix.bat«. To je to. Zdaj pojdite na naslednji korak in preberite o hladnosti, ki ste jo pravkar videli.

3. korak: Razumevanje kodeksa, 1. del

Poglejmo kodo od začetka. Upam, da se boste o moji kodi dovolj naučili o VB, da se boste naučili kodirati v VB bolje od mene:) Najprej imamo dve datoteki: datoteko bat in datoteko vbs. Če uredite datoteko bat, boste po nastavitvi okna, barve besedila in naslova okna izvedli datoteko vbs. Preidimo na bolj zanimive stvari v datoteki vbs. FYI, tukaj se bom dotaknil le najbolj zanimivih vrstic kode. Upoštevajte tudi vrstice, ki se začnejo z '(označite ali enojni narekovaj). To so komentarji in NE BODO IZVEDENI. Prvih nekaj vrstic matrix.vbs pravi "Nastavi moja sporočila o napakah na eksplicitno raven", hkrati pa "Naj napake, ki sem jih naredil, ne bodo usodne." Prava razprava ni potrebna. 5. vrstica: Naša nejasna izjava tukaj postavlja vse spremenljivke, ki jih bomo uporabljali skozi celotno obdobje našega malega programa. Za te spremenljivke nam ni treba razglasiti tipov ali začetnih vrednosti, kot bi lahko v nekaterih drugih jezikih. VB je tako "močan". Vrstica 12: objSysInfo nam omogoča, da zberemo nekaj informacij o sistemu, v katerem delujemo. Tukaj ustvarimo objekt in v vrstici 13 objSysInfo. UserName vrne ime trenutno prijavljenega uporabnika, ki izvaja to kodo. To bo kasneje uporabljeno namesto "Neo", tako da lahko naš skript reče "Zbudi se, Martin …", če se izvaja na mojem računalniku, ali "Zbudi se, Brennn10 …", če se izvaja na stroju Brennn10 in če To je bilo njegovo uporabniško ime. Uporaba sistemskega uporabniškega imena vam omogoča, da ga vržete na odklenjen stroj svojega prijatelja in bo samodejno potegnil njegovo ime, ne da bi mu bilo treba spreminjati kodo. Gremo naprej.

4. korak: Razumevanje Kodeksa, 2. del

Vrstica 16: sub waitfor je naša prva podprogram. Podprogram lahko pokličete z drugega mesta v kodi, izvede kodo v telesu podprograma in nato vrne programski nadzor klicni kodi. waitfor nam namesti lupino. Če to naredimo v zanki s "spanjem" v zanki, omogočimo, da se aktivacija lupine dokonča, preden se vrne nadzor, kar je zelo dobro. Vrstica 26: sub matrica je naša druga podprogram in traja parameter, imenovan "elementi". Ta podprogram tiska kul številke, ki se zdijo "padle", kot v filmu. Tukaj sem nekaj stvari vzel za samoumevne. Upam, da boste z razlago razumeli, od kod prihajam, in boste to zmogli bolje kot jaz. Najprej predvidevam, da želite le 5 stolpcev številk in da so "elementi" deljivi s številom stolpcev (5). To je bilo enostavno zagotoviti, ker pozneje razglasim, da so parametri, posredovani "matriki", 200 in 100 (kliče se dvakrat). Predvidevam tudi, da želite privzeto vklopiti vseh 5 stolpcev. Mislim, da je videti v redu, vendar lahko nekaj teh spremenite v FALSE, če želite, da se prva vrstica števcev zdi tako naključna, kot bodo ostale vrstice. V redu, zato imamo 5 stolpcev, imamo 200 / 5 = 40 vrstic številk za prikaz (linesToWrite) in vsi naši stolpci so privzeto vklopljeni. Vrstica 41: vstopamo v dve zanki "za", od katerih prva (zanka A) kroži po naših vrsticahToWrite in druga (Zanka B), ki kroži skozi število stolpcev. V zanki B izberemo vrednost spremenljivke zanke loopB in glede na njeno vrednost ocenimo stavek If-Else. Če je zadevni stolpec omogočen ("TRUE" ali "enabled"), bomo preko "wshshell. SendKeys" natisnili vrednost Int (Round (rnd ())), čemur sledi zavihek. V nasprotnem primeru bomo natisnili samo zavihek, tako da bo stolpec videti prazen. Torej, kakšna je vrednost Int (Round (rnd ()))? rnd () vrne naključno število s plavajočo vejico med 0,0 in 1,0, Round () bo vzelo to vrednost in jo zaokrožilo na najbližjo vrednost Integer, Int () pa vrne rezultat na Celo število. Ta zadnji korak bi lahko šteli za pretiravanja, saj bi nam klic Round () moral dati 0 ali 1. To sem naredil samo zaradi navade. V nekem trenutku mi je nekdo zagotovo rekel, da je varnejše in očitno tega še nisem pozabil.

5. korak: Razumevanje kodeksa, 3. del

Nadaljnja pod matrika, tukaj je naslednjih nekaj vrstic VB … 'Ta stolpci z japonkami', tako da če je stolpec IZKLOPLJEN, se bo vklopil 30 odstotkov časa, 'in če je stolpec VKLOPLJEN, bo izklopili 30 odstotkov časa. turnOffMax = 0,30 turnOnMax = 0,30 S preklopom na vsak stolpec 30% časa številčni stolpci "naključno" padejo, podobno kot v filmu. Ne natančno, ampak blizu. 'Stolpec 1 flip-flop flipMe = rnd () If ((col1 = turnOn) in (flipMe <turnOffMax)) Potem col1 = turnOff Else If ((col1 = TurnOff) in (flipMe <turnOnMax)) Potem je col1 = TurnOn End IfThe zgornji blok obravnava, kako določimo, ali bomo v naslednjem ponavljanju za naslednjo vrstico številk prikazali številko v danem stolpcu. Koda se glasi "če je stolpec vklopljen in je naključno število, imenovano flipMe, manjše od 30%, izklopite stolpec. V nasprotnem primeru, če je stolpec izklopljen in je flipMe manjši od 30%, vklopite stolpec." To zavije gor pod matriko. Na podključ…

6. korak: Podključ ()

Metoda ključa je spodaj.sub key (msg) 'naredite izpise "matričnih" sporočil in jih izbrišitewscript.sleep 1500length = len (msg) for position = 1 to length wshshell. SendKeys mid (msg, position, 1) wscript.sleep 250nextwscript.sleep 3000for position = 1 to length wshshell. SendKeys "{BACKSPACE}" wscript.sleep 75nextend subTa metoda natisne niz "msg". Natisnilo bo vse, kar prenesete. Ta metoda je pozneje v kodi. Prva zanka FOR natisne vsak znak v nizu, enega za drugim, in se med vsakim znakom zaustavi za 250 milisekund. Nato spimo 3000 milisekund (3 sekunde) in za vsak znak, ki smo ga prej natisnili, izpišemo hrbet, tokrat malo manj. To je vse. Na glavni del programa, kjer je vse skupaj.

7. korak: Glavni

Glavna izvedba programa kliče waitFor in matrico (ki smo jo že obravnavali), da nastavimo vse in izpišemo 200 binarnih številk, razporejenih v 5 stolpcih. Ime trenutnega sistemskega uporabnika se nato zgrabi in manipulira, da se natisne kot del zaporedja "prebujanja". Nato vnesemo zanko FOR, za katero vemo, da jo bomo zaradi "1" ponavljali le 4 -krat. Do 4 "omejitve. Nato izberemo na spremenljivki zanke (loopA), ki se prvič ujema s prvim stavkom CASE, drugič po zanki drugi ukaz CASE itd. Vsaka ponovitev zanke je myString nastavljena na pravilno predstavitev niza besedo, ki jo želimo natisniti, in ključna podprogram je poklican za tiskanje. Očitno obstaja veliko drugih načinov za oblikovanje te zanke in to bom prepustil bralcu kot vajo. Ko zapustimo zanko FOR, znova pokličemo podprogram matrike, da natisnemo več številk. Kot pravi komentar v kodi, lahko ta zadnji klic matrix () postavite v zanko, če želite, ali pa ga preprosto pokličete z večjim številom itd. Nazadnje, naš klic quit () prekine program izvedba (vedno dobra praksa: P). Upam, da se bodo vsi zabavali ob mojem zgledu in ga izboljšali! Če je ta Instructable z VB vzbudil vašo radovednost, lahko Google zagotovi ogromno dobrih virov, če želite izvedeti več o tem, kot vam lahko povem. Veselo kodiranje! martin

Priporočena: