SKKN Sử dụng lập trình game để minh họa trò chơi đơn giản tạo hứng thú cho học sinh học môn tin 11

4.5/5

Giá:

100.000 đ
Cấp học: THPT
Môn: Tin học
Lớp: 11
Bộ sách:
Lượt xem: 531
File:
TÀI LIỆU WORD
Số trang:
46
Lượt tải:

8

Sáng kiến kinh nghiệm SKKN Sử dụng lập trình game để minh họa trò chơi đơn giản tạo hứng thú cho học sinh học môn tin 11 triển khai gồm các biện pháp nổi bật sau:

2.3.1. Nghiên cứu lý thuyết (Cơ sở khoa học)
2.3.3. Các ngôn ngữ lập trình game được sử dụng phổ biến nhất hiện nay
2.3.4. Ưu và nhược điểm của các ngôn ngữ lập trình
2.3.5. Lập trình game sử dụng ngôn ngữ Python
2.3.6. Một số game được lập trình bằng Python

Mô tả sản phẩm

PHẦN I. ĐẶT VẤN ĐỀ
Với sự phát triển của công nghệ, học sinh càng có nhiều cơ hội trong các hoạt động giải trí, trong đó các trò chơi thường có sức hấp dẫn lạ kỳ đối với lứa tuổi học sinh, trò chơi điện tử trở thành tâm điểm chú ý của mọi thế hệ trẻ, độ tuổi ham học hỏi thích sự sáng tạo, tìm tòi, khám phá cao. Nhiều người thường nghĩ chơi game là một hình thức giải trí vô bổ, tiêu tốn thời gian và ảnh hưởng tiêu cực tới sức khỏe. Tuy nhiên, xét về khía cạnh khoa học, chơi game một cách hợp lý có thể giúp bạn xả stress, kích thích phát triển trí não, phát triển kỹ năng giải quyết vấn đề và luyện phản xạ mắt.
Tổng thống Barack Obama đã phát biểu: “Đừng chỉ mua game, hãy tạo ra nó. Đừng chỉ chơi game trên điện thoại, hãy học cách lập trình game”. Học sinh nên học lập trình vì không chỉ giúp chúng thành công trong tương lai nhờ được học những thứ cần thiết còn khiến các em có thêm nhiều kỹ năng tốt trong tất cả các lĩnh vực. Học lập trình nghĩa là tìm ra một giải pháp hữu hiệu cho một vấn đề. Điều này có nghĩa không có một đáp án duy nhất, không có sai và đúng mà luôn hướng đến việc sửa chữa, tìm ra thứ tối ưu, thỏa mãn nhiều tiêu chí nhất.
Chúng tôi công tác và giảng dạy cũng hơn 12 năm, nhận thấy khi học lập trình học sinh thường không thích thú với môn Tin học, với nhiều lí do như: Khó hiểu, khô khan, đòi hỏi tư duy nhiều, các thuật ngữ bằng tiếng anh và nội dung liên quan đến toán học cũng là vấn đề đó, khó khăn làm cho HS học lập trình trở nên không hứng thú,… Do đó để học tốt đòi hỏi học sinh phải có hứng thú, đặc biệt với học sinh giỏi môn Tin học cần có sự đam mê, tìm tòi, yêu thích, học hỏi mới có thể gắn bó, theo học lâu dài môn học lập trình.
Cùng với các môn học khác trong nhà trường, Tin học là môn ứng dụng và khoa học thực nghiệm với phương pháp nghiên cứu chủ yếu là lý thuyết gắn với thực hành. Vì vậy trong giờ dạy Tin học nếu GV không tìm cách tổ chức hay minh họa một giờ dạy học sao cho hợp lý, sinh động, hấp dẫn thì rất khó lôi cuốn học sinh, giờ học sẽ tẻ nhạt, khô khan.
Để giờ dạy – học Tin học đạt kết quả tốt hơn, gây được hứng thú học tập và phát huy được tính tích cực của học sinh, GV cần phải thường xuyên đổi mới phương pháp dạy học và hình thức tổ chức các hoạt động dạy học. Một trong những hình thức dạy học đem lại hiệu quả cao là kết hợp tổ chức/ giới thiệu các trò chơi trong giờ dạy Tin học
Từ những lý do trên chúng tôi mạnh dạn đề xuất đề tài “Sử dụng lập trình game để minh hoạ trò chơi đơn giản tạo hứng thú cho học sinh học môn tin 11”. Muốn giới thiệu kinh nghiệm bản thân trong việc tạo hứng thú cho học sinh học lập trình, một khi đã có hứng thú kết hợp với phương pháp, công cụ lập trình Python, tạo ra các game đơn giản minh hoạ cho học sinh trong quá trình học chắc chắn các em sẽ yêu thích lập trình và học tốt môn này.
PHẦN II. NỘI DUNG NGHIÊN CỨU
2.1. Mục đích nghiên cứu
– Hướng dẫn quy trình thiết kế game, xây dựng và mô phỏng các trò chơi đơn giản trong dạy học lập trình câu lệnh rẽ nhánh và cấu trúc lặp trong chương trình THPT môn Tin học
– Rèn tư duy nhanh nhạy, kỹ năng quan sát, phân tích tổng hợp, khái quát hóa kiến thức, phát triển năng khiếu và óc phán đoán của học sinh.
– Thực hiện và vận dụng được yêu cầu đổi mới phương pháp dạy học hiện nay GV đóng vai trò là người tổ chức, hướng dẫn, điều khiển hoạt động của HS còn học sinh là đối tượng tham gia trực tiếp, linh hoạt, chủ động, sáng tạo trong các hoạt động học tập của mình tạo ra tính tò mò, không khí phấn khởi, hào hứng trong giờ học.
2.2. Nhiệm vụ nghiên cứu
– Xác định cơ sở lý luận của các câu lệnh trong ngôn ngữ lập trình Python
– Một số ngôn ngữ lập trình game mạnh nhất hiện nay
– Phương pháp thiết kế và lập trình game ứng dụng câu lệnh của Python
– Tiến hành thống kê chất lượng dạy học và thi HSG của học sinh và áp dụng dạy học thực nghiệm từ đó rút ra được hiệu quả và kết luận việc áp dụng minh họa game trong dạy học Tin học
2.3. Phương pháp nghiên cứu
2.3.1. Nghiên cứu lý thuyết (Cơ sở khoa học)
 Giới thiệu về game
