1. Trang chủ
  2. » Luận Văn - Báo Cáo

nghiên cứu và xâydựngtrò chơi rắn săn mồi sử dụng thuậttoán tìm kiếm theo chiều rộng bfs đề tài báo cáo

35 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu và xây dựng trò chơi rắn săn mồi sử dụng thuật toán tìm kiếm theo chiều rộng (BFS)
Tác giả Mai Xuân Điệp, Nguyễn Đỗ Công, Vũ Tuấn Dương, Nguyễn Vũ Việt Anh
Người hướng dẫn Ths. Nguyễn Thị Huệ
Trường học Trường Đại học Kiến trúc Hà Nội
Chuyên ngành Công nghệ Thông tin
Thể loại Đồ án môn học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 35
Dung lượng 3,79 MB

Nội dung

Suy diễn: sử dụng những tri thức đã có đề đưa ra câu trả lời Học máy: sử dụng để thích nghi và học hỏi trong các môi trường, hoàn cảnh khác nhau Hệ thống có thể suy nghĩ như người AI hàn

Trang 1

TRƯỜNG ĐẠI HỌC KIÊN TRÚC HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

ĐỎ ÁN MÔN HỌC TRÍ TUỆ NHÂN TẠO

NGHIÊN CUU VA XAY DUNG TRO CHOI RAN SAN MOI

SU DUNG THUAT TOAN TIM KIEM THEO CHIEU

RONG (BES)

Ngành: CONG NGHE THONG TIN

Giảng viên hướng dẫn: Ths Nguyễn Thị Huệ

Lớp: 2ICN2

Nhóm: 3

Nhóm sinh viên thực hiện:

Họ và tên: Nguyễn Đỗ Công Msy: 2155010037

Họ và tên: Vũ Tuấn Dương Msv: 2155010062

Họ và tên: Nguyễn Vũ Việt Anh Msy: 2155010017

Hà Nội, 10/2023

Trang 2

LOT MO DAU Luu ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ- 5

0 9/10/00/08:790165:2110008Nn a4 6

DANH MỤC CÁC TỪ VI TẮTT - 2-222-2+2 x2 x2 ETEEETEEErrEEErErkrrrrrkrrrrrrrrkerreerriee 7 CHƯƠNG 1: CƠ SỞ LÝ THUYÊT 525 22v 2E tre 8

1.1 Tổng quan về trí tuệ nhân tạoO - 2 2: S29 222SềSE2EE2EEEEEEEEEEEEEESEEEEEEEEESEEEEkrrkrrkkrrrrrkrrrsree 8

LLL SG nan ẽaẽïẽasa: Ố.Ố.Ố 8

1.1.3 Ứng dụng của trí tuệ nhân †ạO - sành HH TH TH HH TH TT 10 1.1.4 Mặt tích cực và khó khăn của trí tuệ nhân tạO c2 22201111 11T TH nh nh văn 12 1.2 Tổng quan về để tài + 522222 SE 2E T11 111.1111.111 EEEErererrrrrei 13

1.2.2 Lịch sử hình thành và phát triển của trò chơi - - 5: 5c 222 SE2EESEEEtrxrerrerkeerkrrrrrrkrere 13

1.2.3 Ứng dụng và đề xuất cải tiễn trò chơi cà cctc rETtrTrEr 1 n1 gxerree 14

1.3 Các công nghệ áp dụng trong để tài 52 St t2 xxx E1 Tckrrrerrrrrerrri 14 1.3.1 Tổng quan về ngôn ngữ lập trình Pyfhơn 2-5225 E232 2ExEEtEEEESEErEErerkrrkxrrrrrrrrrkrerree 15

Ic vua an 16 CHƯƠNG 2: UNG DUNG THUAT TOAN BREADTH FIRST SEARCH XAY DUNG SNAKE GAME Leese Ố ỐỔỐ 18 2.1 Thuật toán Breadlth FIrst Search - c1 n3 11 vn TH HT HT HT HH Ty 18 2.1.1 MG ta nh .ố.ố.ốỐ.Ốồề ẻ 18

"win 18 2.1.3 Ưu, nhược điểm 2s 3S S9 39115112171121111171711111717111E111-11E11171.11E1-11E1ET.T11 T1 EEE.e 20 2.2.Ứng dụng thuật toán Breadth First Search xây dựng Snake Game con eesec 21 2.2.1 Thuật toán BFS trong tro chơi rắn săn mÔi 2: + 5c 2S SEt2EESEEEEExerErrrkxerkrrrrrrrrrrrree 21

2.2.2 Áp dụng thuật toán BFS ccàcccceectirrrrrerreee

CHUONG 3: XAY DUNG VA TRIEN KHAI UNG DUNG

3.1 Kay dung trO CHO ố 23

