View Full Version : مبتدی: بازی تحت شبکه c#
kamayestani
یک شنبه 06 بهمن 1392, 14:27 عصر
دوستان یک بازی ساده میخوام برام طراحی کنید یا کمکم کنید تا خودم انجام بدم.
روند بازی:
هر فرد یک مهره انتخاب میکنه در صفحه طعمه ای ظاهر میشه هر مهره ای که زودتر طعمه رو بخوره امتیاز میگیره
یکی کمکم کنه :ناراحت:
amin1softco
یک شنبه 06 بهمن 1392, 20:46 عصر
خوب کمکت می کنیم خودت درست کنی
اول بازی را به چند قسمت تقسیم کن
الف- قسمت برنامه نویسی شبکه
1- کلاینت ها
2- سرور
ب- قسمت طرح اصلی بازی (بطور کلی بازی در مایه های pacman می تونه باشه که یک سیب بطور راندوم در یک موقعیت از صفحه قرار می گیره و به تعداد کلاینت ها هم مهره مهاجم در زمین قرار دارد که مختصات هدایت شونده خودشون را از کلاینت ها دریافت می کنند و مثلاً یک تایمر 120 ثانیه ایی هم باشه که می تونند در این زمان رقابت کنند بعد از رقابت هم باید لیست امتیازات نشون داده بشه و بیشترین امتیاز به عنوان برنده انتخاب بشه )
1- تشخیص برخورد مهره
2- دریافت مختصات از کلاینت ها
3- رسم شکل مهره ها
4- فرم امتیازات
5- تایمر بازی
6- ....
شروع کنید !
mahdiehjoon69
چهارشنبه 09 بهمن 1392, 09:31 صبح
خوب کمکت می کنیم خودت درست کنی
اول بازی را به چند قسمت تقسیم کن
الف- قسمت برنامه نویسی شبکه
1- کلاینت ها
2- سرور
........
دوست من ایشون نحوه بازی خودشون میدونن مثل من ولی نمیدونن واسه طراحی باید چکار کنن.
لطف کنین ی منبع ک بازی های تحت شبک رو آموزش داده معرفی کنین.
یا بفرمایین ما باید از کجا شروع کنیم .
راجب این چیزا توضیح بدین
ممنون
mahdiehjoon69
چهارشنبه 09 بهمن 1392, 09:36 صبح
ی سوال واسه طراحی این بازی باید برنامه نویسی سوکت یاد داشته باشیم؟؟؟
amin1softco
چهارشنبه 09 بهمن 1392, 19:39 عصر
والا اینجوری که شما میگی سوکت قلب آدم می ایسته بابا خبری نیست که سوکت معمولی البته اگر بخواهید با تکنولوژی قدیمی XNA بنویسید باید سشن تعریف کنید و این داستانا که در این لینک (http://msdn.microsoft.com/en-us/library/bb975645(v=xnagamestudio.31).aspx) بهتر توضیح داده شده است .
در ثانی شما که قرار نیست شاخ فیل را بشکنید با کتابخانه گرافیک سی شارپ 2 تا عکس لود کنید و با یک تایمریا یک ترد جداگانه حر کتشون را ایجاد کنید
برای مثال این پکمن می تونه در یک محور حر کت کنه پس یک عدد باید دریافت کنه از کلاینت بین 1 2 3 4 که بطور پیش فرض بالا پایین , چپ , راست باشه و هر کدوم اومد این پک من حرکت کنه بعدش در این حلقه بنویسید که مختصات غذا را از فلان متغیر بخون مثلاً اونجا 2و2 قرار داره که اگر با مختصات این یکی شد شکل را حذف و در یک مختصات راندوم دیگه قرار بده حالا این خودش یک کلاس باشه و بعداً که شبکش اوکی شد به تعداد کلاینت های موجود از این کلاس ایجاد کند
کا با کتابخانه های گرافیک و رسم شکل یا wpf
کار با سوکت ها
هم پیش نیاز این بازی است .
mahdiehjoon69
چهارشنبه 09 بهمن 1392, 19:56 عصر
اولا فیل عاج داره غول شاخ داره:لبخند:
بذارین من چیزی ک فهمیدم بگم شما تایید یا اصلاح کنین لطفا:
1باید ی برنامه بنویسیم واسه کلاینت
2.برنامه سرور بنویسیم
(یعنی باید دست تکانی سه مرحله ای برای این دو تا بنویسیم دیگه درسته؟؟؟)
حالا ی سوال برنامه سرور کجا اجرا میشه برنامه کلاینت کجا ؟؟؟
اگ هرکدوم از بازیکن ها یک کلاینت باشن چجوری ارتباط اونا با هم باید برقرار بشه؟؟
بعد ک مشکلات بالا حل شد باید بریم سراغ طراحی بازی.
نوشتن بازیش بدون شبکه کار نداری میدونم اما اصلا نمیفهمم چطور باید تحت شبکه بشه
برنامه ای ک بازی انجام میده باید تو قسمت مربوط ب سرور بنویسیم یا کلاینت یا اصلا جدا بنویسیم.
بابا من اصلا هیچی نمیدونم:((:((
ببخشید اگ سوالای ساده میپرسم چون واقعا چیزی نمیدونم :((
amin1softco
چهارشنبه 09 بهمن 1392, 20:31 عصر
سرور اسمش روش است دیگه قرار سرویس بده خلاصه در این بازی نقش ریش سفید را داره و می دونه هر مهره الان چیکار است و مثل یک محل ذخیره موقعیت مهره ها و امتیازات در این مثال محدود می شود . و مثلاً مثل بورس می تونه موقعیت هایی که دریافت کرده را نشان بده به کاربر
مثلاً برنامه کلاینت با یک تایمر مدام بهش متصل می شه و موقعیت مهره های دیگه را ازش می گیره و موقعیت مهره خودش را اعلام می کنه یا هنگامیکه زمان به اتمام رسید پیام میده که بازی را به اتمام برسون و نتیجه این است به کاربر نمایش بده ...
بعدشم شما چندتا کار می تونی بکنی اول اینکه با سوکت بنویسی که مثال هاش روی نت هست دست تکانی و اینهاش را قبلاً مایکروسافت زحمت کشیده براتون نوشته شما فقط استفاه می کنی و پورت و آی پی را باید مشخص کنید
نمونش اینجاست (http://www.winsocketdotnetworkprogramming.com/clientserversocketnetworkcommunication8b.html)
روش دیگه استفاده از سوکت پایگاه است .
mahdiehjoon69
چهارشنبه 09 بهمن 1392, 20:48 عصر
آره من دستکانی 3مرحله ای رو بلدم
مشکل من ربط اینا به هم و خود بازیه:((
amin1softco
چهارشنبه 09 بهمن 1392, 21:00 عصر
تازه غیر از اینا باید با آپلو هم ربط داشته باشه که یک کار کلاسیک بشه
والا اینقدر که من تلاش کردم و مثال آودم می خواستم بازی را بنویسم الان تموم شده بود
ربط چی به چی دقیقاً؟ خوب
عاغا مثلاً شما یک مکانیزم می نویسی که بین کلانت و سرور رشته رد و بد بشه حالا در این رشته ها باید یک لیست پیغام برای خودتون تعریف کنید که مثلاً 5 حرف اول رشته مشخص می کنه نوع پیام چیه
Position-Player#-x,y-name
این پیام وقتی از سرور به کلاینت برسه کلایت از قسمت اول می فهمه نوع پیام موقعیت است از قسمت های بعدی هم می فهمه که بعله فلان بازیکن موقعیتش کجاست و اونو تغییر میده
winner-palyer#-score
این پیام نشون میده بازی تموم شده و بازیکن با شماره فلان با امتیاز فلان برنده شده و کلاینت باید استدلالش کند
و.....
mahdiehjoon69
چهارشنبه 09 بهمن 1392, 21:15 عصر
:)):)):)):)):)):))
یعنی اینقد آسونه ک ب همین زودی تموم میشه:متفکر:
:خجالت:خب ببخشید بابا چرا دعوا میکنین خودم یکاریش میکنم
amin1softco
چهارشنبه 09 بهمن 1392, 21:25 عصر
منظورم اینه که وقتی خودتون شروع کنید به کد نویسی خیلی از این راه حل های بهتر از این حتی به ذهنتون میاد و نیازی ندارید بپرسید .
ولی اینجوری میگید وای چطوری می شه که اینطوری می شه و خدایا من دارم یک کره دیگه خلق می کنم به نام زیززیون
meisam3322
شنبه 12 بهمن 1392, 13:28 عصر
درورد
فکر کنم مشکل دوستمون برنامه نویسی با سی شارپ باشه . !!
mahdiehjoon69
شنبه 12 بهمن 1392, 20:15 عصر
درورد
فکر کنم مشکل دوستمون برنامه نویسی با سی شارپ باشه . !!
نه مشکلم برنامه سی شارپ نیست
مشکل اینک من نمیدونم واسه اینک تحت شبک باشه باید چکار کرد
الان همینو بدون شبک خب نوشتن کار نیم ساعت
من تحت شبکه رو درک نمیکنم:-((
amin1softco
شنبه 12 بهمن 1392, 21:26 عصر
خداییش این کدی که نوشتید کار نیم ساعت را بزارید ببینیم چیه خووو :دی
من برای درک بهتر براتون شکل کشیدم شاید فرجی شد 116288
Sharar3D
پنج شنبه 17 بهمن 1392, 11:38 صبح
نه مشکلم برنامه سی شارپ نیست
مشکل اینک من نمیدونم واسه اینک تحت شبک باشه باید چکار کرد
الان همینو بدون شبک خب نوشتن کار نیم ساعت
من تحت شبکه رو درک نمیکنم:-((
واسه بازی تحت شبکه، باید یک سرور وجود داشته باشه که به کلاینت ها دستور بده چه کاری انجام بدن و از کلاینت ها بخواد بش گزارش بدن.
روند کار این شکلی میشه :
کلاینت1 به سرور میگه مهره 1 در جهت راست میخواد حرکت کنه ( توجه داشته باش، فقط قصد حرکت کردن داره )
سرور گزارش رو از کلاینت میگیره
سرور به تمامی کلاینت های موجود اعلام می کنه مهره 1 در جهت راست حرکت کرد
همه کلاینت ها ( از جمله خود کلاینت 1 ) مهره 1 رو در جهت راست حرکت میدن.
به طور کلی، سرور میشه مغز بازی و کلاینت ها فقط منتظر دستورات سرور می مونن تا کاری انجام بدن و از اون طرف دستورات کاربر رو به سرور منقل می کنن.
واسه این کار شما باید از اول همه منطق بازی رو توی سرور هم بنویسید ( این که مهره چه شکلی میتونن حرکت کنن و اندازه محیط بازی چه اندازست و محل مهره کجاست و ... )
سرور باید لیستی از کلاینت های متصل شده به سرور رو نگه داری کنه.
سرور باید بتونه دستورات رسیده شده از هر کلاینت رو تحویل بگیره، پردازش کنه و نتیجه رو به همه کلاینت های موجود در لیست اعلام کنه
کلاینت ها سر و کارشون فقط با سرور هست و نیازی ندارن با بقیه کلاینت ها ارتباط برقرار کنن.
توی لینکی که دوستمون بالاتر برای نمونه کار سوکت ها گذاشتن همه چیز موجوده، شما فقط باید از دستورات دریافت و ارسالی که توش توضیح داده شده استفاده کنید تا کاری که من بالا توضیح دادم رو عملی کنید.
اگر درکش براتون سخته خیلی ساده شروع کنید.
یک سرور بنویسید که هر 5 ثانیه یک بار یک رشته به کلاینت ها ارسال کنه و از اون طرف کلاینت ها اون رشته رو چاپ کنن، بعد کم کم کار رو گسترش بده تا به بازی که میخوای برسی.
خوبی این روشی که من توضیح دادم اینه که کلاینت ها در همه حال با هم همسان هستن و احتمال غیر همسان بودن اونها خیلی کمه
البته شاید به نظر برسه که در مثال بالا کلاینت 1 با تاخیر مهره 1 رو تکون میده، و درسته. اما این تاخیر بسیار بسیار نامحسوسه و مشکلی در کارتون ایجاد نمی کنه
پری سیما
یک شنبه 20 بهمن 1392, 14:22 عصر
خوب کدشو داری واسم بفرستی؟؟؟؟
amin1softco
یک شنبه 20 بهمن 1392, 17:51 عصر
نمونه بازی :http://www.codeproject.com/Articles/14050/A-game-lobby-system-in-C
http://www.codeproject.com/Articles/6574/C-TicTacToe-with-AI-and-network-support (http://www.codeproject.com/Articles/14050/A-game-lobby-system-in-C)
http://www.codeproject.com/Articles/9514/Word-Building-Network-Game-With-Intelligence
pcbrain
جمعه 08 فروردین 1393, 21:33 عصر
باسلام
از مطالب مفيدي که گذاشتيد متشکرم.
من به تازيگي يک سايت در زمينه خريد بازي
وخريد بازي کامپيوتر زدم.من تمامي بازي هاي کامپيوتري اورجينال
را تهيه کردم وبه صورت
خريد اينترنتي بازي وخريد پستي بازي دارم ارائه ميکنم.
اگه در زمينه بالا بردن کيفيت وچهره سايتم مرو راهنمايي کنيد واقعا ممنون ميشم
راستي کسايي که ذکر کنند از بچه هاي انجمن هستند 20 درصد تخفيف دارند
خريد اينترنتي بازيي (http://www.ebia.ir/)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.