โปรแกรม เมโทรโนม บนมือถือ
   กำลังร้อนวิชา การเขียนโปรแกรม บนมือถืออยู่
พรุ่งนี้ต้องเอาไปหากิน พอดีคุณ Nurng แนะนำว่าลองเขียน เมโทรโนมบนมือถือดูซิ
ใช้เวลาไม่นานคะ ก็ได้ เวอร์ชั่นแรกออกมา เอาไว้หากินพรุ่งนี้ได้
คือว่า ถ้น้องๆาอ่านแล้วไม่เข้าใจก็อย่าตกใจนะคะ ที่โพสต์เป็น Program Source code
เพื่อว่าใครรู้วิธี Compile แล้วโหลดเข้ามือถือก็จะฝช้ได้แบบกล้อมแกล้มคะ
เขียนเอง แจกเอง ไม่ต้องกลัวเรื่องลิขสิทธิ์
โดย: เมโลดี้ [28 มิ.ย. 50 23:22] ( IP A:124.121.37.95 X: )
Add to Facebook  Add to Twitter  Add to Multiply  Add to Google  Add to Blogger  Add to Live
ความคิดเห็นที่ 1
   //Metronome.java
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;

public class Metronome extends MIDlet implements CommandListener{
private Display display;
private Metronome2 metronomeCanvas;
private Command exitCommand, stopCommand, startCommand;

public void startApp(){
display = Display.getDisplay(this);
metronomeCanvas = new Metronome2();
exitCommand = new Command("Exit", Command.EXIT,1);
metronomeCanvas.addCommand(exitCommand);
stopCommand = new Command("Stop", Command.CANCEL,2);
startCommand = new Command("Start", Command.OK,2);
metronomeCanvas.addCommand(stopCommand);
metronomeCanvas.setCommandListener(this);
metronomeCanvas.start();
display.setCurrent(metronomeCanvas);
}
public Display getDisplay() {
return display;
}
public void pauseApp(){
}
public void destroyApp(boolean unconditional){
}
public void commandAction(Command command, Displayable screen){
if (command == exitCommand){
metronomeCanvas.stop();
destroyApp(false);
notifyDestroyed();
}
else if (command == stopCommand){
metronomeCanvas.stop();
metronomeCanvas.removeCommand(stopCommand);
metronomeCanvas.addCommand(startCommand);
metronomeCanvas.setCommandListener(this);
}
else if (command == startCommand) {
metronomeCanvas.removeCommand(startCommand);
metronomeCanvas.addCommand(stopCommand);
metronomeCanvas.setCommandListener(this);
metronomeCanvas.start();
}
}
}
โดย: เมโลดี้ [28 มิ.ย. 50 23:23] ( IP A:124.121.37.95 X: )
ความคิดเห็นที่ 2
   //Metronome2.java
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;

public class Metronome2 extends GameCanvas implements Runnable
{
private boolean isPlay=true;
private long delay=0;
private int w;
private int h;
int midw = w/2;
int count = 0;
int line2 = 0;
int line1 = 0;
int lOne, lTwo, lThree, lFour, lFive;
boolean forwardFlag=true;
byte s = ToneControl.C4+12;
int loud = 360;
int howLong = 1000;

public Metronome2(){
super(true);
w = getWidth();
h = getHeight();
midw = w/2;
delay = 500;
lOne = 0;
lTwo = w/4;
lThree = w/2;
lFour = w*3/4;
lFive = w;
}
public void start(){
System.out.println("Start");
isPlay = true;
Thread t = new Thread(this);
t.start();
}
public void stop(){
System.out.println("stop");
isPlay = false;
}
public void run(){
System.out.println("run");
Graphics g = getGraphics();
while (isPlay==true)
{
input();
drawScreen(g);
try {
Thread.sleep(delay);

if (count == 0){
Manager.playTone(s, howLong, loud);
if(forwardFlag == true){
line2 = lFive;
line1 = lOne;
count=count+1;
} else {
line2 = lTwo;
line1 = lOne;
count=count+1;
forwardFlag = true;
}
}
else if (count == 1){
Manager.playTone(s, howLong, loud);
if(forwardFlag == true){
line2 = lOne;
line1 = lTwo;
count=count+1;
} else {
line2 = lThree;
line1 = lTwo;
count=count-1;
}
}
else if (count == 2){
Manager.playTone(s, howLong, loud);
if(forwardFlag == true){
line2 = lTwo;
line1 = lThree;
count=count+1;
} else {
line2 = lFour;
line1 = lThree;
count=count-1;
}
}
else if (count == 3){
Manager.playTone(s, howLong, loud);
if(forwardFlag == true){
line2 = lThree;
line1 = lFour;
count=count+1;
} else {
line2 = lFive;
line1 = lFour;
count=count-1;
}
}
else if (count == 4){
Manager.playTone(s, howLong, loud);
if(forwardFlag == true){
line2 = lFour;
line1 = lFive;
count=count-1;
forwardFlag = false;
}
}
}
catch (InterruptedException ie){}
catch (MediaException me) {}
}
}

private void drawScreen(Graphics g) {
g.setColor(0xFFFFFF);
g.drawLine(midw,h,line2,40);
g.setColor(0x000000);
g.drawLine(midw,h,line1,40);
flushGraphics();
}
private void input() {
int keyStates = getKeyStates();
if (keyStates == UP_PRESSED){
delay = delay-10;
}
if (keyStates == DOWN_PRESSED){
delay = delay+10;
}
if ((keyStates==LEFT_PRESSED)||(keyStates==RIGHT_PRESSED)){
stop();
}
}
};
โดย: เมโลดี้ [28 มิ.ย. 50 23:23] ( IP A:124.121.37.95 X: )
ความคิดเห็นที่ 3
   อย่าเพิ่งตกใจนะคะ ไว้อารมย์ดี จะเอาไปเขามือถือ
