الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أريد ألعاب تعليمية للجوال كما في الصورة المرفقة

مغلق
بدأه sih في 3 يونيو 2006 · 10 رد · 1,078 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

أريد ألعاب تعليمية للجوال كما في الصورة المرفقة

----------------------------

في الصورة المرفقة لعبة لتحفيظ معاني كلمات اللغة الإنجليزية

رائعة وبسيطة ومسلية أتوقع أن برمجتها للجوال غير معقدة

خصوصاً إذا جعلنا المستخدم هو الذي يتولى الإضافة والحذف في الكلمات ومعانيها

ضمن خيارات البرنامج لكي لا يطول الوقت على المبرمج .

أو نضع الكلمات ومعانيها في ملف txt يوضع ضمن دليل src يكون أسهل للتحرير

---------------------------

هل يتبرع أحد الإخوة المحترفين بعمل مشابه ويهديه لهذا المنتدى ؟؟

وإذا كان يوجد ألعاب تعليمية مثل هذه اللعبة لأي مجال تعليمي أرجو التوجيه لذلك

مع جزيل الشكر .

eng.zip

#2

بحاجة الى قاموس انجليزي عربي

تم تعديل هذه المشاركة بواسطة مجدي محمود في 3 يونيو 2006 في 16:15

لست متواجد بشكل يومي

#3

أما أنه ييحتاج قاموس فلا داعي للقاموس هو عبارة عن لعبة بدائية

يكفي لها عشرات الكلمات التي يضيفها المستخدم لنفسه لكي يتدرب عليها

أما القاموس الكامل فيأتي ضمن التطويرات القادمة

أتوقع أن برمجتها للجوال غير معقدة
خصوصاً إذا جعلنا المستخدم هو الذي يتولى الإضافة والحذف في الكلمات ومعانيها
ضمن خيارات البرنامج لكي لا يطول الوقت على المبرمج .
أو نضع الكلمات ومعانيها في ملف txt يوضع ضمن دليل src يكون أسهل للتحرير

تم تعديل هذه المشاركة بواسطة مجدي محمود في 3 يونيو 2006 في 16:15

#4

لماذا لاتحاول القيام واذا في مشاكل بتواحهك ضع السؤال ونقوم باجابتك.

لست متواجد بشكل يومي

#5

السلام عليكم ورحمة الله وبركاته

يا أخي مجدي أنا عارف انك ما قصرت معي من بداية تعلمي لغة الجافا

وكذلك الإخوان من مجموعة طلائع هذا المنتدى الطيب ،،ولكن

ألا تظن أنهم يستحقون مني على الأقل طرح الأفكار وإن كانت ثمينة

فأنا نظراً لقلة وقتي لا أبخل على أحد منهم أن يحاول تنفيذ أي فكرة

أطرحها رغم أني أسعى لتنفيذها بشرط غير ملزم أن تكون مجانية

(من دعا إلى هدى كان له من الأجر مثل أجور من تبعه إلى يوم القيامة)

تم تعديل هذه المشاركة بواسطة sih في 3 يونيو 2006 في 23:38

#6

والله لم اقصد ما في كلامي الاماهو خير لك لانه اذا قام بعمله شخص واحد ووضع الكود كامل لن يستفيد احد اما اذا تم نقاش عمله فسيستفيد الجميع الاتذكر موضوع ملخص الاوامر والبارميتر في j2me في اي وقت ترجعله تستفيد لانه فيه اكثر من معلومة وطرح الافكار دائما جميل واحبه

لست متواجد بشكل يومي

#7

نبدأ بسم الله الرحمن الرحيم

أتمنى أن يتفاعل معي بعض المبتدئين بالمناقشة وطرح الآراء

تحت إشراف أعضاء الإدارة وخبراء اللغة

رغم أن هذا المشروع صغير قد يفاجئنا أحد الإخوان به ونحن

في البداية (أتمنى ذلك) لكي نتبادل الأفكار في تطويرة

--------------------

معروف أن شاشة الموبايل لا تسع ثلاث أو أربع كلمات ولكن لكي

تكون الكلمة كبيرة وواضحة نجعل كل كلمة تعرض لوحدها بكامل

الشاشة وتتغير كلما حركنا الأسهم (يمين/شمال)

سؤال:

كيف نلصق صورة المدفع والقذيفة المتحركة ضمن شاشة الCanvas

#8

مش شرط تكون نفسها مثلا اليك هذه الشفرات كبداية وقم بالتكملة فقط لاعطيك خيط او نظرة عن عمله

package majdi.game;

import javax.microedition.lcdui.*;

public class PressKeys extends Canvas {

	private int x;