Game là một trò chơi sử dụng các thiết bị điện tử để tạo ra một hệ thống tương tác mà người chơi có thể chơi. Về cơ bản game là 1 vòng lặp vô hạn với các chức năng sau:
– Hiển thị: Đã là game thì hiển thị không thể thiếu, lúc đầu chỉ làm cho phần hiển thị thật đơn giản, đừng quá chú tâm vào việc làm sao cho thật đẹp, chỉ làm tượng trưng thôi, khi nào game hoàn thiện cơ bản thì hãy chú tâm đến phần đẹp, việc đầu tiên là game phải chạy được đã.
– Nhận lệnh từ người chơi, điều khiển: Khi đã hiển thị được các phần của game ra màn hình thì tiếp theo việc cần làm là điều khiển, việc điều khiển được xem là phần khó nhất và quan trọng nhất của game, ở bước này muốn game của mình hay, hấp dẫn thì việc ứng dụng các kiến thức toán học, vật lí,… là không thể thiếu. Ví dụ: ứng dụng tốc độ rơi tự do trong game khủng long lúc rớt mạng mà các bạn vẫn quen thuộc, phương trình chuyển động của các nhân vật trong game,…
– Xử lí: Đây là 1 bước để tăng thêm độ hấp dẫn các game lập trình, phần này sẽ thiết lập 1 số các chức năng, vật phẩm (item), xử lí các trường hợp có thể xảy ra, …
– Win, lose: lập trình game về cơ bản là 1 vòng lặp vô hạn, để xử lí việc thắng hay thua game thì chỉ việc thoát vòng lặp game và thực hiện các chức năng khác.
 Tìm hiểu về lập trình game
– Lập trình game là xây dựng, thiết kế và phát triển game phục vụ người chơi. Nó là công việc phát triển và tạo ra tất cả các khía cạnh sáng tạo của game (trò chơi điện tử) trên nhiều nền tảng như máy tính, điện thoại di động,…nhằm tạo ra code để làm mọi hoạt động trong trò chơi. Trực tiếp nhận tương tác từ bên ngoài bằng những phím điều khiển và gamepad đến hiển thị màn hình.
Các ngôn ngữ có thể sử dụng để lập trình game là: Python, C, C++, C#, Java,…
– Các công việc cụ thể của lập trình game
 Viết ra ý tưởng, xây dựng câu chuyện cho trò chơi, đưa ra nhân vật và các tính cách trong game
 Lên kịch bản chi tiết cho các tình huống trong game
 Xác định cách thức game sẽ hoạt động, lên kế hoạch về các cấp độ game
 Thiết kế bố cục của trò chơi, thiết kế tạo hình nhân vật và bối cảnh game (phối hợp với designer)
 Lập trình bằng cách tạo mã, chỉnh sửa mã, kết hợp tính nghệ thuật vào trò chơi, tối ưu truy cập trực tuyến và tạo danh mục (menu) cho trò chơi Game Developer cũng có thể thực hiện nhiệm vụ kiểm tra game dưới vai trò của một GM (Game master). Nhiệm vụ của họ là kiểm tra và khắc phục sự cố chức năng của trò chơi mà họ đang xây dựng. Họ có thể tự phát hiện ra các lỗi hoặc được người chơi thông báo và sửa chúng.
2.3.2. Cơ sở thực tiễn
Hội nhập kinh tế quốc tế đòi hỏi về mặt con người khá toàn diện, ngoài trình độ chuyên môn đòi hỏi người Việt Nam còn phải sử dụng thành thạo máy vi tính, cập nhật công nghệ thông tin, nói thông viết thạo một số ngoại ngữ… Hiện nay một số bộ phận thanh thiếu niên có dấu hiệu thờ ơ và thiếu nghiêm túc trong việc học Tin học và cập nhật công nghệ thông tin dẫn đến trong quá trình phát triển kém, trong quan hệ cộng đồng khó khăn, thiếu niềm tin trong cuộc sống, ý chí hội nhập phát triển kém, không còn tính tự chủ dễ bị tụt hậu so với xã hội.
Những năm gần đây Tin học được đưa vào trường trung học phổ thông trong phạm vi cả nước, là môn học bắt buộc. Khi mới làm quen với Tin học các em tỏ ra rất hào hứng vì đây là một môn học khá mới mẻ, hiện đại và mang tính thực tế cao. Tuy nhiên sau một thời gian khi kiến thức đã khó hơn, nhất là kiến thức về lập trình thì học sinh lại có thái độ thờ ơ trong học tập cũng như vận dụng Tin học vào thực tế. Đặc biệt đối với học sinh trung học phổ thông thường chỉ chú tâm và nổ lực học tập các môn khối để ôn thi trung học phổ thông quốc gia nên vai trò của môn Tin học trong các em rất mờ nhạt. Bên cạnh đó, cơ sở vật chất phục vụ cho việc giảng dạy cho môn Tin ở các trường đang còn chưa đáp ứng, đặc biệt là phòng máy thực hành cho học sinh. Các em đang còn phải ngồi rất chật chội, thậm chí 3-4 học sinh/ 1 máy tính.Vì vậy, để tạo hứng thú, sự yêu thích, đam mê học Tin học cho học sinh là một vấn đề rất khó khăn.

2.3.3. Các ngôn ngữ lập trình game được sử dụng phổ biến nhất hiện nay
Game là một nền công nghiệp hot nhất hiện nay với rất nhiều tựa game và thể loại game. Để lập trình game cũng có rất nhiều ngôn ngữ lập trình nhưng phổ biến và mạnh nhất hiện nay gồm Python, C++, C#, Java, JavaScript, Objective-C, Lua,…tuy nhiên vì đề tài có hạn nên chúng tối chỉ giới thiệu một số loại sau
 Ngôn ngữ lập trình C#
C# là ngôn ngữ hướng đối tượng. Ngôn ngữ này nếu chưa học căn bản thì có thể rất khó với các học sinh, sinh viên. Nếu đã học C, C++ rồi thì học C# dễ chứ không đến nối khó. Nhưng khi học được ngôn ngữ này thì sẽ được một mũi tên trúng 3 đích hơn cả C++ bao gồm website, app, và game. Nếu dùng C# làm Ngôn Ngữ Lập Trình Game thì có những Engine sau đây hỗ trợ nó:
• Unity: hỗ trợ rất tốt không có điểm yếu
• Godot: Support vẫn khá còn yếu
• CryEngine: Đây là Engine được built từ c++ và nó hỗ trợ C#, Lua
• WaveEngine: Đây là Engine mà được tạo ra dựa trên C# cho phép bạn tạo game đa nên tảng
Các game nổi tiếng lập trình bằng C#: lag Pokemon Go và Super Mario Run
 Ngôn ngữ lập trình Python
Được tạo ra vào năm 1991 bởi một người đàn ông tên là Guido van Rossum, Python là ngôn ngữ lập trình có mục đích chung (general-purpose programming), nhấn mạnh tính năng hàng đầu của nó là dễ đọc.
Ngay từ những ngày đầu phát triển, Python đã được sử dụng đơn giản nhất có thể. Sự đơn giản thực sự là những gì nó được biết đến – Python sử dụng một lượng khoảng trắng dồi dào để làm cho mã code dễ đọc, do đó giúp cho việc trải nghiệm, học tập đơn giản và dễ chịu hơn
Python đây thật sự là 1 Ngôn Ngữ Lập Trình Game dễ hơn các ngôn ngữ lập trình khác. Python được ứng dụng trong game tương đối đa số là Engine game.
Python cũng được đánh giá khá cao trên bảng xếp hạng. Với Engine hỗ trợ thì có:
– Godot Engine: luôn hỗ trợ như C# – Unity. Ngôn ngữ riêng của Engine này sử dụng GDScript dựa trên Python và Lua. Hầu hết là Python, Lua chiếm khá là ít. Support 2D & 2.5D & 3D
– Cocos2D Engine: Support giống Godot.
– Panda3D: tương tự C## (3D)
– Pygame: làm game ổn định
Với cấu trúc đơn giản, không quá chú trọng về cú pháp mà tập trung vào sức sáng tạo chức năng câu lệnh của người viết nên Python rất phù hợp với người mới bắt đầu học lập trình. Các trò chơi phổ biến bao gồm: Snake rắn săn mồi, Tetris, Space Invader, Sudoku, Tom Clancy’s Politika hoặc Roboforge, Disney’s Toontown Online,…
 Ngôn ngữ lập trình C++
Ngày nay, hầu hết các game “chuyên nghiệp” được viết trên nền tảng C++ (game engine). C++ là một ngôn ngữ “hướng đối tượng”. Lập trình hướng đối tượng (OOP) là một chủ đề rất rộng vượt ra ngoài phạm vi của đề tài này, C++ là nơi tất cả các hành động có thể thực hiện và xử lý được tổ chức thành một danh sách lớn gọi là các “hàm”, lập trình hướng đối tượng cung cấp một cách để cấu trúc tất cả những hành động và quá trình thành một hệ thống các”classes” với các dữ liệu và các hàm liên quan chặt chẽ với nhau.
C++ được dùng để tạo ra rất nhiều game như caro nổi tiếng trên thế giới như World of Warcraft, Diablo series, StarCraft series, Doom 3, Team Fortress 2, Counter-Strike, Warcraft III, Football Pro, Master of Orion III… Và tất nhiên cũng có rất nhiều engine game sử dụng C++ để phát triển như Unreal
Engine, Coscos2dx framework,…
Tuy nhiên với đề tài có hạn, chúng tôi chỉ giới thiệu một số game phổ biến phù hợp với lứa tuổi học sinh và liên quan đến câu lệnh và cấu trúc lặp đơn giản, dễ học, dễ nhớ.
2.3.4. Ưu và nhược điểm của các ngôn ngữ lập trình
Để tìm ngôn ngữ phù hợp cho các bạn học sinh ta tìm ưu điểm và nhược điểm của các ngôn ngữ lập trình này nhé  Python với C++
Ưu điểm:
– C++ tạo đồ họa lõi cứng và các game nặng, hiệu năng tức tốc độ nhanh hơn, phát triển trò chơi chiếm ưu thế, linh hoạt hơn. C++ cũng có thể học máy nhưng không tốt bằng
– Python có cú pháp đơn giản hơn, mã code dễ đọc, phù hợp với người mới bắt đầu dễ học dễ hiểu, python coi phần cuối là của dòng là phần cuối của câu lệnh.
Python là ngôn ngữ hàng đầu về phân tích dữ liệu và học máy
– Phát triển trò chơi thì python phù hợp cho người mới bắt đầu như HS, còn C++ phù hợp cho chuyên nghiệp hơn dành cho chuyên da.
 Nhược điểm:
– C++ Cú pháp phức tạp đòi hỏi phải suy ngấm ở chỗ C, C++ đều sử dụng dấu ngoặc nhọn và dấu chấm phẩy, còn Python sử dụng sự thụt lề. Một tính năng khác quan trong của python nó là ngôn ngữ được dịch. C++ dành cho những người có kinh nghiệm nó nhanh hơn và tích hợp với framewwork.net trên nền tảng microshoft word
– Python thường chậm hơn do giải mã code
Ví dụ: đoạn code in ra lời chào “xin chao Hoan”
C++ python

Mất 7 dòng lệnh Chỉ cần 1 dòng lệnh
 Ưu điểm của Python so với C#
– Python có nhiều lợi thế hơn trong việc phát triển dự án, chẳng hạn như tốc độ tương đối nhanh và dễ dàng hơn. Còn C# cần nhiều bước build và biên dịch không cần thiết.
– Đối lập với C# vốn dĩ chỉ nằm trong vũ trụ Microsoft (mãi đến năm 2017 mới thực sự trở thành ngôn ngữ mã nguồn mở), thì Python lại có tất cả những điều đó và trở nên nổi tiếng với người dùng chỉ sau vài ngày ra mắt. Bên cạnh đó, Python cũng có cộng đồng lập trình viên lớn hơn rất nhiều so với C#, với số lượng người đóng góp lớn thứ 3 trên Github trong khi với C# lại chỉ đứng thứ 8.
– Không giống với C# dựa trên 100% concept OOP, thì Python còn hỗ trợ thêm nhiều mô hình lập trình khác nữa như (lập trình thủ tục, lập trình hàm, v.v…) – Có thể được tích hợp với các ngôn ngữ khác Java (JVM), .NET, C và cả Javascript trong khi C# chỉ có thể được hỗ trợ trên framework .NET (và với mình thì đây là nhược điểm lớn nhất mà C# có) cũng như những nền tảng khác sử dụng module của bên thứ ba đến từ Package Python Index (PyPI).
– Cú pháp của Python khá đơn giản và không đòi hỏi ở một người mới quá nhiều thời gian để làm quen, trong khi đối với C# thì bạn không thể viết ra một chương trình mà chẳng biết gì về việc biên dịch, namespace, class hay các phương thức của nó, v.v…
– Khi phát triển game engines thì C# có thể nhanh, nhưng tốc độ của nó lại không thể đánh bại được tốc độ phát triển siêu xịn xò đến từ Python.
– Sở hữu kho thư viện package khổng lồ và đa dạng hơn, rất nhiều code
– Ứng dụng C# vào machine learning, nhưng điều đó có vẻ khá khó khăn so với việc dùng Python.
 Nhược điểm của Python so với C#
– Python có một nhược điểm khá lớn khi lập trình so với C#, đó là bởi chính cơ chế Global Interpreter Lock (GIL) của mình nên việc sử dụng đa luồng đòi hỏi đa tiến trình. Trong khi với C# thì chuyện này dễ như ăn cháo nhờ sử dụng .NET framework
– Nhờ có sự hỗ trợ của framework Common Language Infrastructure mà C# có thể chạy nhanh và có hiệu suất cao hơn so với Python gấp 44 lần. Có thể C# khiến bạn mất khá nhiều thời gian cho việc viết code nhưng lại giúp bạn trải nghiệm tốt hơn khi chạy ứng dụng.

TÀI LIỆU LIÊN QUAN

10
Tin học
4.5/5
TÀI LIỆU WORD

100.000 

10
Tin học
4.5/5
TÀI LIỆU WORD

100.000 

Theo dõi
Thông báo của
guest
Phản hồi nội tuyến
Xem tất cả bình luận
Set your categories menu in Theme Settings -> Header -> Menu -> Mobile menu (categories)
Shopping cart

KẾT NỐI NGAY VỚI KIẾN EDU

Chúng tôi luôn sẵn sàng lắng nghe và đưa ra giải pháp phù hợp nhất cho vấn đề của bạn.

0886945229

Email

kienedu.com@gmail.com

Đây chỉ là bản XEM THỬ - khách hàng vui lòng chọn mua tài liệu và thanh toán để nhận bản đầy đủ

TẢI TÀI LIỆU

Bước 1: Chuyển phí tải tài liệu vào số tài khoản sau với nội dung: Mã tài liệu

Chủ TK: Ngô Thị Mai Lan

STK Agribank: 2904281013397 Copy
* (Nếu khách hàng sử dụng ngân hàng Agribank thì chuyển tiền vào STK Agribank để tránh bị lỗi treo giao dịch)
STK Vietcombank: 1037627258 Copy
vietcombank

Bước 2: Gửi ảnh chụp giao dịch vào Zalo kèm mã tài liệu để nhận tài liệu qua Zalo hoặc email

Nhắn tin tới Zalo Kiến Edu (nhấn vào đây để xác nhận và nhận tài liệu!)