⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rhythm_room.java

📁 j2me音樂考反應源代碼,適合新手遊戲開發者看
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                        centerImage = Image.createImage("/07.png");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                    g.fillArc(83 - r, 190 - r, 10, 10, 0, 360);
                    break;
                case 8:
                    try {
                        centerImage = Image.createImage("/08.png");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                    g.fillArc(56 - r, 162 - r, 10, 10, 0, 360);
                    break;
                case 9:
                    try {
                        centerImage = Image.createImage("/09.png");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                    g.fillArc(46 - r, 130 - r, 10, 10, 0, 360);
                    break;
                case 10:
                    try {
                        centerImage = Image.createImage("/10.png");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                    g.fillArc(56 - r, 93 - r, 10, 10, 0, 360);
                    break;
                case 11:
                    try {
                        centerImage = Image.createImage("/11.png");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                    g.fillArc(83 - r, 66 - r, 10, 10, 0, 360);
                    break;
                default:
                    ;
                }
            }
            //游戏主画面
            if (state == 1) {
                if (start1 == 0) {
                    removeCommand(enter); //去除enter Command;
                    removeCommand(help); //去除help Command;
                    removeCommand(replay);//去除replay Command;
                    removeCommand(record);//去除record Command;
                    addCommand(start); //加入start Command;
                } else {
                    removeCommand(start); //去除help Command;
                    addCommand(stop); //加入start Command;
                }
                width = getWidth();
                height = getHeight();

                if (flag == 0) {
                    g.drawImage(backImage, 0, 0, g.TOP | g.LEFT);
                    int r = 5;
                    g.setColor(0, 255, 0);
                    switch (startNum) {
                    case 0:
                        g.drawArc(120 - r, 56 - r, 10, 10, 0, 360);
                        break;
                    case 1:
                        g.drawArc(156 - r, 66 - r, 10, 10, 0, 360);
                        break;
                    case 2:
                        g.drawArc(182 - r, 93 - r, 10, 10, 0, 360);
                        break;
                    case 3:
                        g.drawArc(191 - r, 130 - r, 10, 10, 0, 360);
                        break;
                    case 4:
                        g.drawArc(182 - r, 164 - r, 10, 10, 0, 360);
                        break;
                    case 5:
                        g.drawArc(155 - r, 191 - r, 10, 10, 0, 360);
                        break;
                    case 6:
                        g.drawArc(120 - r, 200 - r, 10, 10, 0, 360);
                        break;
                    case 7:
                        g.drawArc(83 - r, 190 - r, 10, 10, 0, 360);
                        break;
                    case 8:
                        g.drawArc(56 - r, 162 - r, 10, 10, 0, 360);
                        break;
                    case 9:
                        g.drawArc(46 - r, 130 - r, 10, 10, 0, 360);
                        break;
                    case 10:
                        g.drawArc(56 - r, 93 - r, 10, 10, 0, 360);
                        break;
                    case 11:
                        g.drawArc(83 - r, 66 - r, 10, 10, 0, 360);
                        break;
                    default:
                        ;
                    }
                    switch ((startNum + counter) % 12) {
                    case 0:
                        try {
                            centerImage = Image.createImage("/00.png");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                        g.fillArc(120 - r, 56 - r, 10, 10, 0, 360);
                        break;
                    case 1:
                        try {
                            centerImage = Image.createImage("/01.png");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                        g.fillArc(156 - r, 66 - r, 10, 10, 0, 360);
                        AlertType.ALARM.playSound(display);
                        break;
                    case 2:
                        try {
                            centerImage = Image.createImage("/02.png");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                        g.fillArc(182 - r, 93 - r, 10, 10, 0, 360);
                        AlertType.ALARM.playSound(display);
                        break;
                    case 3:
                        try {
                            centerImage = Image.createImage("/03.png");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                        g.fillArc(191 - r, 130 - r, 10, 10, 0, 360);
                        AlertType.ALARM.playSound(display);
                        break;
                    case 4:
                        try {
                            centerImage = Image.createImage("/04.png");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                        g.fillArc(182 - r, 164 - r, 10, 10, 0, 360);
                        AlertType.ALARM.playSound(display);
                        break;
                    case 5:
                        try {
                            centerImage = Image.createImage("/05.png");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                        g.fillArc(155 - r, 191 - r, 10, 10, 0, 360);
                        AlertType.ALARM.playSound(display);
                        break;
                    case 6:
                        try {
                            centerImage = Image.createImage("/06.png");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                        g.fillArc(120 - r, 200 - r, 10, 10, 0, 360);
                        AlertType.ALARM.playSound(display);
                        break;
                    case 7:
                        try {
                            centerImage = Image.createImage("/07.png");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                        g.fillArc(83 - r, 190 - r, 10, 10, 0, 360);
                        AlertType.ALARM.playSound(display);
                        break;
                    case 8:
                        try {
                            centerImage = Image.createImage("/08.png");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                        g.fillArc(56 - r, 162 - r, 10, 10, 0, 360);
                        AlertType.ALARM.playSound(display);
                        break;
                    case 9:
                        try {
                            centerImage = Image.createImage("/09.png");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                        g.fillArc(46 - r, 130 - r, 10, 10, 0, 360);
                        AlertType.ALARM.playSound(display);
                        break;
                    case 10:
                        try {
                            centerImage = Image.createImage("/10.png");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                        g.fillArc(56 - r, 93 - r, 10, 10, 0, 360);
                        AlertType.ALARM.playSound(display);
                        break;
                    case 11:
                        try {
                            centerImage = Image.createImage("/11.png");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        g.drawImage(centerImage, 120, 130, g.VCENTER | g.HCENTER);
                        g.fillArc(83 - r, 66 - r, 10, 10, 0, 360);
                        AlertType.ALARM.playSound(display);
                        break;
                    default:
                        ;
                    }
                } else {
                    removeCommand(stop); //去除help Command;
                    addCommand(replay);
                    //显示game over	
                    Image helpImage = null;
                    try {
                        helpImage = Image.createImage("/result.png");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    g.drawImage(helpImage, 0, 0, g.TOP | g.LEFT);

                    //给出游戏结果和最终时间差(毫秒)
                    g.setColor(120, 240, 60);
                    g.drawString(canvas.timeOpinion(time3), 24, 40, g.LEFT | g.TOP);
                    g.drawString("您的误差是:", 80, 100, g.LEFT | g.TOP);
                    g.drawString(String.valueOf(time3), 100, 120, g.LEFT | g.TOP);
                    g.drawString("(毫秒)", 100, 140, g.LEFT | g.TOP);
                    if (anyRecord) {
                        if (time3 < recordTime) {
                            g.drawString("祝贺您!您打破了本机记录!", 20, 180, g.LEFT | g.TOP);
                            try {
                                rs = RecordStore.openRecordStore("LOCALRECORD", true);
                                recordTime = time3;
                                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                                DataOutputStream dos = new DataOutputStream(baos);
                                try {
                                    dos.writeLong(recordTime);
                                } catch (Exception e) {
                                }
                                byte[] data = baos.toByteArray();
                                rs.setRecord(1, data, 0, data.length);
                                rs.closeRecordStore();
                            } catch (RecordStoreException e) {
                            }
                        }
                    } else {
                        try {
                            rs = RecordStore.openRecordStore("LOCALRECORD", true);
                            recordTime = time3;
                            ByteArrayOutputStream baos = new ByteArrayOutputStream();
                            DataOutputStream dos = new DataOutputStream(baos);
                            try {
                                dos.writeLong(recordTime);
                            } catch (Exception e) {
                            }
                            byte[] data = baos.toByteArray();
                            rs.addRecord(data, 0, data.length);
                            rs.closeRecordStore();
                        } catch (RecordStoreException e) {
                        }
                    }
                }
            }
        }

        protected String timeOpinion(long gametime) {
            if (gametime > 2000) {
                return "天哪!您的节奏感……";
            } else if (gametime > 1000) {
                return "加油!请努力提高您的节奏感";
            } else if (gametime > 500) {
                return "不错!您的节奏感很正常";
            } else if (gametime > 200) {
                return"喔,您的节奏感很棒哦";
            } else if (gametime > 100) {
                return "祝贺您!您的节奏感非常细腻";
            } else if (gametime > 50) {
                return "您有着超凡的敏锐节奏感!!";
            } else {
                return "天哪,结果是真的吗?!";
            }
        }
    }
    class ClockTimerTask extends TimerTask {
        public final void run() {
            counter++;
            if (counter == 6) {
                timerTask.cancel();
                enable = 1;
                time1 = System.currentTimeMillis();
            }
            canvas.repaint();
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -