Orodha ya maudhui:

Faili za Kundi: Misingi mingine ..: 8 Hatua
Faili za Kundi: Misingi mingine ..: 8 Hatua

Video: Faili za Kundi: Misingi mingine ..: 8 Hatua

Video: Faili za Kundi: Misingi mingine ..: 8 Hatua
Video: The Doctrine of Repentance | Thomas Watson | Christian Audiobook 2024, Juni
Anonim
Faili za Kundi: Misingi mingine….
Faili za Kundi: Misingi mingine….

Hii ya kufundisha itakufundisha misingi ya uandishi wa faili za kundi, na itakuonyesha jinsi ya kuunda nambari ya kubashiri mchezo na kupinduka kadhaa, ili tu kuweka mambo ya kupendeza …

Nimejifunza ustadi wa maagizo yangu ya haraka ya amri, na maandishi yangu yote kutoka kwa wavuti kwa ujumla, na hususan Instructables. Ningependa kutoa shukrani kwa mtumiaji wa Instructables Neodudeman kwa Maagizo yake mazuri juu ya uandishi wa kundi. Asante!

Hatua ya 1: Faili ya Kundi Je

Faili ya Kundi ni Nini?
Faili ya Kundi ni Nini?

Kweli, wasomaji wangu wengi labda tayari wanajua faili ya kundi ni nini, lakini ikiwa tu….

Faili ya kundi ni mkusanyiko tu (kundi) la amri za MSDOS ambazo hufanya mfululizo wakati unapoendesha faili ya kundi. Faili za kundi huanza kama faili za.txt katika daftari, na kuwa faili zinazoweza kutekelezwa wakati unazihifadhi kama kitu na ugani wa bat. Kwa hivyo kimsingi, unachofanya ni kuandika faili kwenye Notepad, na kisha uihifadhi kama, sema, "inayoweza kufundishwa." Mara tu.bat ikiwekwa mwishoni mwa jina la faili, faili nzuri, mpya itatokea, ikiitwa jina lolote uliloliita, na ikoni nzuri, inayoangalia gia. Sawa, sasa kwa kuwa tunajua faili hizi za kundi ni nini, basi tuandike!

Hatua ya 2: Amri za Msingi

Amri za Msingi
Amri za Msingi
Amri za Msingi
Amri za Msingi
Amri za Msingi
Amri za Msingi
Amri za Msingi
Amri za Msingi