เจอกัน ก็ใช้ bluetooth ส่งให้กันได้คะ
ใช้ได้กับมือถือที่ใช้โปรแกรมจาวาได้นะคะ
โดย: เมโลดี้ วันนี้ไฮเทค [28 มิ.ย. 50 23:25] ( IP A:124.121.37.95 X: )
ความคิดเห็นที่ 4
   พี่เมโลดี้เก่งคอมนินา

ทำให้ลิงหน่อย อ่าหิหิหิหิ


ขอบคุณล่วงหน้านะครับ แต่เอาโค้ดมา
ลิงก้อโง่ทำไม่เป็นอยู่ดีครับ แหะๆ
โดย: ลิงน้อย วันนี้โลเทค [28 มิ.ย. 50 23:27] ( IP A:58.8.119.38 X: )
ความคิดเห็นที่ 5
   ขอบคุณครับ ไม่เคยลองเอาโปรแกรมลงมือถืออ่ะ เดี๋ยวจะลองทำดู
โดย: เอ๊ด [29 มิ.ย. 50 13:05] ( IP A:58.10.74.111 X: )
ความคิดเห็นที่ 6
   ป๋าอ่านแล้วมึนติ๊บ เขียน program note ง่ายก่าเยอะเลย
โดย: ป๋า [29 มิ.ย. 50 14:21] ( IP A:124.120.129.58 X: )
ความคิดเห็นที่ 7
   คือแบบว่าต้องหัดทำไว้บ้างคะ ไม่งั้นสอนเด็กๆไม่ได้
แต่ว่าปรากฎว่าเขียนผิดซะบานเลย
โชคดีว่าเด็กๆที่สอนไม่รู้จักว่า เมโทรโนมคืออะไร หุ หุ หุ
เดี๋ยวเอาไว้แก้ให้เป็นเวอร์ชั่ร 2 ก่อนน่าจะดีขึ้น
จะได้ไม่ต้องไปซื้อเมทรโนมอิเลคโทรนิคไง ใช้มือถือทำได้ทุกอย่าง
โดย: เมโลดี้ [29 มิ.ย. 50 16:52] ( IP A:202.28.180.201 X: )
ความคิดเห็นที่ 8
   ขอบคุณครับ ว่าแต่ขอเป็น Bluetooth ดีกว่าครับ เหอๆ
โดย: Nurng [29 มิ.ย. 50 19:06] ( IP A:67.15.183.3 X: )
ความคิดเห็นที่ 9
   โห ไม่ต้องซื้อเมโทรโนมกันแล้ว
โดย: tung+ [30 มิ.ย. 50 23:08] ( IP A:124.121.97.154 X: )
ความคิดเห็นที่ 10
   ขอบ้างค่า
โดย: ninjalee [9 ก.ค. 50 20:22] ( IP A:58.9.176.110 X: )
ความคิดเห็นที่ 11
   แฮ่ๆขออภัยคะ เวอร์ชั่นนี้ยังใช้ไม่ค่อยได้
ขออนุญาติปรับปรุงแก้ไขก่อนแล้วค่อยแจกคะ
อีกโปรแกรมที่ทำได้ง่ายๆเลยก็คือ pitch pipe คะ
ส่วนการทำให้มือถือเป็นเครื่องเทียบเสียงตอนนี้กำลังศึกษาอยู่
โดย: เมโลดี้่ [9 ก.ค. 50 22:28] ( IP A:124.121.32.197 X: )
ความคิดเห็นที่ 12
   พี่ค่ะ ถ้าจะทำเกมแข่งวิ่งหมูบนมือถือล่ะค่ะ พี่เขียนโค้ดคราวๆให้ดูหน่อยได้ไหมค่ะ หนูอยากทำค่ะ รู้สึกยากจัง..... ขอบคุณค่ะ
โดย: ต่ายค่ะ//doraemon_316@hotmail.com [30 มิ.ย. 51 15:47] ( IP A:203.113.116.59 X: )
ความคิดเห็นที่ 13
   พี่ค่ะ อยากทำเกมแข่งวิ่งหมูบนมือถืออ่ะค่ะ แต่เริ่มไม่ถูกค่ะ พี่ช่วยแนะนำหน่อยนะค่ะ....ขอบคุณค่ะ
โดย: ต่ายค่ะ//doraemon_316@hotmail.com [30 มิ.ย. 51 15:49] ( IP A:203.113.116.60 X: )


คลิก เพื่อเปลี่ยนกลับไปแสดงความคิดเห็นแบบเดิม

ชื่อไฟล์รูปห้ามมีอักขระพิเศษ เช่น (#),(<),(>),(&) เป็นต้นค่ะ
ชื่อ / e-mail :    แทรกไอคอนน่ารักๆในข้อความ
e-mail :
ส่งอีเมลทุกครั้งที่มีการตอบกระทู้       (ใส่ Email เมื่อต้องการให้ส่ง Email เมื่อมีคนมาโพสในกระทู้)


CAPTCHA code



คลิกที่นี่เพื่อกลับหน้าบ้าน