Zamyla CHAN: მოდით გართობა თხუთმეტი. თხუთმეტი არის პირველი თამაში, რომ თქვენ განახორციელონ და ეს არის ინტერაქტიული. ახლა, არ ინერვიულოთ. თქვენ არ დაწერა მთელი რამ თავს. შეხედეთ განაწილების კოდი, რადგან უამრავი თამაში სტრუქტურა უკვე შეიქმნა თქვენთვის. ეს ადასტურებს და parses ბრძანების არგუმენტი შესახებ და ქმნის board საფუძველზე, რომ შეყვანის. ის ამოწმებს, თუ თამაში მოიგო და გასასვლელების ერთხელ მომხმარებლის მოიგო თამაში. და მოიგო თამაში, ის იღებს შეყვანის შესახებ და მოუწოდებს Move ფუნქცია. ამიტომ, ჩვენ ვაპირებთ იყოს ახორციელებს ოთხი ფუნქციების თამაში თხუთმეტში init, მიაპყროს, ნაბიჯი, და გაიმარჯვა. პირველ რიგში, მოდით დაძლევის init. In init, ინიციალიზაცია, ჩვენ წარმოვადგენთ ფორუმში 2D მთელი მასივი. და ეს არის გლობალური ცვლადში გამგეობის ზომები MAX და MAX, მაქსიმალური ზომები ფორუმში. ახლა, ფაქტობრივი განზომილება board მოცემული მომხმარებლის მიერ, წარმოდგენილია მთელი d, რომელიც შეიძლება შეიძლება იყოს ნაკლები MAX. მაგრამ, C, თქვენ არ შეგიძლიათ პასუხის მასივები, ასე რომ თქვენ დავრჩებოდით რომ მაქსიმალური განზომილება. თქვენი სამუშაო init არის populate ღირებულებები board სწორი მნიშვნელობა. ახლა, ჩვენ ვნახეთ 1D მასივები, მაგრამ როგორ 2D კოლექტორები მუშაობა? არსებობს ინდექსი ზედიზედ, ნულის ინდექსირებული როგორც ყოველთვის, და შემდეგ ასევე სვეტი. და თქვენ შეავსოთ თქვენი ქსელის in დაღმავალი ღირებულებები, ისევე, როგორც ეს. Grid, 0, 0, row 0, სვეტი 0, 8, ქსელის 0, 1 არის 7. ეს არის მაგალითი, სადაც d, პატარა d, არის 3. ახლა, საბჭოს თხუთმეტი ასევე უნდა შეიცავდეს ცარიელი კრამიტი, თუ თქვენ ოდესმე ითამაშა, რომელზეც ფიზიკური თამაში. მაგრამ, საბჭოს მთელი მასივი, ისე ყველა ღირებულებები უნდა იყოს რიცხვებით. ასე რომ თქვენ უნდა გადაწყვიტოს მთელი ღირებულება წარმოადგენს ცარიელი ფილა. ინიციალიზაცია თქვენს ფორუმში, შეგიძლიათ გამოიყენოთ loop სტრუქტურებში შეიცავს დაწყებული სახელმწიფო საბჭოს, სადაც board i j წარმოადგენს ელემენტს საათზე ზედიზედ მე და სვეტი კ. ისინი დაიწყოს მიხედვითა და კლებადი ზრდადი და გახსოვდეთ, რომ თუ ნომერი ფილები უცნაური, მაშინ თქვენ აპირებს სვოპ განთავსების 2 და 1. ასე რომ იქ, ჩვენ გვაქვს ჩვენი ინიციალიზაცია ფორუმში. ახლა, რომ ჩვენ ინიციალიზაცია ჩვენი საბჭო, დროა დახატე. გათამაშება ბეჭდვა არსებული მდგომარეობის board, მაგრამ თქვენ უნდა დავრწმუნდეთ, ბეჭდვა ფილების იმავე მიზნით რომ თქვენ ინიციალიზაცია მათ. და თქვენ ასევე უნდა დააფორმატოთ თქვენი ნომრები სწორად. იმის გამო, რომ ჩვენ შეიძლება ერთნიშნა და ორნიშნა, მაშინ მინდა ბეჭდვა ცარიელი სივრცე, სანამ ნებისმიერი ერთნიშნა ნომრები. თქვენ იყენებთ, რომ გამოყენებით placeholder -. მაგრამ გახსოვდეთ, ჩვენი ცარიელი სივრცე. ჩვენ არ გვინდა ბეჭდვა ფაქტობრივი რაოდენობის რომ ჩვენ ავირჩიეთ წარმოადგენს რომ ცარიელი სივრცე board, მაგრამ ჩვენ ასევე არ მინდა ბეჭდვა არაფერი. ასე რომ, რა შეგიძლიათ გააკეთოთ, რათა განისაზღვროს სიმბოლო ან ხასიათი წარმოადგენს ცარიელი ფილა. წინა მაგალითები მე აირჩია ხაზს უსვამს, და მაშინ უბრალოდ ბეჭდვა რომ როდესაც თქვენ მივაღწიოთ ცარიელი სივრცე თქვენს draw ფუნქცია. ასე რომ მიაპყროს იქნება წყობილი ამისთვის მარყუჟების. რაღაც მსგავსი. თითოეული მწკრივი, და შემდეგ თითოეული ღირებულება ზედიზედ, თქვენ აპირებს ბეჭდვა ღირებულება ამ სივრცეში. ერთხელ თქვენ ბეჭდური ყველა ღირებულებების ზედიზედ, მაშინ თქვენ შეგიძლიათ ამობეჭდოთ ახალი ხაზი. გახსოვდეთ, რომ იმისათვის, რომ თქვენი draw ფუნქცია უნდა echo ან სარკისებური მიზნით თქვენი ინიციალიზაცია ფუნქცია. ახლა, რომ თქვენ ინიციალიზაცია გამგეობისა და რომ თქვენ შედგენილი, ეს დრო მისცეს მომხმარებლის რედაქტირება და მათი ნაბიჯები. ასე რომ, Fifteen.c ფუნქცია, პროგრამა იღებს შეყვანის შესახებ და მაშინ მოუწოდებს ნაბიჯი ფუნქცია, გვერდის ავლით რაოდენობის ფილა რომ მომხმარებლის სურს გადაადგილება. ახლა, ფრთხილად. ეს არის ფაქტობრივი რაოდენობის ფილა და არა მისი ფაქტობრივი პოზიცია. ასე რომ, თქვენ უნდა მოძებნოთ ფილა მიერ პოზიცია ვიცი, სადაც ის არის. ახლა, თქვენ უნდა მხოლოდ დაუშვებს შესახებ რათა ნაბიჯი, თუ ის სამართლიანია. იურიდიული ნაბიჯი ნებისმიერი კრამიტი რომ არის მიმდებარე ცარიელი ფილა. ეს იმას ნიშნავს, ზემოთ და ქვემოთ, რათა მარცხენა და მარჯვენა. ასე რომ თქვენ უნდა იცოდეს სად ცარიელი კრამიტი არის ასევე. ახლა, ყველა გადაადგილება თქვენ ეძებს მომხმარებლებს კრამიტი, მაგრამ ალბათ არა იმისათვის, რომ მოძებნოთ ცარიელი ფილა ყოველ ჯერზე, იმიტომ, რომ თქვენ ამის გაკეთება თითოეული დრო მომხმარებლის სურს გადაადგილება. ასე რომ, ნაცვლად, ეს საუკეთესო უნდა გვახსოვდეს, სადაც ცარიელი ფილა გამოყენებით ზოგიერთი ასევე დაასახელა ცვლადები. ასე რომ ერთხელ თქვენ საშუალებას მისცემს მომხმარებელს, რათა მათი ნაბიჯები, ისინი კარგად მათი გზა გამარჯვების თამაში თხუთმეტი. იმისათვის რომ მოიგოთ თამაში თხუთმეტი, ფილები უნდა იყოს კონკრეტული მიზნით და თეთრებმა ფუნქცია ამოწმებს, არის თუ არა თამაში მოიგო. ის დააბრუნებს True, თუ თამაში მოიგო და ფილები სწორი მიზნით, და ცრუ სხვაგვარად. ასე რომ მოიგოთ თამაში თხუთმეტი, ფილები უნდა გაზრდის მიზნით, ცარიელი ფილა ქვედა მარჯვენა კუთხეში. ასე როგორ ამოწმებს შესახებ გადავიდა ფორუმში სწორი ორიენტაციას? კარგად, თქვენ iterate მეტი გამგეობისა და შეამოწმეთ ღირებულებების დავრწმუნდეთ, რომ ისინი ადგილას. ამისათვის შეგიძლიათ გამოიყენოთ წყობილი მარყუჟების, ისევე, როგორც თქვენ გააკეთეთ ფრედ და init. არსებობს რამდენიმე გზა, რათა შეამოწმოს და შეამოწმოს თუ არა საბჭო სწორი და მომგებიანი ფორმირება, თუმცა. თუ მარცხნიდან მარჯვნივ, დაწყებული ზემოდან row ქვემოთ, მაშინ ყველა ნომერი უნდა იყოს მეტი წინა. იყავით ფრთხილად, თუ რა ვაფასებთ თქვენ შერჩეული თქვენი ცარიელი ფილა თუმცა. ან შეგიძლიათ გამოიყენოთ counter ცვლადი იმისათვის, რომ ყოველი ღირებულება არის ადგილი, თუ თქვენ ამუშავება რაღაც formula წარმოადგენს ეს. ისე არ fun ექსპერიმენტებს ერთად მათემატიკის. ერთხელ თქვენ ამუშავება გზა, დაბრუნება True ერთხელ პროფაილი მოიგო თამაში. მაგრამ თუ რაიმე არასწორია, დაბრუნება ყალბი, მომხმარებელს აქვს გააგრძელოს მოძრავი იმიტომ, რომ ისინი არ მოიგო თამაში. ერთხელ თქვენ განახორციელოს ამ გამშვები და ერთად ერთად ინიციალიზაცია, მიაპყროს და გადაადგილება, თქვენ დაასრულა თამაში თხუთმეტი. გილოცავთ და არ fun სათამაშო. ჩემი სახელი არის Zamyla და ეს არის CS50.