ZAMYLA chan Lähme fun viisteist. Viisteist on esimene mäng, et sa saad rakendamiseks ja see on interaktiivne. Nüüd ei pea muretsema. Te ei pea kirjutama Kogu asi ise. Vaata jaotus koodi, kuna palju mäng struktuur on juba loodud sinu jaoks. Ta tunnistab, ja korrastab käsurea argument kasutaja ja loob pardal põhineb sisend. Ta kontrollib, kas mäng on võidetud ja väljapääsud kui kasutaja mängu võitnud. Ja võita mängu, kui ta saab panus kasutaja ja kutsub Move funktsioon. Nii et me ei kavatse rakendamise nelja funktsioonid mängu Viisteist, init, joonistada, liikuda, ja võitis. Esiteks, ärgem lahendada init. Init, initsialiseerida, esindame pardal 2D täisarv massiivi. Ja see on globaalne muutuja nimega papi mõõtmed MAX ja MAX, maksimaalsed mõõtmed pardal. Nüüd tegelik mõõde juhatuse on antud kasutaja, esindatud täisarv d, mis võiks olema väiksem kui max. Aga C, siis ei saa resize massiivid nii et sa oled ummikus et maksimaalne mõõde. Teie tööd init on asustada väärtused juhatuse õige väärtus. Nüüd oleme näinud 1D massiivid, kuid kuidas 2D massiivid töötab? Seal on indeks reas, null indekseeritud nagu alati, ja siis ka kolonni. Ja sa täidad oma võrku sisse kahanevas väärtused, just niimoodi. Grid, 0, 0, row 0, veerg 0, on 8, grid 0, 1 on 7. See on näide sellest, d, vähe d, on 3. Nüüd pardal peavad viieteistkümne ka sisaldavad tühi plaat, kui sa oled kunagi mängitakse füüsiline mäng. Aga pardal on täisarv massiiv, nii kõik väärtused peavad olema täisarvud. Nii et see on kuni teil otsustada, täisarv väärtus esindama tühi plaat. Initsialiseerida oma pardal, saate kasutada loop struktuuri, mis sisaldab algseisundist pardal, kus juhatuse i j tähistab elemendi reas i ja veerus j. Nad algab järjekorras ja mäletan, et kui mitmed plaadid On kummaline, siis sa lähed pea swap asukoht 2 ja 1. Nii et meil on meie lähtestatud pardal. Nüüd, kui oleme lähtestatud meie pardal, on aeg teha see. Draw prinditakse hetkeseisu pardal, kuid teil on vaja veendumaks, printida plaadid samas järjekorras et olete lähtestatud neid. Ja siis on vaja vormindada oma numbrid õigesti. Sest meil oleks ühtne numbrit ja kahekohaline, siis sa tahad printida tühja ruumi enne iga ühekohalise arvuga. Sa kasutad, et kasutades kohatäide -. Kuid pidage meeles, meie tühikut. Me ei taha, et printida tegelik number et me oleme otsustanud esindada et tühja ruumi pardal, kuid meil on ka ei soovi printida midagi. Niisiis, mida saate teha, on määrata sümbol või märk esindada tühi plaat. Varasematel näiteid olen valinud rõhutada, ja siis lihtsalt printida et kui jõuad tühi ruumi oma draw funktsioon. Nii teha on hakanud pesitsema jaoks silmuseid. Midagi sellist. Iga rida ja seejärel iga väärtus rida, sa lähed printida väärtus selles ruumis. Kui olete trükitud kõik väärtused reas, siis saab printida uus liin. Pea meeles, et selleks, et oma ostu funktsioon peab kaja või peegel järjekorras Teie lähtestatud funktsioon. Nüüd, kui sa initsialiseerida juhatuse ja et olete tõmmatud, see on aeg, et lasta kasutaja muuta ja teha oma käigud. Nii Fifteen.c funktsiooni Programm võtab kasutajalt ja siis kutsub liikuda funktsioon, mis kulgeb aastal mitmeid plaatide et kasutaja tahab liikuda. Nüüd, ole ettevaatlik. See on tegelik arv plaat ja mitte tema tegelik asukoht. Niisiis, sa pead otsima plaatide võimalik teada saada, kus see on. Nüüd siis tuleb vaid võimaldab kasutajal käia, kas see on seaduslik. Käiku on iga plaat, mis on külgnev tühi plaat. See tähendab, ülespoole ja allapoole, kuni vasakule ja paremale. Nii et sa pead teadma, kus tühi plaat on samuti. Nüüd, iga liigutust, mida te otsite kasutajad plaat, aga see on ilmselt mitte parim otsida tühi plaat iga kord, sest sa teed seda iga kord, kui kasutaja tahab liikuda. Niisiis, selle asemel, et see on parim meeles pidada, kus tühi plaat kasutab mõned hästi nimega muutujaid. Nii et kui sa võimaldab kasutajal teha oma liigub, nad on hästi oma viis võitnud mängu Viisteist. Et mängu võitmiseks viieteistkümne, plaadid olema kindlas järjekorras ja võitnud funktsioon kontrollib, kas mängu võitnud. Ta naaseb tõsi, kui mäng on võidetud ja Plaadid on õiges järjekorras, ja False teisiti. Nii et võita mäng viieteistkümne, plaadid tuleb suurendada, et koos tühi plaat allosas paremas nurgas. Niisiis, kuidas sa kontrollida, kas kasutaja liikunud juhatuse õigesse orientatsioon? Noh, saate kinnitada, üle parda ja kontrollida väärtused veenduda, et nad on õiges kohas. Selleks võid kasutada nested jaoks silmuseid samamoodi nagu sinagi draw ja init. Seal on paar võimalust, et kontrollida ja kinnitada, kas pardal on õige ja võit teket, kuigi. Kui sa lähed vasakult paremale, alustades ülevalt rea alla, siis iga number peab olema suurem kui eelmine. Olge ettevaatlik, mida väärtustame olete valinud oma tühi plaat küll. Või võid kasutada counter muutuja tagama, et iga väärtus on paigas, kui sa tulla mingisugune valem esindada seda. Nii on lõbus eksperimenteerida koos matemaatika. Kui olete välja tulla nii, tagastamise Tõsi, kui kasutaja on võitnud mängu. Aga kui raha on vale, tagastamine False, kui kasutaja on liikumist jätkata sest nad ei võitnud mängu. Kui kasutate seda vaadata ja koos koos initialize, joonistada, ja liikuda, olete lõpetanud mäng Viisteist. Palju õnne ja lõbutseda mängides. Minu nimi on Zamyla ja see on CS50.