Hướng dẫn đồ an python
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC THIẾT KẾ HỆ THỐNG TRÒ CHƠI PHIÊU LƯU BẮN Hà Nội, 6-2018 Chương 1 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Đánh Tên đồ án: ................................... ................................... ................................... ĐỒ ÁN Có sự kết hợp giữa lý thuyết và thực hành
(20) TỐT NGHIỆP ĐẠI HỌC thuyết (bao gồm mục đích và tính phù hợp) cũng như phạm vi ứng dụng của đồ án 1 2 3 4 5 1 2 3 4 5 BẮN BÓNG BAY BẰNG NGÔN NGỮ LẬP TRÌNH hiện dựa trên kết quả nghiên cứu lý thuyết một cách có hệ thống PYTHON TRÊN NỀN WEBSITE GAMEBALL được phân tích và đánh giá thỏa
đáng. đạt được và mục tiêu ban đầu đề ra đồng thời cung cấp lập luận để Chương 17 sau dấu chấm, dấu phẩy v.v), có mở đầu chương và kết luận chương, Chương 18 SVNC khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa học 5 (quốc tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng phát minh Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên nghiên cứu khoa học nhưng không đạt giải từ giải 3 trở lên/Đạt giải ngành như TI contest. 2 0 Điểm tổng /50 Điểm tổng quy đổi về thang 10 3. Nhận xét
thêm của Thầy/Cô (giảng viên hướng dẫn nhận xét về thái độ và / /201 Người nhận xét Đánh giá quyển đồ án tốt nghiệp 6 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 để đề xuất hướng giải quyết có thể thực hiện trong tương lai. 9 chương, có liệt kê tài liệu tham khảo và có
trích dẫn đúng quy định 1 2 3 4 5 Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải sáng chế 10c cứu khoa học nhưng không đạt giải từ giải 3 trở lên/Đạt giải khuyến 2 0 Điểm tổng /50 Điểm tổng quy đổi về thang 10 3. Nhận xét thêm của Thầy/Cô (giảng viên hướng dẫn nhận xét về thái độ và ............................................................................................................................. / /201 Người nhận xét GVHD: ThS. LỜI NÓI ĐẦU riêng phù hợp với hầu hết các
yêu cầu của các công ty, các đối tác khách hàng. Lựa TÓM TẮT ĐỒ ÁN 1 GVHD: ThS. cả Python và React đều nằm trong mọi bảng xếp hạng xu hướng lập trình như được ABSTRACT SVTH: Kiều Văn Đông – MSSV: 20130947 2 GVHD: ThS. MỤC LỤC 1.2.1 Khảo sát hiện trạng................................................................................21 3 GVHD: ThS. 3.2 Lý do lựa chọn thư
viện ReactJS...................................................................54 4 GVHD: ThS. DANH MỤC HÌNH VẼ Hình 2.4: Sơ đồ đối tượng.......................................................................................40 5 GVHD: ThS. DANH MỤC BẢNG BIỂU DANH SÁCH CÁC TỪ VIẾT TẮT 6 GVHD: ThS. Model –
View - Control Chương 33 HIỂU VỀ 7 GVHD: ThS. Không giống như C là ngôn ngữ hướng cấu trúc Python là một ngôn ngữ a,b,c,d,e = 1,2,3,4,5 *Một chú ý khi đặt tên biến: Không được trùng với từu khóa .Dưới đây là danh sách từ khóa của Python Bảng 1.1: Các từ khóa trong Python and del from not while as global or with assert break SVTH: Kiều Văn Đông – MSSV: 20130947 class continue def try 8 GVHD:
ThS. Số phức Số phức gồm 2 thành phần : phần thực và phần ảo. Cú pháp tạo một số
phức: Hoặc có thể đơn giản là : Cả 2 cho ra kết quả tương đương. complex(3,4) >>> 3+4j 3+4j >>> 3+4j Các toán tử cơ bản với kiểu dữ liệu số trong Python Dưới đây là một số biểu thức toán học của kiểu dữ liệu số trong Python SVTH: Kiều Văn Đông – MSSV: 20130947 9 GVHD: ThS. Mô tả Thương của X với Y(kết quả là 1 số thực) Thương nguyên của X với Y Dư của X chia Y Lũy thừ của X với số mũ là Y 1.1.3.4 Kiểu dữ liệu chuỗi Single quote \’ In ra kí tự ‘ Double quote \’’ In ra kí tự “ Blackslash \\ In ra kí tự \ Các escape sequence có thể làm chuỗi không giống như mong muốn. Ví dụ: ta có một chuỗi ‘co\n me\o tre\o cay cau’ Kết quả khi in chuỗi ra màn hình: co me\o tre\o cay cau Vì vậy lúc này Python hỗ trợ một chuỗi gọi là chuỗi trần. Cú pháp như sau: r’ r‘co\n me\o tre\o cay cau’ SVTH: Kiều Văn Đông – MSSV: 20130947 10 GVHD:
ThS. như với các ngôn ngữ như Pascal, C, C++ sử dụng phương pháp Indexing. 1.1.3.5 Kiểu dữ liệu List List là một sự thay thế cho mảng ở các ngôn ngữ khác, hơn nữa list linh hoạt hơn mảng rất nhiều. Với một mảng các giá trị trong mảng phải cú cùng kiểu dữ liệu nhưng list thì khác, trong một list có thể có rất nhiều kiểu dữ liệu khác nhau. Các đặc điểm của list: Giới hạn trong cặp [ ], các phần tử nằm trong [ ] là phần tử của list. Các phần tử phân cách nhau bởi dấu phẩy. List có thể chứa mọi giá trị kể cả chính nó. Cách khởi tạo List: Cú pháp: [ Ví dụ: lst = [1,2,5,"Dong"] Indexing Như đã đề cập, List với là sụ thay thế cho mảng nên ta có thể truy xuất từng phần tử của list. lst[0] >>>1 lst[3] >>>Dong Thay đổi nội dung List lst = [1, ‘two’, 3] lst[1] = 2 SVTH: Kiều Văn Đông – MSSV: 20130947 11 GVHD: ThS. >>>[1, 2, 3] 1.1.3.6 Kiểu dữ liệu Tuple Tuple về cũng là một thay thế cho mảng giống như list. Các đặc điểm của tuple: Giới hạn trong cặp ( ), các phần tử nằm trong ( ) là phần tử của tuple. Các phần tử của Tuple được phân cách nhau ra bởi dấu phẩy. Tuple có khả năng chứa mọi giá trị, cả chính nó. Cách khởi tạo Tuple Cú pháp: ( Ví dụ: tup = (1, 2, 3, 5,’anh co danh roi nhip nao khong’) Indexing Indexing và cắt Tuple hoàn toàn tương tự như với kiểu dữ liệu List. Thay đổi nội dung Tuple trong Python Việc bạn muốn thay đổi nội dung của tuple trên lí thuyết là không thể. 1.1.3.7 Kiểu dữ liệu Set Set cũng là một tập hợp chứa các phần tử như list và tuple. Set gồm các đặc điểm sau: Được giới hạn bởi cặp ngoặc {}, tất cả những gì nằm trong đó là những phần tử của Set. Các phần tử của Set được phân cách nhau ra bởi dấu phẩy. Set không chứa nhiều hơn 1 phần tử trùng lặp. Không thể chứa một set trong một set. Cách khởi tạo Set Cú pháp: { set_ = {1, 2, 3, 4} set_1 = {1, 1, 1} # các giá trị trùng lặp bị loại bỏ >>>{1} Indexing SVTH: Kiều Văn Đông – MSSV: 20130947 12 GVHD: ThS. Cách này khá giống với cách ta thay đổi nội dung của Dict. Ví dụ: dic ={‘ten’: ‘Dong’, ‘maso’: 47} dic[‘tuoi’] = 23 Kết quả {‘name’: ‘Dong’, ‘member’: 47, ‘tuoi’: 23} SVTH: Kiều Văn Đông – MSSV: 20130947 13 GVHD:
ThS. Dong Nếu như trong trường hợp chúng ta không cần thực thi điều gì khi điều kiện đó không đúng thì chúng ta có thể bỏ mệnh đề else cho gọn code. 1.1.4.2 Câu lệnh if-elif-else. Không phải lúc nào chúng ta cũng có 2 trường hợp vì vậy python hỗ trợ thêm mệnh đề elif để sử dụng trong trường hợp có nhiều điều kiện. Cú pháp như sau: if <điều kiện1>: elif <điều kiện2>: elif <điều kiện3>: else: SVTH: Kiều Văn Đông – MSSV: 20130947 14 GVHD: ThS. print('Diem khong hop le') Kết quả Qua mon 1.1.5 Vòng lặp 1.1.5.1 Vòng lặp for Vòng lặp for có tác dụng lặp lại các câu lệnh theo một số lần định sẵn. Cú pháp như sau: for Trong đó: Ví dụ ten = "dong" for i in ten: print(i) Kết quả: d o n g SVTH: Kiều Văn Đông – MSSV: 20130947 15 GVHD: ThS. Cú pháp sử dụng: while <điều kiện>: Nếu điều kiện thỏa mãn thì vòng lặp while mới được thực thi, và ngược lại thì nó sẽ không thực thi. Ví dụ: i=1 while(i <= 10): print(i) i += 1 Kết quả : 1 2 3 4 1.1.6 Hàm 1.1.6.1 Khai báo hàm trong Python. Để khai báo một hàm trong Python thì chúng ta sử dụng keyword def với cú pháp như sau: def Ví dụ: def noi(): print(‘Day la bao cao TTTN’) 1.1.6.2 Gọi hàm Để gọi một hàm đã được khai báo rồi, thì chúng ta sử dụng cú pháp sau: #hoặc SVTH: Kiều Văn Đông – MSSV: 20130947 16 GVHD: ThS. tuoi = 23 gioiTinh = “Nam” 1.1.7.3 Khai báo phương thức trong Class. Trong khi thuộc tính là mô tả đối tượng thì phương thức lại thể hiện hành động của đối tượng. Phương thức ở trong hướng đối tượng cũng tương tự như hàm ở trong lập trình hướng thủ tục và một class thì có thể không có hoặc có nhiều SVTH: Kiều Văn Đông – MSSV: 20130947 17 GVHD:
ThS. dụng cú pháp: Ví dụ: dong = nguoi() Để truy cập thuộc tính đối tượng: <đối tượng>. dong.ten Để truy cập thuộc tính đối tượng: <đối tượng>.( dong.getTen() 1.2 TÌM HIỂU VỀ REACTJS 1.2.1 Khảo sát hiện trạng Sự gia tăng của các ứng dụng trình duyệt front-end đã củng cố tầm quan trọng của JavaScript (JS) khiến nó tiếp tục phát triển, ngày càng trở nên phổ biến SVTH: Kiều Văn Đông – MSSV: 20130947 18 GVHD: ThS. 1.2.2.1 Java Scripts JavaScript là ngôn ngữ lập trình hướng đối tượng (OOP) vô cùng linh hoạt, thông dịch tích hợp vào trình duyệt nhằm tăng tính tương tác của người dùng với trang web, nó chiếm vị trí độc tôn trong vị trí client-side. Các slideshow, pop-up quảng cáo và tính năng autocomplete của Google là những thứ được viết bằng JavaScript. Nó được tạo ra lần đầu tiên bởi Brendan Eich tại công ty Netscape vào năm 1995 - được đặt tên là Mocha trong quá trình phát triển, phát hành phiên bản beta với tên là LiveScript và cuối cùng được đặt tên là JavaScript để lợi dụng sự phổ biến của Java. Qua 20 năm tồn tại và phát triển, Javascript đã có những thay đổi lớn để thích nghi với thời cuộc, và bây giờ trở thành một ngôn ngữ toàn năng, thiết yếu và phù hợp đối với bất cứ một nhà phát triển nào. Là ngôn ngữ lập trình full stack duy nhất cho đến thời điểm hiện nay, Javascript làm được nhiều thứ từ web client đến server, từ desktop đến mobile … một cách khá hoàn hảo. Bây giờ chúng ta sẽ phân tích JavaScrip có thể làm được những gì? JavaScrip có thể xây dựng toàn bộ một trang web nếu sử dụng Node.Js và MongoDB (Một cơ sở dữ liệu). Js hiện nay là một trong những cách ưa thích để phát triển ứng dụng web. Đó là ngôn ngữ sử dụng rất nhiều vì nó được sử dụng cả font-end và back-end. Điểm mạnh của JavaScript: SVTH: Kiều Văn Đông – MSSV: 20130947 19 GVHD: ThS. vào (input) người sử dụng trước khi gửi trang tới Server. Điều này làm tiết kiệm lưu phải chờ cho một trang web tải lại để thấy xem nếu họ đã quên nhập cái gì đó. tạo các giao
diện mà phản ứng lại khi người sử dụng rê chuột qua chúng hoặc kích JavaScript để bao gồm những mục như các thành phần Drag và Drop (DnD) và các 1.2.2.2 ReactJS tác cao, có trạng thái và có thể sử dụng lại được. React còn là công cụ có thể thay thế cho và www.instagram.com được viết hoàn toàn trên React. SVTH: Kiều Văn Đông – MSSV: 20130947 20 |