	private int y;

	private Display display;

	public PressKeys(Display display) {
		this.display = display;
		x = 0;
		y = getHeight();

	}

	public void paint(Graphics g) {

		g.setGrayScale(255);
		g.fillRect(0, 0, getWidth(), getHeight());
		g.setGrayScale(0);
		g.drawString("Head",10,20,Graphics.TOP|Graphics.LEFT);
		g.drawString("Select",getWidth()-10,20,Graphics.TOP|Graphics.RIGHT);
		g.setColor(255, 0, 0);
		g.drawString("Majdi", x, y, Graphics.BOTTOM | Graphics.LEFT);
	}

	public void keyPressed(int keyCode) {

		switch (keyCode) {
		case KEY_NUM4:
			x = x - 1;
			System.out.println(x);
			repaint();
			break;
		case KEY_NUM6:
			x = x + 1;
			repaint();
			break;

		}

	}

	public int getX() {
		return x;
	}

	public int getY() {
		return y;
	}

}

package majdi.game;

import javax.microedition.lcdui.*;

public class Shoot extends Canvas implements Runnable {

	boolean active = true;

	private int x;

	private Thread th;

	private int y;

	private Display display;

	public Shoot(Display display, int x, int y) {
		this.display = display;
		th = new Thread(this);
		this.x = x;
		this.y = y;
		th.start();
	}

	public void paint(Graphics g) {

		g.setGrayScale(255);
		g.fillRect(0,0,getWidth(),getHeight());
		g.setGrayScale(0);
		g.drawString("Head",10,20,Graphics.TOP|Graphics.LEFT);
		g.drawString("Select",getWidth()-10,20,Graphics.TOP|Graphics.RIGHT);
		g.setColor(255, 0, 0);
		g.drawString("Majdi",x,y,0);

	}

	public void run() {
		while (active) {

			try {

				Thread.sleep(10);
				repaint();
				y = y - 1;



			} catch (InterruptedException ie) {
				ie.toString();
			}

		}
	}


	public double getX() {
		return this.x;
	}

	public double getY() {
		return this.y;
	}

}

package majdi.game;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class GameMIDletTest extends MIDlet implements CommandListener {
	private Command exit;

	private Command ok;

	private Form form;

	private Command back;

	private Display display;

	private PressKeys pk;

	private Shoot gmd;

	public GameMIDletTest() {
		display = Display.getDisplay(this);
		pk = new PressKeys(display);
		exit = new Command("Exit", Command.EXIT, 0);
		ok = new Command("shoot", Command.ITEM, 1);
		back = new Command("Try Again", Command.ITEM, 0);

	}

	public void startApp() {

		pk.addCommand(exit);
		pk.addCommand(ok);
		pk.setCommandListener(this);
		display.setCurrent(pk);

	}

	public void pauseApp() {
	}

	public void destroyApp(boolean forced) {
	}

	public void commandAction(Command c, Displayable arg1) {
		if (c == exit) {
			destroyApp(false);
			notifyDestroyed();
		}
		if (c == ok) {
			gmd = new Shoot(display, pk.getX(), pk.getY());
			gmd.addCommand(back);
			gmd.setCommandListener(this);
			display.setCurrent(gmd);
			if (pk.getX()==10) {
				GoToForm();
			}

		}
		if (c == back) {
			pk = new PressKeys(display);
			pk.addCommand(exit);
			pk.addCommand(ok);
			pk.setCommandListener(this);
			display.setCurrent(pk);


		}
	}

	private void GoToForm() {
		form = new Form("Result");
		form.append("right");
		form.addCommand(back);
		form.setCommandListener(this);
		display.setCurrent(form);
	}
}

تم تعديل هذه المشاركة بواسطة مجدي محمود في 5 يونيو 2006 في 23:07

لست متواجد بشكل يومي

#9

قمت بتعديل GameMIDletTest واضفت شفرة ثانية words التي تحتوي على المعاني يعني عربي انجليزي بقي عليك فقط تفعيل save يعني التخزين ووضعتلك المعاني في Vector لتحفظها ثم تستخرجها مرة اخرى وتدخلها في اللعبة انا ما رح اكتب اي شفرة اخرى حتى الثلاثاء القادم كمان اسبوع الا اذااحتجت اى اسئلة علىالشفرات السابقة

package majdi.game;

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.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.rms.RecordStore;
import java.util.*;

public class GameMIDletTest extends MIDlet implements CommandListener {
	private Command exit;

	private Command ok;

	private Form form;

	private Command game;

	private Command back;

	private Command save;

	private Command add;

	private Display display;

	private PressKeys pk;

	private Shoot gmd;

	String rsname = "DataBase";

	RecordStore rs;

	Vector v;

	TextField arabic, englisch;

	Words w;

	public GameMIDletTest() {
		display = Display.getDisplay(this);
		pk = new PressKeys(display);
		exit = new Command("Exit", Command.EXIT, 0);
		ok = new Command("shoot", Command.ITEM, 1);
		game = new Command("Again", Command.ITEM, 0);
		add = new Command("Add", Command.ITEM, 0);
		back = new Command("Back", Command.ITEM, 0);
		save = new Command("Save", Command.OK, 1);
		v = new Vector();

	}

	public void startApp() {

		pk.addCommand(exit);
		pk.addCommand(ok);
		pk.addCommand(add);
		pk.setCommandListener(this);
		display.setCurrent(pk);

	}

	public void pauseApp() {
	}

	public void destroyApp(boolean forced) {
	}

	public void commandAction(Command c, Displayable arg1) {
		if (c == exit) {
			destroyApp(false);
			notifyDestroyed();
		}
		if (c == ok) {
			gmd = new Shoot(display, pk.getX(), pk.getY());
			gmd.addCommand(game);
			gmd.setCommandListener(this);
			display.setCurrent(gmd);
			if (yes(pk.getX())) {
				GoToForm();
			}

		}
		if (c == game) {
			pk = new PressKeys(display);
			pk.addCommand(exit);
			pk.addCommand(ok);
			pk.addCommand(add);
			pk.setCommandListener(this);
			display.setCurrent(pk);

		}
		if (c == add) {
			AddData();

		}
		if (c == back) {
			pk = new PressKeys(display);
			pk.addCommand(exit);
			pk.addCommand(ok);
			pk.addCommand(add);
			pk.setCommandListener(this);
			display.setCurrent(pk);

		}
		/////// /////////////////////
		if (c == save) {
			printVector();

		}
		// /////////////////////////
	}

	private void GoToForm() {
		form = new Form("Result");
		form.append("right");
		form.addCommand(game);
		form.setCommandListener(this);
		display.setCurrent(form);
	}

	public void AddData() {
		form = new Form("Add Data");
		arabic = new TextField("Arabic", "", 10, TextField.ANY);
		englisch = new TextField("Englisch", "", 10, TextField.ANY);
		form.append(arabic);
		form.append(englisch);
		form.addCommand(back);
		form.addCommand(save);
		form.setCommandListener(this);
		w = new Words(arabic.getString(), englisch.getString());
		display.setCurrent(form);

	}

	// Vector to save the words arabic--->englisch
	public void printVector() {
		for (int i = 0; i < v.size(); i++) {
			System.out.println(v.elementAt(i));
		}
	}

	private boolean yes(int x) {
		switch (x) {
		case 10:
		case 11:
		case 12:
		case 13:
		case 14:
		case 15:
		case 16:
		case 17:
		case 18:
		case 19:
		case 20:
			return true;
		}
		return false;
	}

}

package majdi.game;

public class Words {

	private String arabic;

	private String englisch;

	public Words(String arabic, String englisch) {

		this.arabic = arabic;
		this.englisch = englisch;
	}

	public String getArabic() {
		return arabic;
	}

	public String getEnglisch() {
		return englisch;
	}

}

تم تعديل هذه المشاركة بواسطة مجدي محمود في 5 يونيو 2006 في 23:00

لست متواجد بشكل يومي

#10

مشكور يا أخ مجدي بارك الله فيك

للإخوة المشاركين في استخدام هذه الأكواد :

(يجب تعديل السطر الأول package majdi.game;

لكي يناسب نفس المسارات التي وضعتها أنت لها

وإذا كانت على الدليل الرئيسي src فلابد أن تلغي هذا السطر

من جميع الأكواد)

---------------

هل هذا صحيح يا أخ مجدي أو لابد أن نحدد المسار هكذا :

package src

تم تعديل هذه المشاركة بواسطة sih في 6 يونيو 2006 في 00:44

#11

بامكانك مسحها تماما مش مشكلة المهم تفعيل save والشحن RecordStore لاظهار الكلمات ووضعها في drawString بدلا من Majdi,Head,Select هذه الكلمات كانت للتجربة ونسيت كمان في Shoot.java اوقف Thread لما الشخص يضغط على الزر Add يعني لازم تعديل run ويصبح هكذا

public void run() {
		while (active) {

			try {

				Thread.sleep(10);
				repaint();
				y = y - 1;

				if (y<0) {
					active=false; // stop thread
				}


			} catch (InterruptedException ie) {
				ie.toString();
			}

		}
	}

لست متواجد بشكل يومي

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…