>> ЗАМИЛА цхан: Хајде да забава са петнаест.
Петнаест је прва игра коју сте добили да спроводи и то је интерактивни.
Сада, не брините.
Не морате да пишете Цела ствар се.
Погледајте код дистрибуције, јер Много структуре игре је већ
подешен за вас.
Он прихвата и анализира командне линије Аргумент од корисника и ствара
одбор на основу тог улаза.
Она проверава да ли је игра добила и излаза када корисник је победио.
И за победу, она добија улаз од корисника и
назива овај потез функцију.
>> Тако ћемо спроводити четири Функције за игру петнаест,
прва, цртати, потез, и победио.
Прво, хајде да се позабаве инит.
У инит, за инитиализе, заступамо одбор у 2Д цео низ.
И ово је глобална променљива зове табла са ДИМЕНЗИЈЕ, и МАКС,
максималне димензије одбора.
Сада, стварна димензија одбора је дат од стране корисника, представљени у
цео број д, који би могао бити мања од МАКС.
Али, у Ц, не можете променити величину низове, па ви сте заглављени са
да максимална димензија.
>> Ваш посао је да се у инит населити вредности одбора
са исправном вредношћу.
Сада, видели смо 1Д низове, али како 2Д низови раде?
Постоји индекс реда, зеро индексирани као и увек, а затим и на
колона.
И ви ћете попунити свој мрежу у у опадајућим вредностима, баш овако.
Грид, 0, 0, 0 ред, колона 0, 8 је, решетка 0, 1 је 7.
Ово је за пример где д, мали д, је 3.
>> Сада, у петнаест одбор мора такође садрже празну плочицу, ако сте икада
играо са физичким игру.
Али, одбор је цео низ, тако све вредности морају бити цели бројеви.
Дакле, то је на вама да одлучите цео број вредност да представља празан плочица.
Да иницијализовати даску, можете да користите петље структуре да садрже
почев стање одбора, где пансион и ј представља елемент у
ред и и колоне ј.
Они почињу у опадајућем редоследу и, запамтите, да уколико је број плочица
је чудно, онда ћеш морати да мењате локацију 2 и од 1.
Дакле, ми имамо наше инитиализед одбор.
>> Сада, када смо наше иницијализована одбор, време је да га привуче.
Жреб ће одштампати тренутно стање одбора, али морате да се уверите
за штампање плочице у истом редоследу да сте их иницијализован.
И ви такође треба да форматирате Ваши бројеви исправно.
Зато што можда једноцифрена и двокреветне цифара, онда желите да
одштампате празан простор пре било једноцифрен број.
Можете користити да помоћу чувар места -.
>> Али запамтите наш празан простор.
Ми не желимо да одштампате стварног броја да смо изабрали да представљају
да празан простор у одбору, али смо такође Не желим ништа да одштампате уопште.
Дакле, шта можете да урадите је да се дефинише симбол или карактер да представљају
празно плочица.
У претходним примерима сам изабрао наглашавају, а онда само одштампате
да кад год стигнете празно простор у вашем драв функцији.
>> Дакле извући ће угнеждена за петље.
Нешто овако.
За сваки ред, а затим за сваку вредност у ред, идете да одштампате
вредност у овом простору.
Када одштампан све вредности у реду, онда
може да штампа нову линију.
Запамтите да налог за ваше жреба функција мора ецхо или огледало налог
у вашем испрва функцији.
>> Сада када иницијализован одбор и да сте га извући, време је да се пусти
корисник је изменили и да своје потезе.
Дакле, у функцији Фифтеен.ц, Програм траје улаз од корисника и
затим позива функцију потез, пролазећи броја плочице да
корисник жели да се пресели.
Сада, будите опрезни.
Ово је стварни број плочице а не стварне позиције.
Дакле, мораћете да потражите плочица је положај да знам где је.
>> Сада, ви само треба да омогући кориснику да направи потез, ако је то легално.
Правни потез је било плочица која је поред празног плочица.
То значи, изнад и испод, да лево и десно.
Дакле, потребно је да знате где бланк плочица је као добро.
Сада, за сваки потез сте у потрази за Корисници плочица, али то је вероватно
не најбоље да тражи празан плочице сваки пут, јер ти то радиш
сваки пут корисник жели да се пресели.
Дакле, уместо тога, то је најбоље да се сетим где празно плочица користи неки
добро имену променљиве.
Дакле, када сте дозволили да се њихов корисник потези, они добро на своје
начин да победе игру петнаест.
>> За победу на петнаест, плочица морају да буду у одређеном редоследу, а
освојио функција проверава да ли игра је победио.
То враћа Труе ако игра је победио и плочице су у исправном редоследу,
Нетачно и другачије.
Дакле, за победу од петнаест, плочица морају да буду већи ред, са
празно плочица у доњем десном углу.
Дакле, како да проверите да ли корисник се преселио у таблу са десне стране
оријентација?
>> Па, ви ћете поновити преко одбора и проверите вредности да бисте се уверили
они су на правом месту.
Да бисте то урадили, можете да користите уклопљена за петље као што си урадио
у жребу и у инит.
Постоји неколико начина да проверите и потврди да ли је одбор
исправан и победа формација, мада.
Ако идете са лева на десно, почев из горњем реду доле, онда сваки
број мора бити већи од претходни.
Будите опрезни о томе шта сте ви цените изабран за вас празан плочица иако.
>> Или можете да користите контра променљиву обезбеди да свака вредност је на месту, ако
смислите неку врсту Формула за представљање ово.
Дакле, забавите се експериментише са математиком.
Када сте дошли до начин, повратак Истина једном је корисник добио утакмицу.
Али, ако постоји вредност није тачна, повратак Нетачно, корисник мора да настави кретање
јер нису победили.
Када спроведе ову проверу и, уз са иницијализовати, нерешено, а крећу,
завршите игру петнаест.
Честитам и забавите свирање.
Моје име је Замила и то је ЦС50.