KD CS{C co lo in cố 23 3.1.2 Xây dựng con rắn và tÌức ăn 2-52 s23 SE 2ExEEEEEESEX E21 rrrrrriee 24

3.1.3 Hiến thị điểm số và thông điệp 5222 St E2 2E E217 11.11 trrrrrrsree 25

3.2 Hoat dong cla trO 0 uhưướađđadđiiađiia 25

Trang 3

Tài liệu tham khảo

Trang 4

LỜI MỞ ĐẦU

Trí tuệ nhân tạo là một ngành thuộc lĩnh vực khoa học máy tính Là trí tuệ do con người lập trình tạo nên với mục tiêu giúp máy tính có thê tự động hoá các hành vi thông minh như con người Trí tuệ nhân tạo đã có những bước phát triển lớn, cũng như những sự đột phá về công nghệ, là ngành đang định hình lại xã hội của chúng ta Với

sự hướng dẫn của GV.Ths Nguyễn Thị Huệ nhóm em sẽ nghiên cứu vả xây dựng trò chơi rắn săn mỗi sử đụng thuật toán tìm kiếm theo chiều rộng (BFS) Trò chơi rắn săn môi là một trò chơi cô điên, phô biến và dễ cải đặt Trong trò chơi này đòi hỏi con rắn

phải có khả năng ra quyết định thông minh để tìm kiếm môi, trong khi đó tránh va

chạm với thân mình và biên của bản đồ, kèm theo đó lả sống sót lâu nhất có thê Đây

là một bài toán thú vị, có thế áp dụng nhiều kỹ thuật và thuật toán khác nhau để giải

quyết Và BFS lả thuật toán tìm kiếm theo chiều rộng nỗi tiếng trong lý thuyết đồ thị Thuật toán nảy sẽ duyệt từ gốc và loang đần đến các nút có độ sâu tăng dần Nó là một thuật toán đơn giản giúp chúng ta tìm được đường đi ngắn nhất giữa 2 ô trong ma trận Dựa trên thuật toán nảy chúng ta sẽ xây dựng được một AI đơn giản cho Snake game

Từ đó mô tả một phần ứng dụng của AI trong thực tế

Do kiến thức và vốn hiểu biết về trí tuệ nhân tạo vẫn còn nhiều hạn chế nên trong đề tài nghiên cứu vẫn còn nhiều thiếu sót, nhóm em kính mong cô thông cảm và đưa ra nhận sét về đề tài để nhóm có thể hoàn thiện hơn Nhóm em xin chân thành cảm ơn cô!

Trang 5

DANH MỤC BẢNG BIẾU

Trang 6

DANH MUC CAC TU VIET TAT

Trang 7

CHƯƠNG 1: CƠ SỞ LÝ THUYÉT

I.I Tông quan về trí tuệ nhân tạo

1.II Khái nệm

Ngày nay, cụm từ “Trí tuệ nhân tạo” hay AI không còn quá xa lạ và chúng ta có thể bắt gặp rất nhiều những ứng dụng của AI trên rất nhiều lĩnh vực trong đời sống như y

té, giao duc, thé thao, công nghiệp, và rất nhiều lĩnh vực khác Khái niệm Trí tuệ

nhân tạo (Artiñcial Intelligence) hay AI đã xuất hiện từ nhiều thập kỷ trước vả từ đó

cho đến nay khái niệm trí tuệ nhân tạo dần được hoàn thiện hơn Ta có thê đưa ra khái niệm về AI như sau:

Trí tuệ nhân tạo hay trí thông minh nhân tạo (Artifcal intelligence - viết tắt là AI)

là một ngành thuộc lĩnh vic Khoa hoc may tinh (Computer science) La tri th6ng minh được thê hiện bằng máy móc được con người lập trình mô phỏng quá trình suy nghĩ và hoạt động như con người giúp máy tính có thể tự học, tự đưa ra các quyết định mà không cần lập trình trước hay nói cách khác đây là quá trình mô phỏng bộ não của con người trên máy tính Ngoàải ra còn nhiều cách đưa ra khái niệm về AI tuy nhiên chúng đều xoay quanh các đặc điểm sau:

Hệ thống hành động như người

Con người được lấy làm thước đo khi đánh giá mức độ thông minh của máy tính Theo cách định nghĩa này, trí tuệ nhân tạo được phát triển nhằm tạo ra các hệ thống có hành vi hay hành động tương tự con người Hệ thống trí tuệ nhân tạo cần có những khả năng sau:

Xử lý ngôn ngữ tự nhiên: để có thể phân tích, hiểu câu hỏi và tông hợp câu trả lời dựa trên một ngôn ngữ giao tiếp thông thường và phô biến nhất hiện nay 1a tiếng Anh Biếu diễn tri thức: phục vụ việc lưu giữ trí thức và thông tin trong hệ thống Suy diễn: sử dụng những tri thức đã có đề đưa ra câu trả lời

Học máy: sử dụng để thích nghi và học hỏi trong các môi trường, hoàn cảnh khác nhau

Hệ thống có thể suy nghĩ như người

AI hành động một cách thông minh dựa trên quá trình phân tích dữ liệu tương tự quá trình suy nghĩ của con người Những nghiên cứu theo hướng này dựa trên việc nghiên cứu quá trình nhận thức và tư duy của con người, từ đây mô phỏng vả tạo ra những hệ thống có khả năng tự nhận thức, tư duy hay nói cách khác đây là quá trình

mô phỏng bộ não con người Tuy nhiên đây cũng chính là bước cản lớn nhất khi phát triển AI

Hệ thống có thể suy nghĩ hợp lý

Thực tế cho thấy con người luôn bị chí phối bởi tâm lý, cảm xúc Do vậy, không phải lúc nảo con người cũng suy nghĩ và hành động theo hướng đạt tới kết quả tốt Do

Trang 8

vậy những hệ thống được xây dựng để có khả năng lập luận dựa trên việc sử dụng các

hệ thông logic đề đưa ra những kết quả tốt nhất

Phân loại AI dựa vào hai yếu tố, từ đó ta có hai cách phân loại sau:

Cách 1: Phân loại dựa trên mức độ thông minh:

Artificial Narrow Intelligence (ANI - Tri tué nhan tạo hep)

Loại trí tuệ nhân tạo này đại diện cho tất cả các AI hiện có, bao gồm cả những AI phức tạp nhất và có khả năng nhất từng được tạo ra cho đến nay Trí tuệ nhân tạo hẹp

đề cập đến các hệ thống AI chỉ có thể thực hiện một nhiệm vụ cụ thê một cách tự động bằng cách sử dụng các khả năng giống như con người Những cỗ máy này không thể làm gì hơn những gì chúng được lập trình để làm, vả do đó có một phạm vi năng lực rất hạn chế hoặc hẹp

Artificial General Intelligence (AGI - Tri tué nhdn tao chung)

Trí tuệ nhân tạo tông quat/ chung 1a kha năng của một AI có thê học, nhận thức, hiểu và hoạt động hoản toản giống như một con người Các hệ thống này sẽ có thê xây dựng độc lập nhiều năng lực và hình thành các kết nối và tổng quát hóa trên các lĩnh vực

Artificial Super Intelligence (ASI - Siéu tri tué nhân tạo)

Được coi là đỉnh cao của nghiên cứu AI ASI ngoài việc tái tạo trí thông minh nhiều mặt của con người, sẽ cực kỳ tốt hơn trong mọi việc vì có bộ nhớ lớn hơn, xử lý và phân tích đữ liệu nhanh hơn và khả năng ra quyết định

Cách 2: Phân loại dựa trên khả năng mô phỏng suy, hành động của con người: Reactive Machines - Al phan ung

Là những dạng hệ thống AI lâu đời nhất, khả năng cũng cực kỳ hạn chế Chúng mô phỏng khả năng phản ứng của tâm trí con người với các loại kích thích khác nhau Những máy này không có chức năng dựa trên bộ nhớ Điều nảy có nghĩa là những máy như vậy không thê sử dụng những kinh nghiệm đã đạt được trước đó dé thông báo cho các hành động hiện tại của chúng, tức là những máy này không có khả năng “học hỏi” Limited Memory - ẢI với trí nhớ giới hạn

AI có bộ nhớ hạn chế là AI ngoài việc có các khả năng phản ứng thuần túy, còn có

khả năng học hỏi từ đữ liệu lịch sử để đưa ra quyết định Gần như tất cả các ứng dụng

9

Trang 9

hiện có mà chúng ta biết đều thuộc thể loại AI này Hầu hết tất cả các ứng dụng AI ngày nay, từ chatbot và trợ lý ảo cho đến xe tự lái đều được điều khiến bởi AI bộ nhớ han ché

Theory of Mind - Ly thuyét về Trí tuệ nhân tạo

Al loai nay vấn tồn tại dưới dạng một khái niệm hoặc một công trình đang được tiến hành Đây là một lý thuyết mà AI sẽ có thê hiểu rõ hơn về các thực thê mà nó đang tương tác bằng cách phân biệt nhu cầu, cảm xúc, niềm tin hay nói một cách khác đó là

sự thấu hiểu “con NgƯỜi”

SelJ-4wareness - Tự nhận thức

Công nghệ AI nảy có khả năng tự nhận thức về bản thân, có ý thức vả hành xử như con người Thậm chí, chúng còn có thế bộc lộ cảm xúc cũng như hiểu được những cảm xúc của con người Đây được xem là bước phát triển cao nhất của công nghệ AI tuy

nhiên đến thời điểm hiện tại, công nghệ này vẫn chưa kha thi

1.1.3 Ứng dụng của trí tuệ nhân tạo

Y tế và chăm sóc sức khoẻ

AI trong ra quyết định lâm sàng: IBM Watson là một trong những hệ thông hàng đầu hỗ trợ chăm sóc sức khỏe bằng AI, giúp các bác sĩ đưa ra quyết định hiệu quả Với khả năng máy học (machine learnine) và khả năng xử lý ngôn ngữ tự nhiên, hệ thống này giúp các bác sĩ xem xét hỗ sơ sức khoẻ điện tử của bệnh nhân và cập nhật thông tin hướng dẫn điều trị từ các công trình nghiên cứu y khoa

AI trong hồ sơ sức khoẻ điện tử: Hiện nay, EHR đã trở thành một trong những công việc tiêu tốn nhiều thời gian nhất của nhân viên y tế tại các cơ sở chăm sóc sức khỏe Công nghệ AI hứa hẹn có thê giúp các nhả cung cấp địch vụ chăm sóc sức khỏe thu thập lưu trữ, định dạng lại và theo dõi dữ liệu lâm sảng, cũng như các kế hoạch và đánh giá cá nhân hóa

AI trong chân đoán: Công nghệ AI đã được sử dụng dé cai thiện chất lượng chân đoán, đặc biệt là trong X quang AI đựa trên nguồn đữ liệu 129.450 hình ảnh lâm sảng

để chân đoán bệnh ngoài da, kết quả đã chứng minh rằng hệ thống này có thê phân loại ung thư da ở mức tương đương với các bác sĩ da liễu

AI trong quản lý khám, chữa bệnh: Việc đưa công nghệ AI vào các hệ thống quản lý chăm sóc sức khỏe có thê giúp xác định các chân đoán và điều trị không cần thiết Do

đó, công nghệ AI y tế không chỉ tập trung vào các tương tác cô điển giữa bệnh nhân với nhả cung cấp địch vụ chăm sóc sức khỏe mà còn có thê được sử dụng trong quản

lý hệ thống y tế cho các tổ chức quy mô lớn

Giáo dục

Trí tuệ nhân tạo giúp cá nhân hóa lộ trình học tập: Trí tuệ nhân tạo sẽ tong hop dtr liệu để đề xuất lộ trình học tập rõ ràng, phù hợp với từng học viên Sự chênh lệch về

10

Trang 10

khả năng tiếp thu, tiềm năng phát triển giữa các học viên sẽ được giải quyết Giáo dục được ứng dụng trí tuệ nhân tạo nhằm hướng tới sự tối ưu hóa khả năng tiếp thu, khắc phục điểm yếu và phát huy thế mạnh riêng của từng người

Trí tuệ nhân tạo là trợ giảng đa nhiệm: Giáo viên không cần phải I mình thực hiện nhiều tác vụ lặp lại như chấm bài, thống kê điểm, báo cáo giáo án AI sẽ thiết lập những công việc này được tự động hóa Nhờ đó, người đạy có thể tập trung vào chuyên môn, nâng cao tay nghề và hướng dẫn học sinh sát sao hơn

Trí tuệ nhân tạo định hướng nghẻ nghiệp: Bắt lợi đối với nền giáo dục của các nước đang phát triển, học sinh được đào tạo đồng bộ, ít có cơ hội khám phá vả thiếu sự định hướng dựa trên khả năng cá nhân Trí tuệ nhân tạo sẽ giải quyết thực trạng nảy bằng cách tông hợp, phân tích khả năng, sở thích, tư duy của từng người để định hướng nghé nghiép

An ninh va qudn sw

AI trông việc theo dõi và phát hiện: AI có thé duoc sử dung dé theo déi hoat động quân sự và phát hiện các mỗi đe dọa an ninh qua các phương tiện truyền thông, xã hội May bay không người lái (drone) quân sự: AI có thế được tích hợp vào máy bay không người lái để tăng cường năng lực quân sự, khả năng trinh sát Máy bay không người lái có nhiệm vụ bay cạnh các tiêm kích chiến đấu và hỗ trợ phi công trong các nhiệm vụ băng cách bồ sung thêm cho họ khả năng giám sát và hỏa lực vốn đã sẵn có

Xử li ngôn ngữ tự nhiên

Chatbot: một chatbot thông minh với khả năng hội thoại tự nhiên và mang đến trải nghiệm tốt cho khách hàng sẽ tạo ra lợi thế cạnh tranh vượt trội Một dịch vụ khách hàng tốt sẽ giúp tạo được ấn tượng tốt làm tiền để cho việc gia tăng tăng doanh thu Dịch thuật tự động: Google có một máy chủ riêng, sử dụng công nghệ AI và có khả năng lưu trữ một lượng lớn các dữ liệu dịch thuật Điều quan trong va dang chu y nhat của Google Dich 1a tính năng tích lũy kết quả dịch thuật (bản dịch có sẵn) từ các dịch giả AI sẽ tự động chọn lọc các bản dịch sao cho phủ hợp nhất

Giải trí:

Gợi ý nội dung: AI được sử đụng để gợi ý phim, âm nhạc, sách vả nội dung giải trí khác dựa trên quá trình quan sát và tìm hiểu những sở thích cá nhân của người dùng Các trò chơi đối kháng với máy (game I người chơi):Trong game l người, người chơi sẽ phải chơi với máy, chính là chơi với AI Nó sẽ phân tích hành vị của người chơi sau đó tổng hợp đữ liệu, “học” lỗi chơi và đáp trả họ, quá trình này sẽ diễn ra lặp

đi lặp lại Chính cách xử lý này đã giúp trí thông minh nhân tạo trong chương trình co vây AlphaGo đã đánh bại Lee Sedol, kì thủ với 18 giải quốc tế về môn cờ nảy với tỉ số 4-1 vào 2016

Nghiên cứu khoa học và phát triển sản phẩm

11

Trang 11

AI tìm kiếm và phân tích đữ liệu: Công nghệ AI cho phép xử lý lượng lớn đữ liệu phức tạp ở tốc độ cao, chang hạn như việc phân tích dữ liệu lịch sử dé du bao xu hướng và hành vị mua hàng của khách hàng trong tương lai Các công cụ phân tích văn bản được hỗ trợ bởi AI có thể sảng lọc dữ liệu phi cầu trúc như đánh giá của khách

hàng và bình luận trên mạng xã hội, đề tìm ra thông tin quý giá về ý kiến và sở thích

của người mua Đồng thời, AI cũng có thể phát hiện các hoạt động gian lận hay bất thường trong giao dịch tải chính

Mô phỏng và thử nghiệm sản phâm: AI có thê giúp các tổ chức thiết kế ra sản phẩm Day là cách nó hoạt động: một nhà thiết kế hoặc một kỹ sư đưa các mục tiêu thiết kế vào các thuật toán thiết kế tổng quát Các thuật toán nảy sau đó khám phá tất cả các hoán vị có thể có của một giải pháp vả tạo ra các phương án thiết kế Cuối cùng, nó sử dụng học máy đề kiểm tra mỗi lần lặp và cải thiện nó

1.1.4 Mặt tích cực và khó khăn của trí tuệ nhân tạo

Trí tuệ nhân tạo (AI) là một lĩnh vực có nhiều mặt tích cực và tiềm năng lớn, nhưng

cũng đối diện với nhiều khó khăn và thách thức

Mat tich cực của trí tuệ nhân tạo

Giải quyết vấn đề phức tạp: AI có khả năng xử lí và phân tích đữ liệu phức tạp một cách nhanh chóng và hiệu quả, giúp giải quyết các vấn đề lớn vả phức tạp như phân tích đữ liệu y tế, dự đoán thời tiết và tối ưu hoá quá trình sản xuất

Tăng cường năng suất: AI có thê thực hiện các nhiệm vụ lặp đi lặp lại một cách tự động giúp tang cường năng suất vả giảm công việc tay chân cho con người

Phát triển trí tuệ: Nghiên cứu trong lĩnh vực AI đã giúp con người hiểu rõ hơn về cách hoạt động của não bộ và học hỏi từ đó

Ứng dụng trong y tế: AI có tiềm năng lớn trong việc chuẩn đoán bệnh, dự đoán biến chứng và tạo ra các phương pháo điều trị hiệu quả hơn

Khó khăn của trí tuệ nhân tạo

Đạo đức và luân lý: Sử dụng AI có thể đặt ra nhiều vấn đề đạo đức và luân lý chang hạn như quyền riêng tư, tự động hoá công việc vả tạo ra vũ khí tự động

Khả năng thất nghiệp: AI có thể thay thế công việc của con người trong nhiều ngành gây ra tinh trang thất nghiệp vả sự bất ôn xã hội

Rủi ro an ninh: Sử dụng AI để tạo ra phần mềm độc hại hoặc tấn công mạng có thé gây ra rủi ro an ninh lớn, từ việc đánh cắp đữ liệu cá nhân đến tấn công mạng quốc gia Hạn chế trong hiểu biết và tư duy: Hiện tại AI vân có hạn chế trong việc hiểu biết sâu rộng vả tư duy đa chiều như con người Nó có thê gặp khó khăn khi đối mặt với tình huống mới và phức tạp

12

Trang 12

Quản lí đữ liệu: AI yêu cầu lượng lớn đữ liệu đề huấn luyện và hoạt động hiệu quả Việc quản lí và bảo vệ đữ liệu này có thê gây ra nhiều rắc rối về quyên riêng tư vả an ninh

1.2 Tông quan về dé tai

1.2.2 Lịch sử hình thành và phát triển của trò chơi

Trò chơi Snake (hay còn gọi là rắn săn môi) là một trong những trò chơi điện tử đầu tiên và đã trở thành một biêu tượng của ngành công nghiệp game

Trò chơi Snake xuất hiện đầu tiên vào những năm 1970 trên các máy tính đơn giản

như DEC PDP-I Trò chơi này không được phát triển để công bố ma chi là một ví dụ minh họa cho các hệ thống máy tính thời kỳ đó Đến thập ký 1980 game Snake trở nên

phổ biến khi xuất hiện trên các máy chơi game điện tử như Nokia 6110 vào những năm 1997, Điều nảy làm cho trò chơi trở nên nối tiếng trên toàn cầu và trở thành một trong những trò chơi đầu tiên trên điện thoại di động Trong thập kỷ 1990, Snake đã

xuất hiện trên nhiều hệ thống máy tính và thiết bị di động khác nhau, và phiên bản của

trò chơi này đã được phát triển và cải thiện liên tục Nokia Snake (1997): Snake trở

nên phô biến trên điện thoại di động khi Nokia giới thiệu trò chơi nảy trên điện thoại di

động Nokia 6110 Snake II (2000): Phiên bản Snake II có thêm tính năng gấp đôi, khiến con rắn tăng gấp đôi mỗi khi ăn mỗi Nhiều phiên bản và biến thế: Kê từ đó, có hàng loạt phiên bản và biến thê của trò chơi Snake đã được phát triển trên nhiều nền tảng và thiết bị khác nhau, từ điện thoại di động đến máy tính cá nhân và các trang web chơi game trực tuyến Ngày nay, Snake vẫn còn tồn tại dưới nhiều hình thức khác nhau Ngoài các phiên bản trên điện thoại dị động, có các phiên bản trò chơi trực tuyến miễn phí hoặc được tích hợp vào các trình duyệt web

Snake đã trở thành một phần của ký ức game của nhiều người chơi và vẫn được kính trọng như một biéu tượng của lịch sử game điện tử

Trang 13

1.2.3 Ứng dụng và đề xuất cải tiến trò chơi

Trò chơi rắn săn mỗi (Snake) không chỉ là một trò giải trí đơn thuần, mả còn có

nhiều ứng đụng vả lợi ích khác ngoài việc giúp người chơi giải trí Trò chơi Snake là một cách tuyệt vời để giải trí và giảm căng thăng Người chơi có thế chơi trong thời gian ngắn để giải toả căng thắng hoặc giải trí trong những khoảnh khắc trống rảnh Chơi Snake yêu cầu sự tập trung và kỹ năng phản xạ, giúp cải thiện khả năng tập trung

và nhanh nhẹn của người chơi Trong một số trường hợp, các phiên bản của trò chơi Snake da duoc su dung dé giảng dạy lập trình hoặc làm ví dụ minh họa cho các khái niệm trong khoa học máy tính Việc phát triển phiên bản riêng của trò chơi Snake có thê giúp người học lập trình phát triển kỹ năng lập trình và hiểu rõ về các nguyên tắc của trò chơi điện tử Người thiết kế giao điện có thể sử dụng các yếu tố của trò chơi Snake đề thiết kế các yếu tố tương tác trong ứng dụng hoặc trang web, đặc biệt là với việc sử dụng hình ảnh của con rắn và các mô hình chuyển động Trò chơi Snake cũng

đã được sử dụng trong lĩnh vực trí tuệ nhân tạo dé phat triển các thuật toán về máy học

và học sâu, đặc biệt trong ngữ cảnh của việc hoc may tu hoc (reinforcement learning) Cải tiến trò chơi rắn săn môi có thể tạo ra trải nghiệm mới và thú vị cho người chơi Chúng ta cải thiện đề họa và hiệu Ứng để tạo ra trải nghiệm hấp dẫn hơn Sử dụng dé họa 3D hoặc các hiệu ứng đặc biệt dé lam cho tro chơi trở nên sống động hơn Thêm chế độ chơi đa người để người chơi có thế thi đâu với bạn bẻ hoặc người chơi trực tuyến khác Phát triển chế độ chơi đối kháng trực tuyến, trong đó người chơi có thể thí dau trực tuyến với người chơi khác từ khắp nơi trên thế giới Tạo ra nhiều cấp độ khó khăn và thách thức khác nhau để người chơi không bao giờ cảm thấy chán chường Cho phép người chơi chọn các kỹ năng hoặc đặc điểm đặc biệt cho con rắn của họ, giúp họ tạo ra chiến lược chơi riêng và trải nghiệm cá nhân hóa Thêm chế độ chơi theo cấp độ, trong đó người chơi phải hoản thành các mản chơi với các điều kiện và thách thức đặc biệt đề tiến xa hơn trong trò chơi Sử dụng trí tuệ nhân tạo để tạo ra một

hệ thống điều khiến cho con rắn không người chơi, giúp tạo ra một trải nghiệm chơi đầy thách thức Xây dựng hệ thống điểm số vả xếp hạng trực tuyến để khuyến khích cạnh tranh vả sự tham gia của người chơi Cho phép con rắn tương tác với môi trường xung quanh, như tránh các chướng ngại vật hoặc tận dụng chúng đề đạt được mục tiêu Tạo ra nhiều màn chơi và bản đồ đa dạng, mỗi bản đồ có các tính chất và điểm đặc biệt, giúp người chơi không bao giờ cảm thấy nhảm chán Tích hợp tính năng tương tác với cộng đồng, cho phép người chơi chia sẻ thành tích, gợi ý và thậm chí thiết kế các màn chơi vả bản đồ mới

1.3 Các công nghệ áp dụng trong đề tải

1.3.1 Tổng quan về ngôn ngữ lập trình Python

14

Trang 14

Python là ngôn ngữ lập trình hướng đối tượng bậc cao Điều đặc biệt ở ngôn ngữ này là sự đa năng, đa công dụng Mang các tính năng ưu việt như tạo kiêu đữ liệu tự động và cơ chế cung cấp bộ nhớ tự động Python là ngôn ngữ có mục đích chung, nghĩa là nó có thê được sử dụng để tạo nhiều chương trình khác nhau và không chuyên biệt cho bất kỳ vấn đề cụ thê nào Tính linh hoạt nảy, cùng với sự thân thiện thì Python cực kỳ phù hợp cho người mới bắt đầu

Những tính năng chính của Python

Cực kỳ đơn giản và dễ tiếp thu cũng như thực hành: sự đơn giản của ngôn ngữ nảy thê hiện ở các câu lệnh đễ học, đễ hiểu Python biến những “cú pháp code khó nhằn” trở nên đễ dàng hơn băng những giải pháp

Hoàn toản miễn phí và là mã nguồn mở: nhà lập trình có thể thoải mái di chuyển Python thậm chí sử dụng nó với mục đích thương mại hóa Với đặc trưng là một ngôn noữ lập trình mã nguồn mở Bạn hoàn toản có thê thay đổi các mã nguồn mở của Python ở bất cứ các ứng dụng phần mềm nao

Là một ngôn ngữ di động: di động có nghĩa là nó rất đễ di chuyền từ nền tảng nảy sang các nền tảng khác Đồng thời, bạn có thê chạy chương trình của Python ở mọi nên tảng mà không sợ có bất kỳ những thay đôi nảo ảnh hưởng

Python là ngôn ngữ phiên dịch cao cấp: khi chạy chương trình Python trên bất cứ hệ điều hành hay mạng Internet nảo Python có thê hoàn toàn tự động địch và chạy theo đúng chương trình dữ liệu của mây tính đó

Ưu điểm của Python

Python có cấu trúc đơn giản, rõ rang va rat đễ học Đây được coi là một trong những ngôn ngữ nên học cho những người mới bắt đầu tiếp cận đến lập trình

Python có mặt trên tất cả các hệ điều hành phổ biến như: Windows, MacOS, MS- DOS, Unix, đây cũng thê hiện được sự đa năng của ngôn ngữ này

Tương thích với thư viện lớn nhất hiện nay với 400 triệu người sử dụng như data mining Scikit-learn, Pandas

Tốc độ xử lý cũng là một trong những lí đo tạo nên ưu điểm của Python Ngôn ngữ này có thể tạo ra những script siêu nhỏ tới những phần mềm cực lớn như Blender 3D Nhược điểm của Python

Các cầu trúc của Python đòi hỏi nhiều không gian bộ nhớ hơn, ngôn ngữ này không thé phat huy hét tac dung trong điều kiện bộ nhớ hạn chế

Python không phải là ngôn ngữ được ưu tiên đề phát triển ứng dụng di động hay trò chơi do tiêu tốn nhiều bộ nhớ hơn và tốc độ xử lý chậm so với ngôn ngữ khác Rất khó đề chạy các bài kiểm tra trên mã được viết bằng Python, các lỗi trên nảy thường xuất hiện trong thời gian chạy, điều nảy khiến việc kiểm tra trở nên khó khăn hơn

15

Trang 15

Ứng dụng của Python

Phân tích dữ liệu và học máy: Trong khoa học dữ liệu, cho phép các nhà phân tích

đữ liệu và các chuyên gia khác sử đụng ngôn ngữ nảy để thực hiện các phép tính thông

kê phức tạp, tạo trực quan hóa dữ liệu, xây dựng thuật toán học máy, thao tác và phân tích dữ liệu cũng như hoản thành các nhiệm vụ khác liên quan đến dữ liệu

Python có thể xây đựng nhiều đạng trực quan hóa đữ liệu khác nhau, chăng hạn như biểu đồ đường và thanh, biểu đỗ hình tròn, biêu đồ 3D

Python cũng có một số thư viện cho phép các lập trình viên viết chương trình để phân tích dữ liệu và học máy nhanh hơn và hiệu quả hơn, như TensorFlow và Keras Phát triển web: Python thường được sử dụng để phát triển back-end của trang web hoặc ứng dụng những phần mà người dùng không nhìn thấy Vai trò của Python trong phát triển web có thê bao gồm gửi dữ liệu đến và đi từ máy chủ, xử lý đữ liệu va giao tiếp với cơ sở đữ liệu, định tuyến URL vả đảm bảo tính bảo mật Python cung cấp một

số khuôn khổ đề phát triển web Những cái thường được sử dụng bao gồm Django va Flask

Tự động hoá và phát triển phần mềm: Python co thé tu déng hoa mét nhiém vu lap

đi lặp lại Quá trình viết code được sử dụng để xây đựng các quy trình tự động nảy được gọi là viết script Trong thé giới mã hóa, tự động hóa có thể được sử dụng dé kiêm tra lỗi trên nhiều tệp, chuyên đổi tệp, thực hiện phép toán đơn giản và loại bỏ các ban sao trong dữ liệu

Python thậm chí có thê được sử đụng bởi những người mới bắt đầu đề tự động hóa các tác vụ đơn giản trên máy tính— chăng hạn như đôi tên tệp, tìm và tải xuống nội dung trực tuyến hoặc gửi email hoặc văn bản theo khoảng thời gian mong muốn Trong phát triển phần mềm, Python có thể hỗ trợ các tác vụ như kiểm soát bản dựng, theo dõi lỗi vả thử nghiệm Với Python, các nhà phát triển phần mềm có thể tự động kiểm tra các sản pham hoặc tính năng mới Một số công cụ Python được sử dụng

đề kiểm thử phần mềm bao gồm Green và Requestium

1.3.2 Thư viện Pygame

Pygame là một mô-đun Python đa nền tảng được thiết kế đề viết trò chơi điện tử

Nó bao gồm dé hoa máy tính và thư viện âm thanh được thiết kế để sử dụng với ngôn ngữ lập trình Python

Pygame ban đầu được viết bởi Pete Shinners đề thay thế PySDL sau khi quá trình phát triển của nó bị đình trệ Đây là một dự án cộng đồng từ năm 2000 và được phát hành theo phần mềm miễn phí mã nguồn mở GNU Lesser General Public License Pygame sử dụng thư viện Simple DirectMedia Layer (SDL), với mục đích cho phép phát triển trò chơi máy tính trong thời gian thực mà không cần cơ chế bậc

16

Trang 16

thấp của ngôn ngữ lập trình C và các dẫn xuất của nó Điều nảy dựa trên giả định răng các chức năng đắt tiền nhất bên trong trò chơi có thể được trừu tượng hóa khỏi logic trò chơi, do đó có thê sử đụng ngôn ngữ lập trình bậc cao, chăng hạn như Python, để cau trúc trò chơi

Các tính năng khác mà SDL không có bao gồm toán học vectơ, phát hiện va chạm, quản lý độ họa 2d, hỗ trợ MIDI, camera, thao tác mảng pixel, chuyên đổi, lọc, hỗ trợ phông chữ freetype nâng cao và vẽ

Các ứng dụng sử dụng pygame có thể chạy trên điện thoại và máy tính bảng Android với việc sử dụng Bộ phụ pygame cho Android (pgs4a) Âm thanh, rung, bản phím và g1a tốc kế được hỗ trợ trên Android

17

Trang 17

CHƯƠNG 2: ỨNG DỤNG THUẬT TOÁN BREADTH FIRST SEARCH XÂY DỰNG SNAKE GAME

2.I Thuật toán Breadth First Search

Trong quá trình đi đến đỉnh kè, tién hanh lưu lại đỉnh kề dé khi đi ngược lại từ đỉnh

kết thúc đến đỉnh xuất phát ta có được đường đi ngắn nhất

Mô tả thuật toán: Các đỉnh đã được xét thì không thể xét lại lần 2 nữa Cơ chế lưu

lại đỉnh kể sẽ là lưu các đỉnh kề thành 1 đanh sách và lấy từ từ danh sách các đỉnh kề

ra đề xét, khi mả một đỉnh kề của một đỉnh đang xét được thêm vào danh sách thì nó

sẽ được thêm vảo cuối của đanh sách hay còn gọi là cơ chế Queue(hàng đợi) Cơ chế này có nghĩa khi thêm một phân tử thì phan tử đó sẽ được thêm ở cuối danh sách hàng đợi, con lay phan tir ra thi sé lay ra ở đầu danh sách hảng đợi Đó chính là điểm nỗi bật

đề phân biệt thuật toán này với các thuật toán khác

1 Chọn nứcn đầu tiên của O và xóan khỏi O

2.lfn € Gï rem (đường đi tới n)

3 Thêm Pí(n) vào cuối O

Retum: Không có lời giải

Con trỏ ngược: Khi mở rộng một nút ta cần sử dụng con trỏ ngược đề ghi lại nút cha của nút vừa được mở ra Con trỏ này được sử đụng đề tìm ngược lại đường đi về trạng thái xuất phát khi tìm được trạng thái đích Khi ta cải đặt thuật toán, mỗi nút được biêu diễn bằng một cấu trúc dữ liệu có chứa một con trỏ được trỏ tới nút cha Các cải tiễn

Tránh xem xét lại các nút mở rộng: Việc xem xét lại các nút đã mở rộng có thé dan tới vòng lặp Mặc dù vòng lặp không ảnh hưởng tới khả năng tìm ra lời giải của tìm

Ngày đăng: 19/07/2024, 16:30

HÌNH ẢNH LIÊN QUAN

Hình  2.1  Sơ  đỗ  cây  19 - nghiên cứu và xâydựngtrò chơi rắn săn mồi sử dụng thuậttoán tìm kiếm theo chiều rộng bfs đề tài báo cáo
nh 2.1 Sơ đỗ cây 19 (Trang 5)
Hình  2.1  Sơ  đỗ  cây  Duyệt  các  đỉnh: - nghiên cứu và xâydựngtrò chơi rắn săn mồi sử dụng thuậttoán tìm kiếm theo chiều rộng bfs đề tài báo cáo
nh 2.1 Sơ đỗ cây Duyệt các đỉnh: (Trang 19)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w