ZAMYLA చాన్: Well, మేము, గత p-సెట్ CS50 లో. కలిగి నుండి నిన్ను నీవు అభినందించేందుకు ఇప్పటివరకు వచ్చిన మీ మొదటి హలో నుండి వరల్డ్స్ మరియు ప్రింటింగ్ అప్ మారియో కోసం పిరమిడ్లు. మీరు గత వారం ఒక వెబ్సైట్. మరియు మేము మరొక ఒక చేస్తున్నట్లు చూడాలని ఈ వారం, ఒక మీరు అనుమతించే తయారయ్యారు, హార్వర్డ్ ప్రాంగణంలో డ్రైవ్ CS50 సిబ్బంది మరియు వాటిని తిరిగి తీసుకు వారి నివాస గృహాల. ఇప్పుడు, గత వారం మేము, PHP లో పని సర్వర్ వైపు భాష. ఈ p-సెట్, మేము పరిచయం చేస్తున్నారు ఒక జావాస్క్రిప్ట్, కు క్లయింట్ వైపు భాష. కాబట్టి యొక్క కొన్ని పరిశీలించి వీలు అందించిన పంపిణీ కోడ్ ఈ p-సెట్ కోసం మీరు. జావాస్క్రిప్ట్ ఫోల్డర్లో, అక్కడ జావాస్క్రిప్ట్ ఫైళ్లు కొంత. ఒక కలిగి buildings.js, ఉంది హార్వర్డ్ చుట్టూ భవనాలు శ్రేణి వారి సమాచారం క్యాంపస్ మరియు స్థానం. Houses.js హార్వర్డ్ యొక్క వ్యూహం ఉంది తో ఇళ్ళ వారి అక్షాంశాలు, రేఖాంశాలు. Passengers.js యొక్క వ్యూహం కలిగి ప్రయాణికులు, CS50 సిబ్బంది మీరు తిరిగి తీసుకు వస్తారు అని వారి నివాస. చాలా కలిగి Math3D.js, ఉద్యమంతో చేయడానికి విధులు. మీరు గణితశాస్త్ర minded, అప్పుడు నేను మీరు చూడాల్సిన స్వాగతం. కానీ మీరు అర్థం లేదు అక్కడ ప్రతిదీ. Shuttle.js, ఆ వ్యవహరిస్తుంది షటిల్ యొక్క ఉద్యమం. మరియు index.html హోమ్ పేజీ పేరు ప్రతిదీ, నిజంగా, నిర్మాణము యూజర్ సైట్ తో పరస్పర. Service.css CSS శైలి షీట్, ఇది ట్విట్టర్ పాటు బూట్స్ట్రాప్ లైబ్రరీ, నియంత్రణలు ఎలా index.html కనిపిస్తోంది. మరియు తర్వాత మేము కూడా service.js, కలిగిన కోసం సేవ విధులు కలిగి షటిల్. మరియు ఇక్కడ మీరు మాత్రం చోట చేయవలసిన పనుల యొక్క కొన్ని పూరించి. ఇప్పుడు వస్తువులు పరిశీలించి తెలియజేయండి మరియు JavaScript లో సహయోగ శ్రేణుల, ఇది, అన్ని లక్ష్యాలు మరియు అవసరాలకు, పర్యాయపదాలు. నేను ఒక వస్తువు ఒక వేరియబుల్ చేయాలని ఉంటే నేను, ఒక మంత్రదండం చేస్తుంది అని అది డిక్లేర్. మరియు ఆ వంకర జంట కలుపులు లోపల, నేను చేస్తాను పేర్కొనండి, కోర్, చెక్క జంతువును ఉంది చెర్రీ, మరియు పొడవు 13 ఉంది. ఇప్పుడు, నేను కూడా విలువలు యాక్సెస్ చేయవచ్చు ఉపయోగించి వస్తువుల సహయోగ శ్రేణి సంజ్ఞామానం. కాబట్టి మంత్రదండం ఇండెక్స్ కోర్, నేను సెట్ చేయవచ్చు ఆ జంతువును సమానంగా, లేదా నేను అవసరం ఉంటే తనిఖీ. లేదా నేను డాట్ ఆపరేటర్లు ఉపయోగించవచ్చు wand.wood చెర్రీ సమానం, మరియు కాబట్టి న మొదలగునవి. కాబట్టి మీరు చూసే సహయోగ శ్రేణుల మరియు జావాస్క్రిప్ట్ లో వస్తువులు ఉంటాయని పరస్పర మార్పిడి, మరియు విల్ చాలా ఉపయోగపడుట. అప్పుడు మేము భవనాలు వ్యూహం చూడండి buildings.js లో, మళ్ళీ, వస్తువులు యొక్క వ్యూహం. నేను ఉత్తమ వ్యూహం చేయాలని ఉంటే తర్వాత హార్వర్డ్ ప్రాంగణంలో భవనాలు, క్రింది నేను చేస్తుంది. ఈ ఆబ్జెక్ట్ నొటేషన్ ఉపయోగించి, పేరు నేను root, పేరు, చిరునామా నిల్వ, ప్రతి కోసం అక్షాంశం మరియు రేఖాంశం ఒకే భవనం వస్తువు. యొక్క త్వరగా వేరియబుల్స్ గురించి చూద్దాం జావాస్క్రిప్ట్ లో. PHP, JavaScript వేరియబుల్స్ వంటి బలహీనంగా లేదా వదులుగా టైప్. స్థానిక వేరియబుల్ సృష్టించడానికి, మీరు ఉపసర్గ V-A-R, var తో వేరియబుల్ పేరు. ఇప్పుడు, JavaScript, విధులు రెడీ వేరియబుల్స్ యొక్క పరిధిని పరిమితం. కాబట్టి మీరు ఒక స్థానిక వేరియబుల్ ఉంటే ఒక ఫంక్షన్, అప్పుడు ఇతర విధులు అది యాక్సెస్ చేయలేరు. కానీ సి కాకుండా, ఉచ్చులు మరియు పరిస్థితులు లేదు ఒక వేరియబుల్ యొక్క పరిధిని పరిమితం. మీరు ఒక లోపలి ప్రకటించాలని కాబట్టి కూడా పరిస్థితి, మొత్తం ఫంక్షన్ రెడీ అది యాక్సెస్. ఇప్పుడు, var లేకుండా, వేరియబుల్ ప్రపంచ ఉంటుంది. మీరు పేరు ప్రకటించి కాబట్టి ఉంటే ఒక లెక్కించాల్సి, ఆ వేరియబుల్ ప్రపంచ వేరియబుల్ ఉంటుంది జావాస్క్రిప్ట్ లో. ఇప్పుడు, ఇళ్ళు, మేము ఒక అనుబంధ కలిగి హోస్ట్ రకం వస్తువులు, శ్రేణి పేరు ప్రతి హౌస్ కేవలం అక్షాంశానికి మరియు ఒక లాంగిట్యూడ్. అప్పుడు ప్రయాణీకులను కలిగి వ్యూహం ఇది శ్రేణి, ఆబ్జెక్ట్ రకం ప్రయాణీకుల. కాబట్టి ప్రతి ప్రయాణీకుల ఒక వినియోగదారు ఉంది , ఒక పేరు, మరియు ఒక ఇంటి పేరు. నేను రకమైన మాట్లాడుతూ నేను ప్రకటనలో నిజంగా కేవలం అంటే ప్రయాణీకుల, ప్రతి వస్తువు కలిగి అదే కీ విలువ జతల. ఎందుకంటే, ప్రయాణీకుల ప్రతి వస్తువు ఉంది ఒక యూజర్ పేరు, ఒక పేరు, మరియు ఒక ఇంటి. కాబట్టి మనం చేయాలి p-సెట్ కోసం ఏమి? Well, మేము వినియోగదారుల ఎంచుకోండి అనుమతిస్తుంది అవసరం సిబ్బంది అప్, అన్ని ప్రదర్శించడానికి ప్రస్తుతం ఉన్న సిబ్బంది మా షటిల్, మరియు వాటిని ఆఫ్ డ్రాప్. మరియు తర్వాత మేము కూడా అదనపు మాట్లాడదాము కోసం అమలు చేసే లక్షణాలు షటిల్ p-సెట్. కానీ మొదటి పికప్ మాట్లాడటానికి వీలు. CS50 సిబ్బంది ముఖాలు ఉన్నాయి , ప్రాంగణంలోని అన్ని నాటిన ప్రతి ముఖం చోటు మార్క్ అమలుపరచబడుటుంది 3D భూమిపై మరియు ఒక వంటి 2D మాప్ లో మార్కర్. యూజర్ పికప్ క్లిక్ కాబట్టి బటన్, మేము సమీప జోడించాలనుకుంటే షటిల్ ప్రయాణికులను. మరియు మేము కూడా వాటి స్థానంలో తొలగించాలని ప్రపంచ నుండి గుర్తించడానికి మరియు తొలగించడానికి వారి పటం నుండి మార్కర్, సూచిస్తుంది వారు ఇప్పుడు మా షటిల్ ఉన్నారు. కాబట్టి మేము ఎలా గుర్తించినవి ఉంటే ప్రయాణికులు మా షటిల్ పరిధిలో? బాగా, ఫంక్షన్ దూరం, కాబట్టి shuttle.distance, నేమి అక్షాంశం మరియు రేఖాంశం, లెక్కించేందుకు ఉంటుంది ప్రస్తుత స్థానం నుండి దూరం పాయింట్ షటిల్ యొక్క మీరు ఇచ్చిన తో పేర్కొనండి అక్షాంశం మరియు రేఖాంశం. కాబట్టి మీరు లెక్కించేందుకు ఈ ఉపయోగించవచ్చు కు షటిల్ నుండి దూరం ప్రయాణికులు. కానీ ఎలా మీరు తెలుసు పేరు వంతుమంది? మేము ఉంటుంది పేరు బాగా, ఆ అనువాదం బాగా ఫంక్షన్ సవరించడానికి. ప్రదేశాల్లో సిబ్బంది అన్ని జనాభాను ప్రపంచంలో ప్రయాణీకుల మరియు మాప్ లోకి కానీ చేస్తుంది వారి స్థానాన్ని నిల్వ. అందువలన మీరు నిల్వ చేయవచ్చు వారి మార్కులు మరియు గుర్తులను ఉంచడానికి కొన్ని అంతర్జాతీయ శ్రేణి లో. ఇప్పుడు, ఇప్పటికే ప్రపంచ శ్రేణి ఉంది ప్రయాణీకులు నుండి సమాచారాన్ని నిల్వ. ప్రయాణికులు శ్రేణి దుకాణాలు ప్రతి ప్రయాణీకుల యొక్క పేరు మరియు హౌస్. కాబట్టి బహుశా మీరు కొన్ని పారామితులు జోడించవచ్చు అక్కడ ప్రయాణీకుల వస్తువులు. మాకు ప్రయాణికుల అన్ని గుర్తించి సహాయం మా పరిధిలో అన్ని షటిల్, లెట్స్ లూప్ ప్రయాణికులు శ్రేణి లో ప్రయాణికులు. జావాస్క్రిప్ట్ లో ఒక కోసం లూప్ చూడండి ఉండవచ్చు కు సమానమైన ఈ వంటి ఏదో, సి లో ఉచ్చులు కోసం ఆ అందరికీ ఉపయోగించవచ్చు కోసం, లూప్ నిర్మాణం కోసం ప్రత్యామ్నాయ శ్రేణి లో var i, నేను ఇప్పటికీ ఉంటుంది ఇండెక్స్, కానీ మీరు అవసరం లేదు array.length పేర్కొనండి పరిస్థితి మరియు నేను + +. ప్రతి ప్రయాణీకుల స్థానము వారి స్థానంలో మార్క్ ఇచ్చిన. కానీ స్థలం గుర్తు లేదు అక్షాంశం మరియు రేఖాంశం. మేము ద్వారా ఆ పారామితులు యాక్సెస్ ఉంటుంది గెట్ ఉపయోగించి, జ్యామితి పొందడానికి అప్పుడు గుర్తుపై క్షేత్రగణితం మరియు మేము పొందడానికి, జ్యామితి ఒకసారి అక్షాంశం మరియు రేఖాంశాలు గాని ఆ విధులు ఉపయోగించి. కాబట్టి ఇప్పుడు మేము అనే గుర్తించడం ఎలా ప్రయాణికులు లోపల మా షటిల్ పరిధి. మేము ఆ ప్రయాణీకులకు ఒకసారి, మేము అని ఏ ప్రయాణికులు జోడించాలనుకుంటే ఆ పరిధిలో. మేము వాటిని న హాప్ మరియు అయ్యేలా కావలసిన ఒక మా షటిల్ సీటుపై, కానీ మాత్రమే మేము వాటిని తగినంత గది ఉంటుంది ఉంటే. shuttle.seats శ్రేణి సూచిస్తుంది సీట్లు ఖాళీగా ఉన్నాయి, లేదా అని ఆ సీటు లో ఉంది. కాబట్టి ఒక సీటు ఖాళీగా, అప్పుడు ఉంటే ఆ సీటు శూన్య ఉంటుంది. కాబట్టి సీట్లు శ్రేణి మీద iterate, నిల్వ, ఖాళీ సీట్లు కోసం తనిఖీ మీరు వరకు ఆ కుర్చీలలో ప్రయాణికులు ఏ ఖాళీ సీట్లు లేదు. మరియు దురదృష్టవశాత్తు, ఏ ఇతర ప్రయాణీకులు కోసం వేచి ఉంటుంది తదుపరి సమయంలో షటిల్ కూడినది. వారు షటిల్ ను ఒకసారి, మేము చెయ్యవచ్చును వారి స్థానంలో గుర్తును తొలగించడానికి ఇది 3D ప్రపంచంలో వారి ఫోటో ఉంది. నేను ఒక స్థానంలో మార్క్ p తొలగించడానికి కోరుకున్నాడు, అయితే నేను లక్షణాలను జరుగుతుందని నా భూమి నుండి, Google Earth నుండి, మరియు ఆ నిర్దిష్ట స్థానం తొలగించి removeChild ఫంక్షన్ ఉపయోగించి గుర్తించండి. అప్పుడు చివరగా, యొక్క మార్కర్ తొలగించడానికి, ఏ కోసం 2D మాప్ లో ఐకాన్, మేము తయారయ్యారు అని ప్యాసింజర్. ఒక మార్కర్ m తొలగించేందుకు, అప్పుడు నేను కేవలం m.setMap శూన్య అమలు. పరిధిలో ఏ ప్రయాణీకులకు ఈ చేయండి, మరియు మీరు పికప్ పూర్తి చేసిన. చార్ట్ ఫంక్షన్ అన్ని ప్రదర్శించాలి లో అని ప్రయాణికుల మీ షటిల్, మరియు ఖాళీ సీటు ఖాళీగా ఉంటే. కాబట్టి చార్ట్ మీద iterate చేయాలి shuttle.seats, ప్రదర్శించడం ప్రతి ఇండెక్స్ కోసం ప్రయాణీకుడు సమాచారం, మరియు ఖాళీ సీటు ఆ సూచిక శూన్య ఉంటే. ఇప్పుడు HTML టెక్స్ట్ ఒక లోపలి పడేస్తే జావాస్క్రిప్ట్ వేరియబుల్, అప్పుడు ఉపయోగించి document.getElementByID, చార్ట్ చెయ్యవచ్చు ఇచ్చిన లోపలి HTML ఎడిట్ కేటాయించి మూలకం కు HTML టెక్స్ట్ document.getElementByID లోపలి HTML వేరియబుల్. వినియోగదారులు డ్రాప్ ఆఫ్ బటన్ క్లిక్ చేసినప్పుడు index.html లో, కాల్ చేస్తాము dropoff ఫంక్షన్. మరియు ఆ బందోబస్తును పని. Dropoff, మేము ఏ తొలగించాలని చేస్తాము షటిల్ నుండి ప్రయాణికులను మాత్రమే మేము వారి గమ్యం యొక్క పరిధిలో ఉన్నాము, వారి నివాస హౌస్. కాబట్టి dropoff అని తనిఖీ ఉంటుంది షటిల్ ఏ పరిధిలో ఉంది ఇళ్ళు, మరియు ఏ అవసరమైన తొలగించడానికి షటిల్ నుండి ప్రయాణికులను. మేము చేస్తే ఎలా మేము తనిఖీ చెయ్యాలి ఏ గృహాల పరిధిలో? బాగా, మళ్ళీ, మేము వినియోగించుకోవచ్చు చేస్తాము అక్కడ, ఫంక్షన్ shuttle.distance పాయింట్ అక్షాంశం మరియు రేఖాంశం మేము వ్యతిరేకంగా తనిఖీ చేస్తున్న. కానీ ఆ పాయింట్లు ఏవి? బాగా, ఇళ్ళు శ్రేణి, మీరు గుర్తు ఉంటే houses.js లో, నిల్వ ప్రతి ఇంటి అక్షాంశం మరియు రేఖాంశం ఒక అనుబంధ శ్రేణి, పేరు ప్రతి ఇండెక్స్ ఇల్లు పేరు. అప్పుడు ప్రయాణికులు తొలగించడానికి - బాగా, మేము యొక్క పరిధిలో ఉన్నాము మాత్రమే వారి వెళ్ళండి కావలసిన హౌస్. మరలా, గుర్తు ప్రయాణీకుల హౌస్ నిల్వ ప్రతి ప్రయాణీకుల వెళ్ళండి కోరుకుంటున్నారు. వారు పరిధిలో ఉంటే వారి ఇల్లు, తర్వాత ఆ అవివేకి shuttle.seats మరియు సెట్ నుండి ప్రయాణీకుల శూన్యం శ్రేణి వారి స్థానం. ఇప్పుడు కొన్ని అదనపు లక్షణాలు మాట్లాడటానికి వీలు ఆ అమలు చేయవచ్చు CS50 షటిల్ p-సెట్. ఒక పాయింట్ వ్యవస్థ ఉంది అనగా మీరు ట్రాక్ ఎన్ని ఒక వినియోగదారు ఉంది పాయింట్లు. ప్రయాణికులు తొలగిస్తూ కోసం విజయవంతంగా, వారు పాయింట్లు పొందవచ్చు. కానీ ప్రయాణికులు ఆఫ్ డ్రాప్ ప్రయత్నిస్తున్న కోసం ఏ హౌస్ సమీపంలోని లేదు, బాగా, వారు ఆ కోసం జరిమానా పొందవచ్చు. అందువలన మీరు ట్రాక్ ఉంచాలని ప్రపంచ వేరియబుల్ పాయింట్లు. మీరు బహుశా ఒక టైమర్, అమలు ఇక్కడ యూజర్ కొంత ఉంది ఎంచుకొని ఒక ఆఫ్ డ్రాప్ సమయం ప్రయాణికుల నిర్దిష్ట సంఖ్యలో. బహుశా కూడా ఈ ఇంటిగ్రేట్ పాయింట్ వ్యవస్థ. లేదా మీరు ఆ చార్ట్ సవరించుఒక ప్రయాణికులు హౌస్ ద్వారా క్రమబద్ధీకరించబడతాయి. కాబట్టి బహుశా ఒక విధమైన ఉంటుంది shuttle.seats పని. మీరు ఒక ఎగిరే లక్షణం అమలు చేయవచ్చు, వినియోగదారు Konami ఇన్పుట్లను ఉంటే కోడ్, ఆపై షటిల్ ఆఫ్ కనబడుతుంది భూమి మరియు షటిల్ ఎగురుతాయి. కానీ ఆఫ్ సురక్షితమైన డ్రాప్ కోసం, ఉత్తమ చేయడానికి షటిల్ దాని చక్రాలు భూమి మొదటి గ్రౌండ్. మీరు కూడా టెలిపోర్టేషన్ అమలు చేయవచ్చు, మీరు జాబితా డ్రాప్ డౌన్ తయారు పేరు index.html లో భవనాలు. మరియు ఆ ఒకటి, ఎంచుకోవడం యూజర్ రవాణా చేయబడుతుంది ప్రాంగణంలో ఆ భవనం. OK, అయితే, ప్రయాణించే కొన్ని గోడలు మీ మార్గంలో భవనాలు. మీరు కూడా వేగం మార్చవచ్చు షటిల్, యూజర్ పెంచడానికి అనుమతిస్తుంది లేదా వేగం తగ్గుతుంది. బహుశా మీరు ఒక ప్రపంచ వేరియబుల్ కావలసిన ఎంత ఇంధనం ది ట్రాక్ షటిల్ తగ్గించడం, ఉంది మీరు సహకరించు. మీరు సున్నా హిట్ ఒకసారి,, షటిల్ మీరు చేసిన తప్ప తరలించడానికి చేయలేరు బహుశా ఒక బటన్ ఉపయోగించి, లేదా, ఇంధనం మీ స్వంత గ్యాస్ స్టేషన్ తయారు. కానీ ఖచ్చితంగా కాదు పూర్తి జాబితా. పూర్తి కోసం స్పెక్ తనిఖీ జాబితా, లేదా బహుశా ప్రపోజ్ మీ మీ TF సొంత. ఆకాశంలో పరిమితి. ఈ మీ గత CS50 p-సమితి, కాబట్టి అది ఆనందించండి. ఈ CS50 షటిల్ ఉంది. నేను చెప్పడానికి పొందారు, ఇది ఒక ఆనందం అయ్యింది మీకు ఈ తయారు ఉత్పత్తి జట్టు. నేను మీరు చేసిన ఆశిస్తున్నాము అలాగే, వాటిని ఆనందించండి. నా పేరు Zamyla ఉంది. మరియు ఈ CS50 ఉంది.