Sawa, utahitaji kujifunza amri chache. Kwa hivyo kwanza, fungua haraka ya amri ya MSDOS. Fungua dirisha la kuanza, bonyeza kwenye run, andika "cmd.exe" na kisha bonyeza run. Sawa. Kwanza, tutaangalia vigeuzi. Vigezo ni nambari, maneno, au vitu vingine ambavyo, (kwa dhahiri), vinatofautiana. Prompt Command ina funtion inayobadilika. Ina vigeuzi kadhaa ambavyo tayari vimewekwa, kama vile TIME, DATE, na zingine chache. Vigezo vingi, hata hivyo, unaweza kujiweka. Bonyeza kwenye dirisha la Amri ya Kuamuru, na andika: SET variable = randomHaijalishi ikiwa unapeana "SET" au la, lakini napenda kutumia amri zangu zote, haswa wakati wa kuandika faili za kundi. Inarahisisha tu kuwaambia kile unachofanya. Sasa hit hit. Nzuri kwako! Umeweka mabadiliko yako ya kwanza! Lakini tunaweza kufanya nini nayo? ni nani anayejali ikiwa tunachoweza kufanya ni kuweka haki inayobadilika? Kweli, kama inavyotokea, tunaweza kufanya mengi zaidi ya hayo, lakini kwanza, hebu tujaribu kupata kompyuta kutuambia ni nini tofauti imewekwa kama. Sawa, ili kupata kompyuta kusoma thamani ya inayoweza kutoweka, tunachapa jina la ubadilishaji, katika kesi hii, "kutofautisha" na kuweka jina ndani ya alama za%, kama hii:% variable%. Endelea na uandike hiyo ndani, na ugonge kuingia:% variable% Kosa la kushangaza huh? Kompyuta ilisema "'variable' haitambuliwi kama amri ya ndani au nje, programu inayoweza kutumika, au faili ya kundi." Kwa hivyo kwanini ilitoa kosa hilo? Kweli, kimsingi, ilitoa kosa hilo kwa sababu Amri ya Kuamuru inatibu thamani ya ubadilishaji huo kana kwamba umeiandika mwenyewe. Kwa hivyo wakati uliandika% variable%, kompyuta ilifikiri ulikuwa unaiambia itekeleze amri "bila mpangilio". Kwa wazi, tunahitaji kitu kingine ili tuone thamani ya ubadilishaji wetu. Hapa ndipo amri ya ECHO inapoingia. Amri ya ECHO inaambia tu Amri ya Kuamuru kurudia, au kusema, chochote ulichoandika baada ya ECHO. Kwa hivyo, ikiwa tunaandika amri ya ECHO kabla ya mabadiliko yetu, tunapaswa kupata kile tunachotaka: ECHO% variable% Huko! Sasa tumepata kile tunachotaka! Kompyuta inachapisha "nasibu". Kwa wazi, hii ndio thamani tuliyoandika kwa kutofautisha kwetu, kwa hivyo ni matokeo tuliyotaka. Katika hatua inayofuata, tutajifunza zaidi juu ya anuwai, na jinsi tunaweza kuzitumia.

Hatua ya 3: Kutumia Amri ya SET na Vigeuzi

Kutumia Amri ya SET na Vigeuzi
Kutumia Amri ya SET na Vigeuzi
Kutumia Amri ya SET na Vigeuzi
Kutumia Amri ya SET na Vigeuzi

Sawa, sasa kwa kuwa tunajua ni nini vigeuzi, ni nini kingine tunaweza kufanya nao? Kweli, tunaweza kufanya hesabu, tunaweza kuzitumia kama hali ya programu za kuandika na faili za kundi, tunaweza kufanya hesabu za kimsingi, tunaweza kutekeleza amri, na mengi zaidi. Hatutaingia katika kila kitu unachoweza kufanya na vigeuzi, lakini tutajadili juu ya mambo muhimu ya utaftaji wa kutofautisha. Kwanza, amri ya SET yenyewe inazalisha tu vigeuzi vya kamba. Hii inamaanisha kuwa haitaongeza au kufanya hesabu nyingine yoyote. Ikiwa ungeambia kompyuta kuongeza 1 kwa kutofautisha na thamani ya 1, itakupa thamani 1 + 1. Ikiwa tunataka iongeze nambari mbili, tunahitaji kuweka "/ a" baada ya amri ya SET. Kwa hivyo, tunaandika: SET / a varible = (value) Sasa, tuseme tunataka kuweka tofauti katika faili yetu ya batch ambayo mtumiaji atatoa. Tunataka kutaka kufanya hivyo ikiwa tungetumia maadili kulingana na fomula, au, kwa upande wetu, ikiwa tunataka mtumiaji anadhani nambari ambayo kompyuta imekuja nayo. Ili kuzalisha tofauti ya mtumiaji, tunaongeza / p baada ya amri ya SET, na tunaacha eneo baada ya = tupu: SET / p variable = Huko unaenda! Mtumiaji alibainisha tofauti! Ikiwa tungeweka mstari huu kwenye faili ya kundi, basi kundi lingekimbia hadi lifikie mstari huu, na kisha ingesubiri pembejeo la mtumiaji kabla ya kuendelea. Jambo jingine nzuri juu ya / p ni kwamba inakanusha kabisa a. Tunapojumuisha / p tunaweza kuacha tu a. Jambo la pili tutajifunza juu yake ikitoa vigeugeu vya kawaida. Ikiwa tunataka kompyuta ichukue nambari isiyo ya kawaida kwa ubadilishaji, tunaandika tu amri ya SET, ikifuatiwa na kutofautisha, na kisha tuweke kutofautisha kuwa sawa% RANDOM%. Mara nyingine tena, haiitaji kuwa mtaji, lakini napenda kuifanya hata hivyo. Kwa hivyo, tunaandika: SET / variable =% RANDOM% Kwa wazi, hii sio mtumiaji aliyebadilishwa tofauti, kwa hivyo tunajumuisha / a. Baridi! Kwa hivyo sasa tunajua jinsi ya kutoa nambari isiyo ya kawaida! Lakini ni nasibu vipi? Kweli, zinageuka kuwa kompyuta huchagua nambari kati ya 0 na mahali pengine karibu 37, 000. Sina hakika nambari halisi ni nini. Lakini vipi ikiwa tunataka nambari ndogo? Tuseme, kama ilivyo kwenye Agizo hili, tunataka nambari inayoweza kudhibitiwa kwa kitu kama mchezo wa kubahatisha? Kweli, hapo ndipo amri ya IF inakuja….

