เกมจับผิดรูปอิโมจิ

ผู้เขียนบทความ : นาย ณัฐวุฒิ ดวงทอง รหัส 167404130025

คณะวิศวะกรรมศาสตร์ : สาขาวิศวกรรมไฟฟ้า

วิชา : 04000104 การโปรแกรมคอมพิวเตอร์ 1/2567

1.ความเป็นมา

เนื่องจากปัจจุบัน การเรียนรู้และพัฒนาทักษะต่าง ๆ ด้วยรูปแบบของเกมเป็นวิธีที่ได้รับความนิยม โดยเฉพาะการพัฒนาความจำและการสังเกตผ่านเกมที่ออกแบบมาอย่างเหมาะสม ซึ่งนอกจากจะช่วยเพิ่มทักษะด้านการจดจำแล้ว ยังสร้างความบันเทิงและผ่อนคลายให้กับผู้เล่นด้วย ดังนั้นโปรเจกต์นี้จึงถูกพัฒนาขึ้นเพื่อสร้างเกมง่าย ๆ ที่ช่วยเสริมสร้างทักษะดังกล่าวโดยใช้รูปอิโมจิที่ผู้คนคุ้นเคย

2. วัตถุประสงค์

-เพื่อพัฒนาโปรแกรมเกมที่ช่วยเสริมสร้างความจำและความสามารถในการสังเกตของผู้ใช้งาน

-เพื่อทดสอบทักษะการเลือกสิ่งที่แตกต่างออกจากกลุ่มของผู้ใช้งาน

-เพื่อสร้างโปรแกรมที่มีการจับเวลาและเก็บสถิติ เพื่อให้ผู้เล่นสามารถติดตามความก้าวหน้าของตนเองได้

3.ขอบเขตการทำงาน

-เกมจะมีรอบการเล่นทั้งหมด 5 รอบ โดยในแต่ละรอบจะมีอิโมจิที่แตกต่างกันหนึ่งอันจากกลุ่ม 25 รูป

-ผู้เล่นต้องเลือกอิโมจิที่แตกต่างออกจากกลุ่มภายในเวลาอันรวดเร็ว

-โปรแกรมจะจับเวลาและแสดงผลลัพธ์เวลาสะสมทั้งหมดหลังจากเล่นครบ 5 รอบ

-โปรแกรมจะมีฟังก์ชันเริ่มใหม่และการเก็บสถิติ 5 ครั้งล่าสุด

4.ประโยชน์ที่คาดว่าจะได้รับ

-ผู้เล่นสามารถพัฒนาทักษะการสังเกตและความจำผ่านเกมที่สร้างความบันเทิง

-สามารถฝึกความรวดเร็วในการตัดสินใจและการสังเกตความแตกต่าง

-ผู้ใช้งานสามารถติดตามและเปรียบเทียบเวลาที่ใช้ในแต่ละรอบ ซึ่งอาจช่วยในการพัฒนาทักษะให้ดีขึ้น

5.ความรู้ที่เกี่ยวข้อง

-ความรู้พื้นฐานด้านการพัฒนาเว็บโดยใช้ HTML, CSS, และ JavaScript

-ทฤษฎีด้านความจำและการสังเกต รวมถึงวิธีการออกแบบ UI ที่ช่วยเสริมการฝึกทักษะเหล่านี้

-การจับเวลาและการเก็บสถิติในการพัฒนาเกม เพื่อให้ผู้เล่นสามารถวัดผลและเห็นความก้าวหน้า

6.การดำเนินงาน

-ขั้นตอนการวิเคราะห์และออกแบบ เพื่อกำหนดรูปแบบเกมและ UI ที่เหมาะสม

-การเขียนโค้ด HTML, CSS และ JavaScript เพื่อสร้างหน้าเว็บเกมและฟังก์ชันการทำงาน

-การทดสอบการทำงานของโปรแกรม โดยให้ผู้เล่นทดลองใช้งานและปรับปรุงตามผลตอบรับ

7.วิธีใช้งานโปรแกรม

-กดปุ่ม “เริ่มเกม” เพื่อเริ่มรอบการเล่นใหม่

-ในแต่ละรอบ ให้คลิกที่อิโมจิที่แตกต่างจากกลุ่มให้เร็วที่สุด

-เมื่อเล่นครบ 5 รอบ โปรแกรมจะแสดงเวลาที่ใช้รวมทั้งหมด

-กด “เริ่มเกม” ใหม่ เพื่อเล่นอีกครั้งและรีเซ็ตสถิติ

8. การทดลอง

-ทดลองใช้งานโปรแกรมเพื่อวัดความแม่นยำของการจับเวลาและความถูกต้องในการแสดงผลลัพธ์

-ทดสอบให้ผู้เล่นลองเล่นหลายรอบเพื่อประเมินความรวดเร็วในการสังเกตและเลือกอิโมจิที่แตกต่าง

-ตรวจสอบการเก็บสถิติ 5 ครั้งล่าสุดว่าถูกต้องและสามารถแสดงผลได้อย่างเหมาะสม

9.สรุปผลและข้อเสนอแนะนำ

-โปรแกรมสามารถทำงานได้ตามวัตถุประสงค์ โดยช่วยพัฒนาทักษะการสังเกตและความจำของผู้เล่นได้ดี

-ควรพิจารณาปรับปรุงในด้าน UI/UX เพิ่มเติม เช่น การปรับขนาดและสีของอิโมจิ เพื่อให้เหมาะกับกลุ่มผู้ใช้งานที่หลากหลายมากขึ้น

-อาจพิจารณาเพิ่มระดับความยากของเกมในเวอร์ชันถัดไป เพื่อสร้างความท้าทายให้กับผู้เล่น

Code Games

<!DOCTYPE html>
<html lang="th">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>เกมจำผิดรูปอิโมจิ</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            height: 100vh;
            margin: 0;
            background-color: #f0f0f0;
        }
        h1 {
            color: #333;
        }
        #emoji-grid {
            display: grid;
            grid-template-columns: repeat(5, 60px);
            gap: 10px;
            margin-top: 20px;
        }
        .emoji {
            font-size: 40px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        #result {
            margin-top: 20px;
            font-size: 1.2em;
            color: green;
        }
        #score, #timer {
            margin-top: 10px;
            font-size: 1.1em;
        }
        #score {
            color: blue;
        }
        #timer {
            color: red;
        }
        #start-button {
            padding: 10px 20px;
            font-size: 1.1em;
            margin-top: 20px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <h1>เกมจำผิดรูปอิโมจิ</h1>
    <button id="start-button" onclick="startGame()">เริ่มเกม</button>
    <div id="emoji-grid"></div>
    <div id="result"></div>
    <div id="score">รอบที่: 1/5</div>
    <div id="timer">เวลา: 0.00 วินาที</div>

    <script>
        const emojiList = ["😀", "😁", "😂", "😃", "😄", "😆", "😉", "😊"];
        const emojiGrid = document.getElementById("emoji-grid");
        const resultText = document.getElementById("result");
        const scoreText = document.getElementById("score");
        const timerText = document.getElementById("timer");
        const startButton = document.getElementById("start-button");

        let round = 1;
        const totalRounds = 5;
        let startTime, timerInterval;
        let totalElapsedTime = 0; // ตัวแปรสะสมเวลารวม

        function startTimer() {
            startTime = Date.now();
            timerInterval = setInterval(() => {
                const elapsedTime = (Date.now() - startTime) / 1000;
                timerText.textContent = `เวลา: ${(totalElapsedTime + elapsedTime).toFixed(2)} วินาที`;
            }, 100);
        }

        function stopTimer() {
            clearInterval(timerInterval);
            const roundElapsedTime = (Date.now() - startTime) / 1000;
            totalElapsedTime += roundElapsedTime; // เพิ่มเวลาของรอบนี้เข้าเวลารวม
        }

        function generateEmojis() {
            emojiGrid.innerHTML = "";
            resultText.textContent = "";
            scoreText.textContent = `รอบที่: ${round}/${totalRounds}`;
            timerText.textContent = `เวลา: ${totalElapsedTime.toFixed(2)} วินาที`; // แสดงเวลารวม

            const randomEmoji = emojiList[Math.floor(Math.random() * emojiList.length)];
            const oddEmoji = emojiList[Math.floor(Math.random() * emojiList.length)];
            const oddIndex = Math.floor(Math.random() * 25);

            startTimer(); // เริ่มจับเวลาเมื่อเริ่มรอบใหม่

            for (let i = 0; i < 25; i++) {
                const emojiDiv = document.createElement("div");
                emojiDiv.classList.add("emoji");

                if (i === oddIndex) {
                    emojiDiv.textContent = oddEmoji;
                    emojiDiv.addEventListener("click", () => {
                        stopTimer(); // หยุดจับเวลาหากตอบถูก
                        resultText.textContent = "คุณเลือกถูกต้อง!";
                        if (round < totalRounds) {
                            round++;
                            setTimeout(generateEmojis, 1000);
                        } else {
                            resultText.textContent = `จบเกม! คุณใช้เวลารวมทั้งหมด: ${totalElapsedTime.toFixed(2)} วินาที`;
                            startButton.style.display = "block"; // แสดงปุ่มเริ่มเกมใหม่หลังจบเกม
                        }
                    });
                } else {
                    emojiDiv.textContent = randomEmoji;
                    emojiDiv.addEventListener("click", () => {
                        resultText.textContent = "ลองใหม่อีกครั้ง!";
                    });
                }
                emojiGrid.appendChild(emojiDiv);
            }
        }

        function startGame() {
            round = 1; // รีเซ็ตจำนวนรอบ
            totalElapsedTime = 0; // รีเซ็ตเวลารวม
            timerText.textContent = `เวลา: 0.00 วินาที`; // รีเซ็ตแสดงผลเวลาเป็น 0
            startButton.style.display = "none"; // ซ่อนปุ่มเริ่มเกม
            generateEmojis();
        }
    </script>
</body>
</html>

You may also like...

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *