Xu hướng người sử dụng điện thoại với mục đích giải trí ngày càng tăng, như: nghe nhạc, xem phim, chơi game, …Nhằm đáp ứng nhu cầu giải trí của người dùng, em muốn xây dựng game SuperRun
Trang 1Trong suốt thời gian thực hiện Đồ án, em đã nhận được sự giúp đỡ của thầy
cô trong bộ môn công nghệ phần mềm, Trường Đại Học Công Nghệ Thông Tin Vậy cho em xin phép được bày tỏ lời cảm ơn tới các thầy, cô.
Đặc biệt em cũng xin gửi những lời cảm ơn chân thành đến cô Th.s Nguyễn Thị Dung, đã tận tình hướng dẫn và chỉ bảo em trong suốt thời gian thực
hiện Đồ án tốt nghiệp này.
Em xin chân thành cảm ơn !
Trang 2LỜI CAM ĐOAN
Nhận thức được Đồ án tốt nghiệp là sản phầm hoàn thiện của sinh viên CNTT khi ra trường, cần tới sự miệt mài của bản thân và nhất là sự hướng dẫn tận tình của các thầy cô giáo, em đã tổng hợp được các kiến thức được học cùng kinh nghiệm và số liệu khảo sát thực tế nhằm hoàn thành Đồ án tốt nghiệp của mình
Em xin cam đoan: Nội dung Đồ án của em không sao chép nội dung cơ bản của bất kỳ Đồ án nào và là sản phẩm của chính bản thân em qua nghiên cứu thực tế xây dựng lên Mọi thông tin và nội dung sai lệch em xin chịu trách nhiệm hoàn toàn trước Hội đồng bảo vệ
Thái Nguyên, tháng 06 năm 2016
Sinh viên thực hiện
Trần Mạnh Tuấn
Trang 31.1.2 Các thành phần cơ bản trong Unity 9
1.1.3 Làm quen với môi trường Unity 14
1.2 Tổng quan về ngôn ngữ C#17
1.2.1 Khái niệm 17
1.2.2 Đặc trưng của ngôn ngữ C# 18
1.2.3 Biến , hằng , toán tử 20
1.2.4 Kiểu dữ lệu - Cấu trúc điều khiển - Cấu trúc lặp 22
1.3 Tổng quan về ngôn ngữ lập trình JavaScript 28
1.3.1 Khái niệm 28
1.3.2 Đặc điểm của ngôn ngữ JavaScript 28
1.3.3 Các thành phần cơ sở của JavaScript 29
1.4 Khái quát về UML 31
1.4.1 Khái niệm 31
1.4.2 Các thành phần của UML 32
1.4.3 Biểu đồ UML 33
1.5 Sơ lược về tựa game “Endless Run” 33
CHƯƠNG 2 KHẢO SÁT, PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 35
Trang 42.1 Khảo sát 35
2.1.1 Khảo sát nhu cầu chơi game 35
2.1.2 Một số game được xây dựng bằng Unity 3D 362.2 Phân tích và thiết kế hệ thống 37
2.2.1 Xây dựng kịch bản game 37
2.2.2 Xác định tác nhân và các ca sử dụng 38
2.2.3 Biểu đồ UseCase 39
2.2.4 Đặc tả chi tiết cho các UseCase chính 39
2.2.5 Biểu đồ lớp (class diagram) 53
CHƯƠNG 3 CÀI ĐẶT CHƯƠNG TRÌNH 54
3.1 Lựa chọn công nghệ54
3.2 Thiết kế thuật toán 54
3.3 Cài đặt và chạy chương trình 58
3.3.1 Cài đặt game trên Android 58
3.3.2 Một số giao diện chính61
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỀN65
TÀI LIỆU THAM KHẢO 66
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN67
Trang 5DANH MỤC HÌNH ẢNH, BẢNG
Hình 1.1 Các phiên bản của Unity 9
Hình 1.2 Scenes trong Unity 9
Hình 1.3 Asset trong Unity 10
Hình 1.4 Compenents trong Unity 11
Hình 1.5 Prefabs trong Unity 12
Hình 1.6 Sprite trong Unity 13
Hình 1.7 Audio Source trong Unity 14
Hình 1.8 Các thành phần bố trí trong Unity 14
Hình 1.9 Tạo dự án trong Unity 16
Hình 1.10 Dự án game 3D trong Unity 16
Hình 1.11 Thu mục trong Unity 17
Bảng 1.1 Các ký tự đặc biệt 22
Bảng 1.2 Kiểu dữ liệu dựng sẵn 23
Hình 2.1 Biểu đồ độ tuổi chơi game 35
Hình 2.2 Biểu đồ UC của chương trình 39
Hình 2.3 Biểu đồ trình tự cho UC chơi game 40
Hình 2.4 Biểu đồ cộng tác UC chơi game 40
Hình 2.5 Biểu đồ trình tự UC xem thông tin 41
Hình 2.6 Biểu đồ cộng tác UC xem thông tin 42
Hình 2.7 Biểu đồ trình tự UC cài đặt 43
Hình 2.8 Biểu đồ cộng tác cho UC cài đặt 44
Hình 2.9 Biểu đồ trình tự UC Điều khiển nhân vật 45Hình 2.10 Biểu đồ cộng tác cho UC điều khiển 46
Hình 2.11 Biểu đồ trình tự cho UC tạm dừng game 47Hình 2.12 Biểu đồ cộng tác cho UC tạm dừng game 48
Trang 6Hình 2.13 Biểu đồ trình tự UC chơi tiếp 49
Hình 2.14 Biểu đồ cộng tác cho UC chơi tiếp 50
Hình 2.15 Biểu đồ trình tự UC thoát game 51
Hình 2.16 Biểu đồ cộng tác cho UC thoát game 52Hình 2.17 Biểu đồ lớp Menu 53
Hình 3.8 Thiết lập trong Player Setting 59
Hình 3.9 Thiết lập phần Resolution và presentation 60Hình 3.10 Thực hiện built file 60
Hình 3.11 Giao diện đầu tiên khi khởi động game 61Hình 3.12 Giao diện phần giới thiệu 61
Hình 3.13 Giao diện hướng dẫn chơi 62
Hình 3.14 Giao diện một Game Play 62
Hình 3.15 Giao diện cài đặt 63
Hình 3.16 Giao diện tạm dừng game 63
Hình 3.17 Giao diện khi người chơi thua cuộc 64
Hình 3.18 Giao diện thoát game 64
Trang 7LỜI MỞ ĐẦU
Trong thời kỳ phát triển hiện nay điện thoại di động, và các thiết bị điện tử
là không thể thiếu trong cuộc sống Theo thời gian, số lượng các thuê bao cũng như các nhà cung cấp dịch vụ di động ngày càng tăng
Cùng với sự phát triển của thị trường điện thoại di động là sự phát triển mạnh
mẽ của xu hướng lập trình phần mềm ứng dụng, lập trình game cho thiết bị di động Game cho điện thoại di động hiện nay rất đa dạng, phong phú và cũng đang phát triển mạnh mẽ cũng như thay đổi từng ngày Do đó việc xây dựng các game cho điện thoại di động đang là một ngày công nghiệp mới đầy tiềm năng và hứa hẹn nhiều sự phát triển vượt bậc của ngày khoa học kĩ thuật
Xu hướng người sử dụng điện thoại với mục đích giải trí ngày càng tăng, như: nghe nhạc, xem phim, chơi game, …Nhằm đáp ứng nhu cầu giải trí của người dùng, em muốn xây dựng game SuperRunning trên điện thoại di động, game sẽ rất thú vị, giúp người dùng có thể giải trí bất cứ lúc nào, bất cứ nơi đâu với chiếc điện thoại thông minh cầm tay
Đề tài: “ Tìm hiểu về Unity 3D và xây dựng game SuperRunning” Báo
cáo này gồm có các nội dung sau:
Chương 1: Cơ sở lý thuyết: Nội dung chương này bao hàm toàn bộ lý
thuyết , kiến thức căn bản về Unity Engine, ngôn ngữ C#, ngôn ngữ JavaScript, ngôn ngữ UML…
Chương 2: Khảo sát và phân tích , thiết kế hệ thống: Bao gồm nội dung
về khảo sát thực trạng game mobile, phân tích và vẽ biểu đồ chương trình
Chương 3: Xây dựng và cài đặt chương trình: Nội dung bao gồm việc xây
Trang 8dựng giao diện, xây dựng các lớp xử lý, cài đặt và chạy chương trình.
*.FBX hay được dùng vì được tối ưu hóa hơn, còn dùng các định dạng khác ngoài FBX thì phải cài phần mền thiết kế character tưng ứng thì mới dùng được (tức là dùng Maya có định dạng *.mb, *.ma thì muốn dùng được phải cài Maya)
Trang 9Ưu điểm của Unity là một môi trường phát triển tích hợp, mạnh mẽ, hỗ trợ thao tác kéo thả, tuỳ biến giao diện nhanh chóng, trực quan, cấp các công cụ xử lý
đồ hoạ, tích hợp sẵn thư viện vật lý, tính toán va chạm Unity hỗ trợ phát triển trên hai nền 2D và 3D và cho phép export game chạy trên các nền tảng thông dụng như OSX, Linux, Window, Web, iOS, Window Phone 8, Android, PS3, BB…
Unity hướng tới người sử dụng chuyên nghiệp và cả nghiệp dư, nên khá dễ
để sử dụng Với ngôn ngữ lập trình bằng C#, JavaScript hoặc BOO
Ngày nay rất nhiều nhà phát triển game lựa chọn Unity để phát triển bởi khả năng hỗ trợ đa nền tảng và sự mạnh mẽ tiện dụng của Unity Đến với Unity, các bạn sẽ không cần phải băng khoăn về các vấn đề xử lý, các khái niệm đồ hoạ phức tạp tất cả đều trở nên dễ dàng và nhanh chóng Ta có thể vào đây để download và cài đặt Unity3D trực tiếp tại trang chủ : http://unity3d.com/unity/download/
Unity có 2 loại phiên bản, một cho người dùng free, và một phiên bản pro thì mất phí
Trang 10Hình 1.1 Các phiên bản của Unity.
Các thành phần cơ bản trong Unity
Scenes
Trang 11Hình 1.2 Scenes trong Unity.
Trong Unity, một cảnh chơi (hoặc một phân đoạn) là những màn chơi riêng biệt, một khu vực trong game hoặc thành phần có trong nội dung của trò chơi (các menu), các thành phần này được gọi là Scene Bằng cách tạo ra nhiều Scenes, chúng ta có thể phân phối thời gian và tối ưu tài nguyên, kiểm tra các phân đoạn trong game một cách độc lập.Một số thành phần như MainMenu cũng là một Scene
Asset
Trang 12Hình 1.3 Asset trong Unity.
Asset (tài nguyên) là các file dữ liệu gốc như: các file mô hình , texture, âm thanh, script, scenes…
Unity hỗ trợ rất nhiều dữ liệu tài nguyên mà không cần phải convert Các asset do chính những nhà phát triển game tạo ra và có thể được download miễn phí hoặc trả phí trên Unity Asset Store, đây là một trong những tính năng rất hay của Unity Các asset này sẽ giúp giảm thiểu rất nhiều thời gian cho việc thiết kế và lập trình game
Trang 13Game Object đều chứa ít nhất một thành phần cơ bản là Transform, lưu trữ thông tin về vị trí, góc xoay và tỉ lệ của Game Object Thành phần Transform có thể được tuỳ biến và chỉnh sửa trong quá trình lập trình.
Trang 14 Components
Components là các thành phần trong game, bổ sung tính năng cho các Game Object Mỗi Component có chức năng riêng biệt, đa phần các Component phụ thuộc vào Transform, vì nó lưu trữ các thông số cơ bản của Game Object
Bản chất của Game Object là không có gì cả, các đặc tính và khả năng của Game Object nằm hoàn toàn trong các Component Do đó chúng ta có thể xây dựng nên bất kỳ Game Object nào trong game mà chúng ta có thể tưởng tượng được
Trang 15Hình 1.4 Compenents trong Unity.
Scripts
Scripts được Unity xem như một Component, đây là thành phần thiết yếu trong quá trình phát triển game Bất kỳ một game nào, dù đơn giản nhất đều cần đến Scripts để tương tác với các thao tác của người chơi, hoặc quản lý các sự kiện
để thay đổi chiều hướng của game tương ứng với kịch bản game
Trang 16Unity cung cấp cho lập trình viên khả năng viết Script bằng các ngôn ngữ: JavaScript, C# Unity không đòi hỏi lập trình viên phải học cách lập trình trong Unity, nhưng trong nhiều tình huống, chúng ta cần sử dụng Script trong mỗi phần của kịch bản game.
Để viết Script, chúng ta có thể làm việc với một trình biên tập Script độc lập của Unity, hoặc làm việc trên Mono Developer được tích hợp vào Unity trong những phiên bản gần đây Mono Developer là một IDE khá tốt, cung cấp nhiều chức năng tương tự Visual Studio Mã nguồn viết trên Mono Developer sẽ đươc cập nhật và lưu trữ trong dự án trên Unity
Prefabs
Prefabs thực chất là Game Object được lưu trữ lại để tái sử dụng Các
Game Object được nhân bản từ một prefab sẽ giống nhau hoàn toàn, ngoại trừ thành phần Transform để phân biệt và quản lý được tốt hơn Ví dụ: Các đối tượng
là đồng tiên trong game Mario đều có xử lý giống nhau, nên ta chỉ việc tạo ra một đối tượng ban đầu, các đồng tiền còn lại sẽ sử dụng prefabs Hoặc khi ta lát gạch cho một cái nền nhà, các viên gạch cũng được sử dụng là prefabs
Để tạo ra một prefab, ta đơn giản chỉ cần kéo một Game Object vào cửa sổ Project
Trang 17Hình 1.5 Prefabs trong Unity.
Sprite
Sprite là một hình ảnh 2D của một game object có thể là hình ảnh đầy đủ, hoặc có thể là một bộ phận nào đó
Trang 18Hình 1.6 Sprite trong Unity.
Animation
Animition là tập một hình ảnh động dựa trên sự thay đổi liên tục của nhiều sprite khác nhau
Trang 19 Audio Source
Đối với bất kỳ game nào, âm thanh là một trong những yếu tố không thể thiếu Âm thanh như một chất xúc tác nhằm kích thích các giác quan của người chơi giúp cho game trở nên thu hút và hấp dẫn hơn
Audio Source là một built-in component được Unity xây dựng sẵn để hỗ trợ
phát các file âm thanh trong game Để sử dụng Audio Source, các bạn chọn Add Component → Audio → Audio Source Các thuộc tính của Audio Source được
hiển thị trong hình sau:
Hình 1.7 Audio Source trong Unity.
Các định dạng âm thanh hỗ trợ trong Unity bao gồm : *.mp3, *.oog, *.wav,
*.xm, *.mod, *it, *.aiff
Làm quen với môi trường Unity
Trang 20Phần này có để thiết lập một số thông số như hiển thị ánh sáng, âm anh, cách nhìn 2D hay 3D
Game:
Phần màu đỏ số 1 Phần này hiển thị game khi thực thi, một tab bên cạnh
Trang 21của tab Scenes.
Phần đóng khung màu đà Phần này chứa các nút chuyên dụng:
Bốn nút bên trái: (1) tuỳ chọn cho phép dùng chuột kéo toàn bộ scenes, phóng to, thu nhỏ, lựa chọn các đối tượng trong scenes (2) cho phép dùng chuột di chuyển các đối tượng trong scenes, (3) cho phép dùng chuột quay các đối tượng (4) cho phép dùng chuột phóng
to, thu nhỏ các đối tượng
Ba nút ở giữa: (1) cho phép chạy demo game, (2) cho phép dừng game tại một frame nào đó, (3) cho phép chạy từng frame
Hai drop list bên phải: (1) cho phép tuỳ chọn hiển thị các layer, (2)
Trang 22cho phép chọn và lưu các bố trí do người dùng thiết lập.
Ngoài ra còn có các cửa sổ khác của Unity, như Sprite Editor, Animation, Animator, Console và ta có thể tự tuỳ biến cho mình một bố cục sao cho thuận tiện với mình nhất nhưng khuyến cáo thì vẫn nên dùng bố cục mặc định (Chọn ở Top bar chọn Layout > Default)
Tạo và cấu hình dự án trong Unity
Bật Unity lên, đặt tên cho Project và vị trí lưu trữ Sau đó chọn chế độ 2D hoặc 3D rồi “Create project”
Hình 1.9 Tạo dự án trong Unity.
Chọn loại project là 2D hoặc 3D sau đó gõ tên project xong nhấn Create Project Kết quả như sau:
Trang 23Hình 1.10 Dự án game 3D trong Unity.
Sau khi tạo dự án xong, Ở cửa sổ Hierarchy chọn Main Camera Inspector
sẽ hiển thị các thông số của camera, ta sẽ chọn lại giá trị Projection hay phép chiếu
là phép chiếu vuông góc thay cho phép chiếu phối cảnh
Tiếp theo, ở cửa sổ Project, ta sẽ tạo sẵn các thư mục để chứa tất cả các tài nguyên có sử dụng trong game sau này lần lượt là: Animations, Prefabs, Scripts, Sprites, Sounds, Scenes Click chuột phải vào thư mục Assets ở cửa sổ Project, ta chọn Create, chọn Folder Kết quả như hình sau:
Trang 24Hình 1.11 Thu mục trong Unity.
Tổng quan về ngôn ngữ C#
Khái niệm
Ngôn ngữ C# khá đơn giản, chỉ khoảng hơn 80 từ khóa và hơn mười mấy kiểu dữ liệu được dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa to lớn khi nó thực thi những khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại Hơn nữa ngôn ngữ C# được xây dựng trên nền tảng hai ngôn ngữ mạnh nhất là C++ và Java
Trọng tâm của ngôn ngữ hướng đối tượng là lớp Lớp định nghĩa kiểu dữ liệu mới, cho phép mở rộng ngôn ngữ theo hướng cần giải quyết C# có những từ khoá dành cho việc khai báo lớp, phương thức, thuộc tính (property) mới C# hỗ trợ đầy đủ khái niệm trụ cột trong lập trình hướng đối tượng: đóng gói, thừa kế, đa hình
Trang 25Định nghĩa lớp trong C# không đòi hỏi tách rời tập tin tiêu đề với tập tin cài đặt như C++ Hơn thế, C# hỗ trợ kiểu sưu liệu mới, cho phép sưu liệu trực tiếp trong tập tin mã nguồn Đến khi biên dịch sẽ tạo tập tin sưu liệu theo định dạng XML.
C# hỗ trợ khái niệm giao diện, interfaces (tương tự Java) Một lớp chỉ có thể
kế thừa duy nhất một lớp cha nhưng có thế cài đặt nhiều giao diện
C# có kiểu cấu trúc, struct (không giống C++) Cấu trúc là kiểu hạng nhẹ và bị giới hạn.Cấu trúc không thể thừa kế lớp hay được kế thừa nhưng có thể cài đặt giao diện
C# cung cấp những đặc trưng lập trình hướng thành phần như property, sự kiện và dẫn hướng khai báo (được gọi là attribute) Lập trình hướng component được hỗ trợ bởi CLR thông qua siêu dữ liệu (metadata) Siêu dữ liệu mô tả các lớp bao gồm các phương thức và thuộc tính, các thông tin bảo mật …
Assembly là một tập hợp các tập tin mà theo cách nhìn của lập trình viên là các thư viện liên kết động (DLL) hay tập tin thực thi (EXE) Trong NET một assembly là một đon vị của việc tái sử dụng, xác định phiên bản, bảo mật, và phân phối CLR cung cấp một số các lớp để thao tác với assembly
C# cũng cho truy cập trực tiếp bộ nhớ dùng con trỏ kiểu C++, nhưng vùng
mã đó được xem như không an toàn CLR sẽ không thực thi việc thu dọn rác tự động các đối tượng được tham chiếu bởi con trỏ cho đến khi lập trình viên tự giải phóng
Đặc trưng của ngôn ngữ C#
C# có những đặc trưng cơ bản sau đây:
Trang 26 C# là ngôn ngữ đơn giản.
C# là ngôn ngữ hiện đại
C# là ngôn ngữ hướng đối tượng
C# là ngôn ngữ mạnh mẽ và mềm dẻo
C# là ngôn ngữ hướng module
C# sẽ trở nên phổ biến
C# là ngôn ngữ đơn giản.
C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và C++, bao gồm việc loại bỏ nhữn template, đa kế thừa, lớp và cơ sở ảo Chúng là những nguyên nhân gây ra sự nhầm lẫn hay dẫn đến những vẫn đề cho người phát triển C++
Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++, nếu chúng ta quen với C , C++ thậm chí là Java , chúng ta sẽ thấy C# khá giống về diện mạo,
cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải thiện đẻ làm cho ngôn ngữ đơn giản hơn Một vài sự cải tiến là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi Ví dụ như trong C++ có ba toán tử làm việc với các thành viên là : :, , và ->
Để biết khi nào dùng ba toán tử này cũng phức tạp và dễ nhầm lẫn Trong C# , chúng được thay thế với một toán tử duy nhất gọi là (dot) Đối với người mới học thì điều này và những việc cả tiến khác làm bớt nhầm lẫ và đơn giản hơn
C# là ngôn ngữ hiện đại
Trang 27C# có được những đặc tính của ngôn ngữ hiện đại như:
Xử lý ngoại lệ
Thu gom bộ nhớ tự động
Có những kiểu dữ liệu mở rộng
Bảo mật mã nguồn
Ghi chú: Con trỏ được tích hợp vào ngôn ngữ C++, chúng là nguyên
nhân gây ra rắc rối của ngôn ngữ này, C# loại bỏ những phức tạp và rắc rối sinh ra bởi con trỏ Trong C# , bộ thu gồm bộ nhớ tự động và kiểu dữ liệu an toàn được tích hợp vào ngôn ngữ
C# là ngôn ngữ hướng đối tượng
C# hỗ trợ tất cả những đặc tính của ngôn ngữ hướng đối tượng là:
C# được sử dụng cho nhiều dự án khác nhau như: tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, xử lý bảng tính; thậm chí tạo ra những trình biên dịch cho
Trang 28các ngôn ngữ khác.
C# là ngôn ngữ sử dụng giới hạn những từ khóa Phần lớn các từ khóa dùng
để mô tả thông tin, nhưng không vì thế mà C# kém phần mạnh mẽ Chúng ta có thể
tìm thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào
C# là ngôn ngữ hướng module
Mã nguồn của C# được viết trong Class (lớp) Những Class này chứa các Method (phương thức) thành viên của nó
Class (lớp) và các Method (phương thức) thành viên của nó có thể được sử dụng lại trong những ứng dụng hay chương trình khác
C# sẽ là ngôn ngữ phỏ biến
C# là một trong những ngô ngữ lập trình mới nhất , ngôn ngữ này có môt số
lý do để trở thành một ngôn ngữ phổ biến, một trong những lý do chính là Microsoft và sự cam kết của NET
Microsoft muốn ngôn ngữ C# trở nên phổ biến Mặc dù một công ty không thể làm môt sản phẩm trở nên phổ biến nhưng nó có thể hỗ trợ Cách đây không lâu ,Microsoft đã gặp sự thất bại về hệ điều hành Microsoft Bod C# thay thế tốt hơn để đem đến thành công so với Bod Nhiều sản phẩm của công ty này đã chuyển đổi và viết lại bằng C# Bằng cách sử dụng ngôn ngữ này mà Microsoft đã xác nhận khả năng của C# cần thiết cho người lập trình
Biến , hằng , toán tử
Biến
Khái niệm :
Trang 29Biến là một vùng lưu trữ ứng với một kiểu dữ liệu Biến có thể được gán giá trị và cũng có thể thay đổi giá trị trong khi thực hiện các lệnh của chương trình.
Khai báo biến :
Sau khi khai báo biến phải gán giá trị cho biến
<Kiểu_Dữ_Liệu> <tên_biến> [ = <giá_trị> ] ;
System.Console.WriteLine("khoi tao: bien = {0}", bien) ;
// Gan gia tri cho bien
bien = 5 ;
// Xuat ra man hinh
System.Console.WriteLine("gan: bien = {0}", bien) ;
}
}
Trang 30 Biểu tượng hằng (symbolic constants).
Kiểu liệt kê (enumerations)
Giá trị hằng :
Trong C#, trước khi dùng một biến thì biến đó phải được khởi tạo nếu không trình biên dịch sẽ báo lỗi khi biên dịch Ta có thể khai báo biến trước, sau
đó khởi tạo và sử dụng; hay khai báo biến và khởi gán trong lúc khai báo
VD: int x; // khai báo biến trước
x = 5; // sau đó khởi gán giá trị và sử dụng
int y = x; // khai báo và khởi gán cùng lúc
Toán tử
Ngôn ngữ C# bao gồm các toán tử sau:
Toán tử toán học: + , - , * , / , %
Toán tử tăng / giảm: += , -= , *= , /= , %=
Toán tử tăng / giảm 1 đơn vị: ++ ,
Toán tử gán: =
Toán tử quan hệ: == , != , > , >= , < , <=
Toán tử logic: ! , && , ||
Trang 31 Toán tử 3 ngôi: (Điều_Kiện) ? (Biểu_Thức_1) : (Biểu_Thức_2)
Kiểu dữ lệu - Cấu trúc điều khiển - Cấu trúc lặp
Kiểu dữ liệu
C# chia kiểu dữ liệu thành hai tập hợp kiểu dữ liệu chính:
Kiểu xây dựng sẵn (built-in): do ngôn ngữ cung cấp cho người lập trình
Kiểu do người dùng định nghĩa (user-defined): do người lập trình tạo ra
Bảng 1.1 Các ký tự đặc biệt.
Trang 32Bảng 1.2 Kiểu dữ liệu dựng sẵn.
Có hai cách chuyển đổi kiểu dữ liệu là chuyển đổi ngầm định và ép kiểu:
Chuyển đổi ngầm định :
VD: short x = 10 ;
Trang 33int y = x ; // chuyển đổi ngầm định.
Ép kiểu :
VD: short x ;
int y = 100 ;
x = (short) y ; // ép kiểu tường minh, trình biên dịch không báo lỗi.
Cấu trúc điều khiển
<Khối lệnh Điều_Kiện sai>]
VD: static void Main()
Trang 34Console.WriteLine("{0} la so chan", bienDem) ;
else Console.WriteLine("{0} la so le", bienDem) ;
Trang 39Nó vốn được phát triển bởiBrendan EichtạiHãng truyền thông Netscapevới cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối
cùng thành JavaScript Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với Self hơn Java.js là phần mở rộng thường được dùng cho tập tin mã nguồn JavaScript
Đặc điểm của ngôn ngữ JavaScript
JavaScript là một ngôn ngữ rất phổ biến hiện nay bởi vì nó có những đặc điểm nổi trội sau:
Trang 40 JavaScript là một ngôn ngữ kịch bản được viết chung với HTML.
Không biên dịch như các ngôn ngữ khác, khi trang web load xuống nó được thông dịch
Thiết kế động vì các đối tượng có khả năng tương tác với nhau thông qua người sử dụng hoặc các sự kiện
Là ngôn ngữ hướng đối tượng
Được hỗ trợ bởi các trình duyệt Nescape và Internet Explorer
JavaScript có khả năng tạo và sử dụng các đối tượng (object) Các Object được nhìn theo 2 khía cạnh:
Các Object đã tồn tại
Các Object do người lập trình xây dựng
Có 2 điều cơ bản mà bạn có thể nhầm lẫn ở JavaScript:
JavaScript không phải là ngôn ngữ Java, hai ngôn ngữ được tạo ra bởi hai công ty khác nhau Mặc dù sự trùng tên không phải ngẫu nhiên mà vì lý do tiếp thị
JavaScript dựa trên các đối tượng – JavaScript là một ngôn ngữ hướng đối tượng giống như Java Thực ra phải nói chính xác là “dựa trên các đối tượng” vì các đối tượng của JavaScript đáp ứng tức thời
và không có tính kế thừa
Ngôn ngữ Javascript là một ngôn ngữ đơn giản và dễ học so với hầu hết các ngôn ngữ lập trình hiện nay – Vì những khả năng ưu việt mà Javascript mang lại,