Hatua ya 4: Amri za IF na GOTO. Nguvu mikononi mwa Mwandishi wa Kundi

Amri za IF na GOTO. Nguvu mikononi mwa Mwandishi wa Kundi
Amri za IF na GOTO. Nguvu mikononi mwa Mwandishi wa Kundi

Kwa hivyo, tunataka kutoa nambari inayoweza kudhibitiwa. Wacha tuseme tunataka kutoa nambari isiyo na mpangilio kati ya 1 na 20. Sawa, hiyo ni rahisi kusema, lakini thamani ya RANDOM inachagua nambari kati ya 1 na 37, 000. Hiyo ndivyo tutatumia IF kwa. Amri ya IF inasema kimsingi ikiwa kitu kinatokea, au ikiwa kitu kiko sawa, au hakiwi sawa, thamani fulani, BASI fanya HII. Kwa hivyo, IF ikiweka amri za masharti. Tunataka kutoa nambari ambayo ni chini ya ishirini, lakini kubwa kuliko moja, ni wazi, tutaanza na kuiambia kompyuta ichukue nambari isiyo na mpangilio, lakini basi tutahitaji kuweza kuiambia ichukue mpya nambari ikiwa nambari inachagua hailingani na mahitaji yetu. Hapo ndipo amri ya GOTO inapoingia. GOTO inaambia tu kompyuta NENDA KWA lebo fulani kwenye nambari. Lebo zinaonekana kama hii:: pickNeno lolote lililowekwa baada ya koloni kuwa lebo ambayo tunaweza kupata na agizo la GOTO. Kwa hivyo, ikiwa tunataka kwenda kwenye sehemu ya nambari na lebo ya "chagua" hapo juu, tunachapa tu: GOTO pickAlright, kwa hivyo tuendelee na usimbuaji wetu. Tayari tumeiambia kompyuta ichukue nambari isiyo na mpangilio, kwa hivyo tumeandika: SET / jibu =% RANDOM% Sasa tunataka kuvuta nambari hii kwa anuwai ndogo. Kwa hivyo tutaomba amri ya IF. Kitu kama hiki kinapaswa kufanya ujanja: IF% jibu% GTR 20 GOTO pickHii inaiambia kompyuta ichukue GOTO ikiwa jibu ni GReaTer kuliko 20. Tunaweza pia kuweka yoyote ya masharti haya kwa amri hiyo ya IF: EQU - EqualNEQ - Sio EqualLSS - Chini ya GTR - Kubwa zaidi ya LEQ - Chini ya Sawa au Sawa ToGEQ - Kubwa Kuliko au Sawa ToThus, na IF, GOTO, lebo, na vifupisho hivi, tunaweza kudhibiti faili yetu ya kundi kwa njia yoyote tunayochagua. Sawa, kwa hivyo tuna nambari yetu ya kubahatisha chini ya ishirini sasa, na hii ndio tunayo hadi sasa: chagua 0 kwa jibu. Sasa tunayo nambari inayoweza kutumika kati ya 1 na 20. Hebu tuendelee kwenye nyama ya Kundi.

Hatua ya 5: Nyama ya Mchezo Wetu

Nyama ya Mchezo Wetu
Nyama ya Mchezo Wetu

Sawa, tunayo nambari yetu ya nasibu. Tunataka pia kuhesabu ni ngapi mchezaji wetu anatengeneza, kwa hivyo tutaweka tofauti nyingine: kila wakati mtumiaji anadhani. Sawa. Tunayo nambari isiyo ya kawaida, na tumeweka idadi ya makisio. Sasa tunahitaji maagizo, na tunahitaji kuwa na pembejeo ya mtumiaji kwa nambari ya nadhani. Unapaswa kuelewa mengi ya haya kwa sasa, kwa hivyo nitakuonyesha nambari:: anzaECHO nitafikiria nambariECHO ninafikiria…. inaweka idadi ya makisio kwa 0): pickASET / Jibu =% RANDOM% IF% Jibu% GTR 20 GOTO pickAIF% Jibu% EQU 0 GOTO pickAECHO Ninafikiria idadi kati ya 1 na 20ECHO Nadhani ni Nambari gani ninayofikiria ya (Sehemu hii inazunguka hadi INAWEKA nambari yetu ya kubahatisha, halafu ECHOs maagizo ya mchezaji wetu): Jaribu tenaSET / p Nadhani = IF% Nadhani% LSS% Jibu% ECHO Nambari yangu ni ya Juu. IF% Nadhani% GTR% Jibu% Nambari yangu ya ECHO iko Chini. IF% Nadhani% ==% Jibu% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1GOTO Jaribu tena (Sehemu hii inaiambia kompyuta iombe uingizaji wa mtumiaji, na kisha itateleza kila wakati hadi mtumiaji atakapochagua nambari sahihi. Halafu, INAENDELEA kwa lebo ya MWISHO): ENDECHO Uko Sahihi! Jibu lilikuwa% Jibu% ECHO Ilichukua% GuessNum% Guesses. ECHO. PAUSECLSECHO Je! Ungependa kucheza tena? cheza% GTR y GOTO kucheza tena% play% LSS y GOTO playAGain play% GTR n GOTO playIFain play% LSS n GOTO playagain (Hapa ndio sehemu yetu ya mwisho. Hii inamwambia mtumiaji ni makisio wangapi waliyochukua, kisha anauliza ikiwa wangependa kucheza tena. Angalia kuwa tunaweza kutumia EQU, GTR, na LSS na barua pia.) Sawa! Ikiwa unanakili nambari hii tu, ungekuwa na mchezo wa kubahatisha ulio halali. Sio dhana halisi, lakini hey, ni bora kuliko watu wengi wanaweza kufanya. Lakini tutaongeza kidogo, ili tu kufanya mambo yawe ya kupendeza….

Hatua ya 6: Twist

Twist
Twist
Twist
Twist
Twist
Twist

Sasa, tuna mchezo wa kufanya kazi hivi sasa, lakini tunataka kuifanya iweze kuingiliana zaidi. Je! Vipi juu ya kuongeza motisha kwa mchezaji wetu kudhani nambari sahihi? Vipi kuhusu sisi kufanya somethig kama.. kuzima kompyuta zao ikiwa hawazii nambari? Hiyo itakuwa nzuri sana! Sawa, sasa tutaongeza nambari kidogo ili kufanya mabadiliko haya. Kwanza, tutaongeza laini kwenye sehemu ya nambari tuliyoiita "jaribu tena". Kwa hivyo nenda utafute sehemu hiyo. Inaonekana kama hii:: RetrySET / p Nadhani = IF% Nadhani% LSS% Jibu% ECHO Nambari yangu iko Juu. IF% Nadhani% GTR% Jibu% ECHO Nambari yangu iko Chini. IF% Nadhani% ==% Jibu% GOTO ENDECHO. SET / GuessNum =% GuessNum% + 1GOTO RetryOkay, tutaongeza mstari huu baada ya "ECHO." (Tunapoweka kipindi baada ya ECHO, inaacha laini tupu.) Hapa kuna nambari mpya: IF% GuessNum% EQU 4 GOTO shutdownG Tunapoongeza mstari huu, sehemu hiyo inaonekana kama hii:: RetrySET / p Guess = IF% Guess% LSS% Jibu% ECHO Nambari yangu iko Juu. IF% Nadhani% GTR% Jibu% ECHO Nambari yangu iko Chini. IF% Nadhani% ==% Jibu% GOTO ENDECHO. SET / GuessNum =% GuessNum% + 1IF% GuessNum% EQU Kufungwa kwa GOTO Jaribu sasa, inapaswa kuwa dhahiri sana hii inafanya nini. Inaiambia kompyuta kwamba ikiwa GuessNum EQUAL 4, inapaswa kwenda kwenye sehemu ya nambari iliyoitwa "shutdownG". Kwa hivyo, tunataka sehemu hii ya kuzima iseme nini? Kweli, ni wazi, lazima iitwe "kuzima G". Ifuatayo, inapaswa kuzima kompyuta. Amri ya kuzima ni "SHUTDOWN -s". Hii itazima kompyuta, lakini tunataka kuongeza zingine kwa amri. Tutaongeza "-f". Hiyo italazimisha programu zote kufunga, na tutaongeza "-t 60". Hiyo itaambia kompyuta kuonyesha dirisha na subiri sekunde sitini kufungwa. Tutaongeza pia "-c" ujumbe hapa "". ambayo itaonyesha ujumbe kwenye dirisha la kuzima. Baada ya amri yetu ya kuzima, tutashughulikia nambari ile ile tuliyo nayo hapo juu, nambari inayoruhusu mchezaji wetu kuchukua nambari, na kuwapa maoni. Kwa hivyo nambari yetu ya kuzima sasa inaonekana kama hii:: shutdownGSHUTDOWN -s -f -t 60 -c "Endelea kubashiri! Ikiwa hautadhani nambari sahihi, kompyuta itazimwa!": shutdownG1SET / p Nadhani = IF% Nadhani% LSS% Jibu% ECHO Nambari yangu ni ya Juu. IF% Nadhani% GTR% Jibu Nambari yangu ni chini. IF% Nadhani% ==% Jibu% GOTO ENDECHO. SET / GuessNum =% GuessNum% + 1GOTO shutdownG1Sasa tumeweka kompyuta kwa SHUTDOWN, na kuonyesha ujumbe, lakini pia tunahitaji kumwambia kompyuta ili kuzuia kuzima, ikiwa imeanzishwa. Kwa hivyo, tutaongeza hiyo kwenye sehemu ya kuweka alama inayoitwa "mwisho". Sehemu hiyo inaonekana kama hii:: ENDIF% GuessNum% GTR 4 SHUTDOWN -aECHO Uko Sahihi! Jibu lilikuwa% Jibu% ECHO Ilichukua% GuessNum% Guesses. ECHO. PAUSECLSECHO Je! Ungependa kucheza tena? cheza% GTR y GOTO kucheza tena% play% LSS y GOTO playIFain play% GTR n GOTO playIFain play% LSS n GOTO playagain Tunataka kuzima shutdown, na tunafanya hivyo kwa amri ya "SHUTDOWN -a". Kwa hivyo, tutaongeza laini inayokwenda kama hii: IF% GuessNum% GTR 4 SHUTDOWN -aTutaongeza amri hiyo baada tu ya lebo, na hiyo itawaambia kompyuta kuendesha SHUTDOWN -amri tu ikiwa mchezaji ana alifanya zaidi ya nadhani nne, na akaanza kuzima. Sawa! unapaswa kumaliza mchezo wako sasa! Tutahakikisha kuwa hakuna mende katika hatua inayofuata.

