ערכתי לאחרונה בתאריך 02.09.06 בשעה 18:08 בברכה, Gh0sT_d0g
הי
לא מזמן עשינו בקורס שלי משחק טוויסטר של כל הקורס, וכיאה לקורס של תכניתנים - ראוי שהוא יהיה כמה שיותר ממוחשב וטכנולוגי 
אני מביא לכם את התכנית שכתבתי לצורך העניין - תכנית לפלאפון שכתובה בטכנולוגיית J2ME (שפת JAVA לפלאפונים) שעושה את ההגרלה של האיבר (יד ימין, רגל שמאל...) והצבע עליו יש להניח את האיבר (אדום, ירוק..).את התכנית ניתן להשיג כאן:
http://www.planetnana.co.il/gdog/Twister.jar
(אפשר להיכנס דרך הפלאפון ישירות ללינק ואז הוא מתקין את התכנית אוטומטית).
*הבהרה: פירסום התכנית והקוד מקור הוא למטרות לימודיות בלבד!
הקוד מקור:
package twister; import java.util.Random; import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.AlertType; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.Item; import javax.microedition.lcdui.StringItem; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class Twister extends MIDlet implements CommandListener { Command cmdGenerate = new Command("Regenerate", Command.BACK, 1); Command cmdAbout = new Command("About", Command.ITEM, 1); Display phoneDisplay = null; Random rand = new Random(); String organs = {"רגל","יד"}; String sides = {"ימין","שמאל"}; String colors = {"אדום", "כחול", "צהוב","ירוק"}; public Twister() { // The seed makes the random funcion more effective rand.setSeed(System.currentTimeMillis()); } protected void destroyApp(boolean arg0) throws MIDletStateChangeException {} protected void pauseApp() {} protected void startApp() throws MIDletStateChangeException { phoneDisplay = Display.getDisplay(this); Form mainForm = new Form("Twister"); // Creates the organ selector StringItem nextOrgan = new StringItem("טרם נקבע..", null); nextOrgan.setLayout(Item.LAYOUT_RIGHT); mainForm.append(nextOrgan); StringItem nextOrganLbl = new StringItem(null, "האיבר הבא הוא:"); nextOrganLbl.setLayout(Item.LAYOUT_RIGHT | Item.LAYOUT_NEWLINE_AFTER); mainForm.append(nextOrganLbl); // Creates the color selector StringItem nextColor = new StringItem("טרם נקבע..", null); nextColor.setLayout(Item.LAYOUT_RIGHT); mainForm.append(nextColor); StringItem nextColorLbl = new StringItem(null, "להניח בצבע:"); nextColorLbl.setLayout(Item.LAYOUT_RIGHT | Item.LAYOUT_NEWLINE_AFTER); mainForm.append(nextColorLbl); mainForm.addCommand(cmdGenerate); mainForm.addCommand(cmdAbout); phoneDisplay.setCurrent(mainForm); mainForm.setCommandListener(this); } // Get random number up until the argumented untilWhen number private int rand(int untilWhen) { int udini = rand.nextInt() % (untilWhen + 1); return Math.abs(udini); } // This function returns the oragan and its side by int values private String getBodyOrgan(int org, int side) { return organs + " " + sides; } public void commandAction(Command arg0, Displayable arg1) { if (arg0.equals(cmdGenerate)) { // Sets the body organ on the currect label from the form ((StringItem)((Form)arg1).get(0)).setLabel(getBodyOrgan(rand(1), rand(1))); // Sets the color on the currect label from the form ((StringItem)((Form)arg1).get(2)).setLabel(colors); } else if (arg0.equals(cmdAbout)) { Alert about = new Alert(null, "Twister\nVersion: 1.0\nDeveloped by\nGh0sT d0g", null, AlertType.INFO); about.setTimeout(5000); Display.getDisplay(this).setCurrent(about, arg1); } } }
|
אם הנושא מעניין אתכם, יש מדריך טוב ב upload.co.il תחת JAVA->פיתוח לניידים.
אם יהיה ביקוש אני גם אעלה את המצגת של ההרצאה שהעברתי לקורס שלי לא מזמן על הנושא.
הערה טכנית:
התכנית נכתבה עבור קונפיגורציה CLDC 1.0 ופרופיל MIDP 2.0 (ומעלה).
ואמורה לעבוד על כל מכשיר שתומך בזה (כמעט כל מכשיר נוקיה חדש יחסית, סוני אריקסון ועוד ועוד) אם אתם לא בטוחים אם המכשיר שלכם תומך או לא תומך - תעשו חיפוש בגוגל:
<שם ודגם המכשיר> MIDP CLDC
אני בטוח שבתוצאות אתם תגלו את הגרסא אשר נתמכת במכשיר שלכם עבור כל אחד מהרכיבים.
תהנו! ואם יש לכם שאלות - בכיף!