>> ZAMYLA CHAN : 음, 여기에 우리가 있습니다, 마지막으로 P-설정 CS50에.
데에서 자신을 축하드립니다 지금까지 온 첫 번째 헬로 이후
세계 및 인쇄하기 마리오 피라미드.
당신은 지난 주 웹 사이트를했다.
그리고 우리는 또 다른 하나를 만드는 될 것입니다 이번 주, 한 당신은 할 수 있다는
따기, 하버드 캠퍼스 드라이브 CS50 직원들과 최대
그들을 다시 데려 자신의 주거 주택.
>> 이제, 지난 주에 우리는 PHP에서 근무 서버 측 언어.
이 P-세트를 위해, 우리는 도입한다는 거 입니다 자바 스크립트에
클라이언트 측 언어.
그럼 몇 가지를 살펴 보자 제공의 유통 코드
이 P-세트에 대한.
자바 스크립트를 폴더에,이 것 자바 스크립트 파일들을합니다.
>> 를 포함 buildings.js은있다 하버드 주변 건물의 배열
자신의 정보와 캠퍼스 및 위치.
Houses.js 하버드의 배열 주거 주택들은
위도와 경도.
Passengers.js는 배열을 포함 승객, CS50 직원들
당신은 다시 데려 할 거라고 그들의 주거 주택.
>> 많이 포함 Math3D.js, 운동과 함께 할 수있는 기능.
당신이 수학적으로 마음이 있다면, 다음 난 당신이 봐 오신 것을 환영합니다.
하지만 당신은 이해 할 필요가 없습니다 거기에있는 모든.
Shuttle.js, 그 다루는 셔틀의 움직임.
그리고 index.html을 홈 페이지입니다 모든 것이 정말 일어나는 곳
사용자가 사이트와 상호 작용한다.
>> Service.css는 CSS 스타일 시트입니다, 이는 트위터에 추가
부트 스트랩 라이브러리, 컨트롤 방법 index.html을 보인다.
그리고 우리는 또한 service.js을 가지고있는 에 대한 서비스 기능이 포함되어
셔틀 버스 운행.
그리고 여기 당신이 될 것입니다 어디에 해야 할 일의 일부에 작성합니다.
>> 이제 개체에 대해 살펴 보겠습니다과 자바 스크립트에서 연관 배열,
하는 모든 의도와 목적을 위해, 교환 할 수있다.
나는 개체에게 변수를 확인하고 싶다면 나는 지팡이 것이다라고
그것을 선언한다.
그리고 그 중괄호, 나는 것 지정의 핵심은, 나무 유니콘입니다
체리이고, 길이는 13이다.
>> 이제, 또한 값에 액세스 할 수 있습니다 사용하여 객체의
연관 배열 표기법.
그래서 지팡이 인덱스 코어, I 설정할 수 있습니다 유니콘 같거나
내가 필요로하는 경우에 그 확인.
아니면 도트 연산자를 사용할 수 있습니다 wand.wood 체리와 동일하고,
등등 등등.
그래서 당신은 볼이 연관 배열과 자바 스크립트의 객체가 될 수 있습니다
교환 및 의지 아주 편리한을 들어온다.
>> 그 다음 우리는 건물의 배열을 참조 buildings.js에,
또, 오브젝트의 배열.
나는 최선의 배열을 만들고 싶어 경우 하버드 대학 캠퍼스 건물,
다음 나는 그것을 만들 것입니다.
이 객체 표기법을 사용하여 위치를 나는 루트, 이름, 주소를 저장,
모든에 대한 위도와 경도 하나의 건물 객체.
>> 의 신속 변수에 대해 얘기하자 자바 스크립트에서.
PHP, 자바 스크립트의 변수와 같이 약하게 또는 느슨하게 입력됩니다.
지역 변수를 만들려면 앞에 V-A-R, VAR 변수 이름.
이제, 자바 스크립트에서 함수는 것 변수의 범위를 제한.
그래서 내에서 지역 변수가있는 경우 함수 다음 다른 기능
액세스 할 수 없다.
>> 그러나 C는 달리, 루프 및 조건은하지 않습니다 변수의 범위를 제한.
당신의 내부에 그것을 선언 따라서도 조건, 전체 기능을 것입니다
거기에 액세스 할 수 있습니다.
자, VAR하지 않고, 변수 글로벌 될 것입니다.
당신은 이름을 선언하고이 경우 값을 할당 한 다음 해당 변수
글로벌 변수가 될 것입니다 자바 스크립트에서.
>> 이제 집에서, 우리는 연관이 호스트 유형 개체의 배열 위치
모든 집은 위도이다 와 경도.
그 다음 우리는 승객이 배열 배열,
개체 유형의 승객.
따라서 모든 승객은 사용자가 , 이름, 집 이름을 지정합니다.
>> I 유형의 말인지 알 수 정말 그냥 의미 승객,
모든 개체가 가지고있는 같은 키 값 쌍.
그래서 형 승용차의 모든 개체에는 사용자 이름, 이름, 집.
그래서 우리는 무엇을해야합니까 P-세트는 무엇입니까?
음, 우리는 사용자가 선택할 수 있도록해야합니다 직원까지 모두 표시
현재있는 직원 우리의 셔틀, 그들을 내려.
그리고 우리는 또한 여분의 얘기하자 구현 될 수있는 기능
셔틀 P 세트.
>> 그러나의 첫 번째 픽업에 대해 이야기하자.
CS50 직원의 얼굴이되었습니다 모든 캠퍼스에 심어 여기서 각
얼굴은 장소 표시로 구현 3D 지구와 같은
2D지도에 마커.
사용자가 픽업을 클릭 그래서 때 버튼, 우리는 가까운 추가 할
셔틀 승객.
그리고 우리는 또한 자신의 자리를 제거 할 세계에서 표시하고이를 제거하여
지도에서 마커를 표시하는 그들은 지금 우리의 셔틀에있어.
>> 그래서 우리는 어떻게 감지 않으면 승객 우리의 셔틀의 범위 내인가?
음, 기능 거리, 그래서 shuttle.distance, 전달
위도와 경도, 계산합니다 현재 위치로부터의 거리
지점에 셔틀의 당신은 주어진으로 지정
위도와 경도.
그래서 당신은 계산이 사용할 수 있습니다 에 셔틀 버스에서 거리
승객.
>> 그러나 당신은 어떻게 알 수 있습니까 곳 승객은?
우리가해야합니다 곳 음, 그건 채우기 기능을 편집 할 수 있습니다.
장소에게 직원을 모두 채 웁니다 세계로 승객의
그리고지도에,하지만하지 않습니다 자신의 위치를​​ 저장합니다.
그래서 아마 당신은 저장할 수있는 자신의 마크 및 마커를 배치
일부 글로벌 배열.
>> 지금, 이미 전역 배열이있다 승객들로부터의 정보를 저장하는 단계를 포함한다.
승객 어레이는 각 승객의 이름과 자신의 집.
아마 당신은 몇 가지 매개 변수를 추가 할 수 이 승객 개체.
>> 우리가 모든 승객을 감지하는 데 도움이 우리의 범위 내에서
모든 통해 셔틀,하자 루프 승객 배열의 승객.
자바 스크립트에 대한 루프 보일 수 있습니다 매우 유사한 다음과 같이,
C에서 루프 사람들 아니면 우리가 사용할 수 있습니다 용, 루프 구조에 대한 대안
배열 var에 나는, 어디에서 여전히있을 것입니다 인덱스는,하지만 당신은 할 필요가 없습니다
에 Array.length를 지정 조건 및 I + +.
>> 모든 승객의 위치는 자신의 자리를 마크가 없습니다.
그러나 장소 표시가없는 위도와 경도.
우리는에 의해 이러한 매개 변수에 액세스 할 수있다 GET을 사용하여 형상을 얻는
다음 장소 표시에 기하학 및 우리는 점점 형상을 한 번
위도 나 경도 하나 이러한 기능을 사용하여.
>> 그래서 지금 우리가 여부를 감지하는 방법을 알고 승객 내에
우리의 셔틀의 범위.
우리가 그 승객이되면, 우리는거야 어떤 승객을 추가 할
그 범위 내에서.
우리는 그들에 뛰고 확보 할 수 있도록 할 우리의 셔틀 버스에 좌석 만
우리는 그들에게 충분한 공간이있는 경우.
>> shuttle.seats 배열이 표시됩니다 좌석은 비어있는, 또는 여부
누가 그 자리에 있습니다.
그래서 좌석이 비어, 다음 경우 그 자리는 null이됩니다.
그래서 좌석 배열을 반복, 저장 빈 좌석에 대한 검사
당신까지 그 좌석에 승객 더 이상 빈 좌석이 없습니다.
그리고 불행하게도, 다른 승객 기다려야 할 것
다음 번 셔틀 아래로 온다.
>> 그들은 셔틀에 도착하면, 우리는 할 수 있습니다 , 자신의 위치 표시를 제거 할
3 차원 세계에서의 사진입니다.
나는 장소 마크 (P)을 제거하고 싶어하는 경우 그때 나는 모든 기능을 얻을 것입니다
나의 지구, 구글 어스에서 다음 특정 장소에게 제거
로 removeChild 함수를 사용하여 표시한다.
그런 다음 마지막으로,의 마커를 제거하자, 임의의 2 차원지도에 아이콘,
우리가 따기 승객.
>> 마커 M를 제거하려면 다음 나는거야 다만 m.setMap의 널 (null)을 실행합니다.
범위 내에서 모든 승객에 대해이 작업을 수행, 당신은 픽업을 완료했습니다.
차트 기능을 모두 표시해야 에 승객의 당신의
셔틀, 빈 자리는 비어있는 경우.
그래서 차트를 반복한다 shuttle.seats, 표시
모든 인덱스에 대한 승객 정보, 빈 좌석이 지수는 null의 경우.
>> 이제 HTML 텍스트가 내부에 넣을 경우 자바 스크립트 변수, 다음 사용하여
document.getElementById를, 차트 캔 주어진의 내부 HTML을 편집
할당하여 요소 에 HTML 텍스트
document.getElementById를 내부 HTML 변수.
사용자가 드롭 오프 버튼을 클릭하면 index.html 파일에, 그것은 전화 할게
하차 기능.
그리고 그것을 구현하는 우리의 일이다.
>> 하차, 우리는 하나를 제거 할 수 있습니다 셔틀 버스에서 승객 경우에만
우리는 그들의 목적지의 범위에있어, 그들의 주거 집.
그래서 하차가 있는지 여부를 확인해야합니다 셔틀은 임의의 범위에있다
주택, 및 필요를 제거 셔틀 버스에서 승객.
우리는 그래서 만약 우리가 어떻게 확인합니까 모든 주택의 범위?
음, 다시 한번, 우리는의 사용을 만들거야 전달 기능을 shuttle.distance
지점의 위도와 경도 우리에 대해 검사하고있다.
>> 하지만 그 점은 무엇입니까?
음, 집 배열, 당신은 기억한다면 houses.js에 저장
각 집의 위도와 경도 연관 배열, 위치마다
지수는 그 집의 이름입니다.
그런 다음 승객을 제거합니다 -
물론, 우리는 범위에있을 경우에만 해당 그들이에 가고 싶은 집입니다.
그래서 다시 기억하는 승객 집에 저장하는 모든 승객
에 가고 싶어.
그들은의 범위 내에있는 경우 그들의 집, 우리는 그것을 제거 할 수 있습니다
shuttle.seats 및 세트에서 승객 null로 배열에서의 위치.
>> 이제 몇 가지 추가 기능에 대해 이야기하자 즉, 구현 될 수있다
CS50 셔틀 P 세트.
포인트 시스템은 거기에있다 당신은 추적 얼마나 많은
사용자가 가지고있는 지적했다.
승객을 잃어버린 성공적으로, 그들은 포인트를 얻을 수 있습니다.
그러나 승객을 내려 노력에 대한 여기서 어떤 집 근처가없는,
물론, 그 일에 대한 처벌받을 수 있습니다.
그래서 아마 당신은 트랙을 유지하려면 글로벌 변수의 포인트.
>> 당신은 아마도 타이머를 구현할 수 사용자는 소정의 금액을 가지고
픽업을 내려 시간 승객의 일정 수의.
어쩌면이 통합 포인트 시스템.
아니면되도록 차트를 편집 할 수 있습니다 승객은 집으로 분류되어 있습니다.
그래서 아마 일종의 것 shuttle.seats로 작동합니다.
>> 당신은 비행 기능을 구현할 수 있습니다, 여기서 사용자는 코나미를 입력하면
코드는 다음 셔틀 발사된다 지상과 우주 왕복선 비행 할 수 있습니다.
그러나 오프 안전한 강하, 최선을 다하기 셔틀에 그 바퀴를 땅에
먼저 접지.
또한 순간 이동을 구현할 수 있습니다, 당신의 드롭 다운 목록을 만드는 곳
index.html 파일에 건물.
그 중 하나를 선택 사용자는로 이송됩니다
캠퍼스에 그 건물.
OK,하지만,을 통해 여행 일부의 벽
거기에 당신의 방법에 건물.
>> 또한 속도를 변경할 수 있습니다 셔틀, 사용자가 증가 할 수 있도록
또는 속도를 줄입니다.
아마 당신은 글로벌 변수에 원하는 얼마나 많은 연료를 추적
셔틀 감소가 그것은 당신이 함께 가서.
당신이 제로에 충돌하면,하지만, 셔틀 버스 운행 당신이하지 않았다면 이동할 수 없습니다
아마도 버튼을 사용하거나, 급유 심지어 자신의 주유소합니다.
>> 그러나 그것은 확실히이다 완전한 목록.
전체의 사양을 확인하십시오 목록, 혹은 제안
당신의 당신의 TF에 자신의.
하늘이 한계입니다.
이 마지막 CS50의 P-세트입니다, 그래서 재미있다.
이 CS50 셔틀 버스 운행했다.
>> 내가 말할 수있어, 그것은 즐거웠 당신을 위해 다음을 만들기
생산 팀.
그리고 난 당신이했습니다 희망 뿐만 아니라, 그들을 즐길 수 있습니다.
내 이름은 Zamyla입니다.
그리고 이것은 CS50했다.