Hatua ya 7: Hatua za Mwisho

Hatua za Mwisho
Hatua za Mwisho

Sawa, sasa ikiwa utaunganisha maandishi yote hayo, basi utakuwa na kitu kinachoonekana kama hii:: anzaECHO nitafikiria nambariECHO ninayofikiria…. SET / a GuessNum = 0: pickASET / Jibu =% RANDOM% IF% Jibu% GTR 20 GOTO pickAIF% Jibu% EQU 0 GOTO pickAECHO Ninafikiria idadi kati ya 1 na 20ECHO Nadhani Nambari gani ninayofikiria. % LSS% Jibu% ECHO Nambari yangu iko Juu. IF% Nadhani% GTR% Jibu% ECHO Nambari yangu iko Chini. IF% Nadhani% ==% Jibu% GOTO ENDECHO. SET / GuessNum =% GuessNum% + 1IF% GuessNum% Kuzimwa kwa GOT 4 Jibu lilikuwa% Jibu% ECHO Ilichukua% GuessNum% Guesses. ECHO. PAUSECLSECHO Je! Ungependa kucheza tena? cheza% GTR y GOTO uchezaji tena% play% LSS y GOTO uchezaji tena% play% GTR n PATA kucheza tena% play% LSS n GOTO playagain: karibuECHO Asante kwa kucheza! PAUSEEXIT cmd: shutdownGSHUTDOWN -s -f -t 60 -c "Endelea kubashiri Ikiwa hautadhani nambari sahihi, kompyuta itazimwa! ": ShutdownG1SET / p Nadhani = IF% Nadhani% LSS% Jibu% ECHO Nambari yangu iko Juu. IF% Nadhani% GTR% Jibu% ECHO Nambari yangu ni Chini. IF% Nadhani% ==% Jibu% GOTO ENDECHO. SET / GuessNum =% GuessNum% + 1GOTO shutdownG1Hiyo inapaswa kuwa kila kitu tunachohitaji sawa? Kwa hivyo, endelea na uhifadhi faili hiyo ya notepad.txt unayo kama GuessGame.bat. Kweli, unaweza kutaja jina lolote unalotaka, ilimradi uweke kitanzi mwisho. Sawa, kwa hivyo bonyeza ikoni na uendesha programu! Ilifanya kazi? Vizuri sorta. Inafanya vitu vya kushangaza sivyo? Inageuka kuwa wakati tunapoandika Kundi kama hili, amri huchochea ECHOs kila amri tunayoipa, kana kwamba tuliwachapa kwenye kidokezo cha amri. Kwa hivyo mchezo hufanya kazi, lakini ni fujo kidogo na haijulikani. Je! Tunaweza kufanya chochote kuhusu hili? Ndio! Tunachotakiwa kufanya ni kuchapa laini hii kwa omba kanuni zetu: @ECHO OFFHii inaiambia kompyuta izime ECHO. Na ishara ya @ wakati wa kuomba inaiambia izime ECHO KWA kila amri. Ikiwa tungeiacha @ nje, basi ingeizima ECHO KWA amri moja.

Hatua ya 8: Yote Yamefanywa

Hongera! Umeandika tu mchezo wa faili ya Kundi. Rahisi sana sio? Ikiwa unaweza kushughulikia hili, basi unaweza kugundua jinsi ya kufanya kidogo na faili za Kundi. Cheza tu nayo, fanya majaribio. Ila tu ikiwa huwezi kupata kitu cha kufanya kazi, au ikiwa ningeacha kitu nje katika usimbuaji huo wote, nitakupa faili hapa.

Ilipendekeza: