مصادر DelphiX و لعبة mario
#1
السلام عليكم
بعض الأمثلة لتطبيق لعبة Mario بدلفي
مثال من DelphiFr يستخدم DelphiX
PHP كود :
http://www.delphifr.com/codes/MARIO-BROS_39750.aspx 
مثال لمبرمج صيني مشابه يستخدم نفس المكونات
روابط موقتة:
كود :
mir.cr/0MTFJCM0
مثال آخر (برتغالي) دون مكونات في المرفق.

نسخة من DelphiX من Torry
كود :
http://www.torry.net/authorsmore.php?id=1181
نسخة أخرى معدلة أحدث
كود :
http://www.micrel.cz/Dx/

بالتوفيق.


الملفات المرفقة
.rar   mario.rar (الحجم : 9.24 KB / التحميلات : 315)
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد
#2
السلام عليكم.
هذه اللعبة المعروفة .... أين الكلب .... قمت ببرمجتها بلغة دلفي .... و احببت ان اقدم لكم السورس كود.
لم اعرف اين اضعه.... **** ان لا تحذف المشاركة لهذا السبب..


الملفات المرفقة
.rar   أين الكلب.part01.rar (الحجم : 600 KB / التحميلات : 81)
.rar   أين الكلب.part02.rar (الحجم : 295.41 KB / التحميلات : 63)
الرد
#3
memoz كتب :السلام عليكم.
هذه اللعبة المعروفة .... أين الكلب .... قمت ببرمجتها بلغة دلفي .... و احببت ان اقدم لكم السورس كود.
لم اعرف اين اضعه.... **** ان لا تحذف المشاركة لهذا السبب..

شكراّ أخى ولكن يوجد خطأ عند التشغيل
كود :
{$R *.dfm}
procedure get_res(   ) ;
var  h,lh,hz:cardinal  ;
     hr:Pointer; st:TFileStream;
       s:array[0..255]of char;ss:String;
begin

[color=Red]GetTempPathA(255,s);[/color]
    ss:=String (s);
    ss:=trim( (ss));

    h:=FindResourceA(HInstance  , 's1' ,'SND'    );
    hz:=SizeofResource( HInstance  ,h);
    h:=LoadResource(HInstance ,h) ;
    hr:=LockResource(h);
    st:=TFileStream.Create(pansichar(ss+'\'+'Sound 1.wav'),fmCreate or fmOpenReadWrite );
    st.Position :=0;
    lh:=st.Write (hr^,hz);
    st.Free;
    FreeResource(h);
الخطاّ المظلل بالاحمر
> مبرمج مبتدئ < سبحان الله بحمده... سبحان الله العظيم
الرد
#4
استخدم هذا التابع.

procedure get_res( ) ;
var h,lh,hz:cardinal ;
hrTongueointer; st:TFileStream;
s:array[0..255]of char;ss:String;
begin

// GetTempPathA (255,s);
// ss:=String (s);
ss:= ExtractFilePath(Application.ExeName);

ss:=trim( (ss));

h:=FindResourceA(HInstance , 's1' ,'SND' );
hz:=SizeofResource( HInstance ,h);
h:=LoadResource(HInstance ,h) ;
hr:=LockResource(h);
st:=TFileStream.Create(pansichar(ss+'\'+'Sound 1.wav'),fmCreate or fmOpenReadWrite );
st.Position :=0;
lh:=st.Write (hr^,hz);
st.Free;
FreeResource(h);

h:=FindResourceA(HInstance , 's2' ,'snd' );
hz:=SizeofResource( HInstance ,h);
h:=LoadResource(HInstance ,h) ;
hr:=LockResource(h);
st:=TFileStream.Create(pansichar(ss+'\'+'Sound 2.wav'),fmCreate or fmOpenReadWrite );
st.Position :=0;
lh:=st.Write (hr^,hz);
st.Free;
FreeResource(h);

h:=FindResourceA(HInstance , 's3' ,'snd' );
hz:=SizeofResource( HInstance ,h);
h:=LoadResource(HInstance ,h) ;
hr:=LockResource(h);
st:=TFileStream.Create(pansichar(ss+'\'+'Sound 3.wav'),fmCreate or fmOpenReadWrite );
st.Position :=0;
lh:=st.Write (hr^,hz);
st.Free;
FreeResource(h);

end;
الرد
#5
مشكلة اخرى
كود :
//Timer1.Enabled :=true;
//Timer2.Enabled :=true;
//Timer3.Enabled :=true;


//Button4.Enabled :=true;
end;
procedure TForm1.Button5Click(Sender: TObject);
var s:array[0..255]of char;ss:String;
begin
if get_on_pos ()= 1 then obj1:=Image1 ;
if get_to_pos ()= 1 then obj1:=Image2 ;
if get_tr_pos ()= 1 then obj1:=Image3 ;

if get_on_pos ()= 2 then obj2:=Image1 ;
if get_to_pos ()= 2 then obj2:=Image2 ;
if get_tr_pos ()= 2 then obj2:=Image3 ;

if get_on_pos ()= 3 then obj3:=Image1 ;
if get_to_pos ()= 3 then obj3:=Image2 ;
if get_tr_pos ()= 3 then obj3:=Image3 ;
[color=Red] GetTempPathA (255,s);[/color]
    ss:=String (s);
    ss:=trim( (ss));
  PlaySound(pansichar(ss+'\'+'Sound 2.wav'), 0, SND_FILENAME + SND_ASYNC);
Timer4.Enabled :=true;
end;
أرسل الكود كامل أفضلWink
> مبرمج مبتدئ < سبحان الله بحمده... سبحان الله العظيم
الرد
#6
السلام عليكم
في كل خطأ من هذا النوع استبدل السطرين
كود :
GetTempPathA (255,s);
  ss:=String (s);
بالسطر التالي
كود :
ss:=  ExtractFilePath(Application.ExeName);
الرد
#7
شكراّ أخى ولكن ظهرت مشكلة فى هذا الكود
كود :
PlaySound(pansichar(ss+'\'+'Sound 2.wav'), 0, SND_FILENAME + SND_ASYNC);
> مبرمج مبتدئ < سبحان الله بحمده... سبحان الله العظيم
الرد
#8
karika2 كتب :شكراّ أخى ولكن ظهرت مشكلة فى هذا الكود
كود :
PlaySound(pansichar(ss+'\'+'Sound 2.wav'), 0, SND_FILENAME + SND_ASYNC);

playsound يمكنك يا اخي ان تحذف كل الاسطر التي فيها استدعاء للتابع
:أو ان تقوم بتعليقها بالشكل التالي
كود :
//  PlaySound(pansichar(ss+'\'+'Sound 2.wav'), 0, SND_FILENAME + SND_ASYNC);
حيث انه يقوم بتشغيل المقاطع الصوتية في اللعبة... وهو غير مؤثر على عمل اللعبة

اتمنى ان يعمل هذه المرة
و انا تحت امرك
الرد
#9
ألسلام عليكم
اخي انا جاهز ... كيفما تريد
الرد
#10
للاسف هذه اللعبة لم يتسنى لي الوقت الكامل لاتمامها.
اضعا بين ايديكم ... عسى ان يكملها احد الأخوة.
يمكن في اللعبة ان تقوم ببعثرة المربعات ...
و الفكرة منها بناء خوارزمية ذكية لإعادة ترتيبها ... وهو القسم الغير كامل .


الملفات المرفقة
.rar   البزل.rar (الحجم : 217.92 KB / التحميلات : 49)
الرد


التنقل السريع :


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف