System Design Full Course Build Snake and Ladder Game | UML + Code | System Design
Build Snake and Ladder Game | UML + Code | System Design Transcript and Lesson Notes
ان جی تو کرے شاٹ Welcome Back Order Army our Celestial Eldi series and today we have brought a new allelty design problem and this is exactly the same as we did in the last video in this video we will make a game whose name is Snake and Lighter game this is also in
Quick Summary
ان جی تو کرے شاٹ Welcome Back Order Army our Celestial Eldi series and today we have brought a new allelty design problem and this is exactly the same as we did in the last video in this video we will make a game whose name is Snake and Lighter game this is also in
Key Takeaways
- Review the core idea: ان جی تو کرے شاٹ Welcome Back Order Army our Celestial Eldi series and today we have brought a new allelty design problem and this is exactly the same as we did
- Understand how build fits into Build Snake and Ladder Game | UML + Code | System Design.
- Understand how snake fits into Build Snake and Ladder Game | UML + Code | System Design.
- Understand how ladder fits into Build Snake and Ladder Game | UML + Code | System Design.
- Understand how game fits into Build Snake and Ladder Game | UML + Code | System Design.
Key Concepts
Full Transcript
ان جی تو کرے شاٹ Welcome Back Order Army our Celestial Eldi series and today we have brought a new allelty design problem and this is exactly the same as we did in the last video in this video we will make a game whose name is Snake and Lighter game this is also in our childhood but now we have played a lot you know how this game works today we will see the low level design of this game again in interview perspective this is also a necessary game whose low level design is asked and if you have seen my last video we will see the design of the game so this game will be very similar and we will see the rest of the rules and some classes will change so let's see how we will make it let's go to the screen first of all we will discuss our requirement we will see the simple way we used to do it the size of the board should be scalable there are standard game rules and further extendable rule is the same which we gave in the tic-tac-tow and we are introducing a new rule that there can be game setups like strategy, random setup custom setup and standard setup what is the meaning of this? so we have to understand that what we used to have is the ladder game we have a lot of cells let's say 1,2,3,4,up2 let's say 10 then we start from 11 we do upto 20 and this way we have our cells we do the final cell if this is 100 and this is the end-gross we can use it as an end-gross and you know there is a snake in some cells which is taken from a starting end and you know there is a ladder which is taken from the starting from the bottom of the wall so you know this is how the ladder game works and you have a ladder which you can increase your player now I have said to set up this whole game a standard rule that is, let's say a standard rule that the first time this standard will be the ladder game where the snake will be and where the ladder will be if we put it there then it will be a standard so you can set up a custom custom setup where the snake will be where the ladder will be so you can set up your custom setup random setup I am saying randomly and then I can add a further classification without that random setup let's say easy medium and hard this is the hard part if I am playing easy game then I will play the ladder in the middle I will play the ladder and the snake will be in the middle and the ladder will be in the middle so I am going to make a different setup in this line there are many games and the other setup is custom setup and standard setup so this is the setup which we had in the same way and the same same in-app notification again we have a notification which will be the same so we have a console which will be the same this is the requirement let's see the whole level design about snake and ladder game let's jump let's see the top down approach is the top down approach we had told you that top down approach is better than the first big object then we will follow the approach and then we will move on what is the ladder game you have a board and there are many cells and the last cells are 100 and the starting cells are 1 and the middle is the ladder and the next one is the dice which you can choose from 1 to 6 and the value you move the player so you will see the rules the rules you have actually there are 2 2-dm metrics you will see you have to take 1 and the value of 1 will be 100 this is only a representation you have to take 1 and denote 10 and denote 11 and 20 if we display it on front-end then we can display 2d metrics but we are making the backend if we take only 1d array then we should go I will go to 1st step I will tell you we need to take 1d array we will only need a map which can be a particular integer or a particular value or a ladder and we can take the size of the size of the size of the ladder we can take the size of the size of the ladder and 25th cell if we take a ladder we will take the size of the ladder and if we take a particular cell and we will take the size of the ladder and we will show you how we will do this we will show you we need a 2d metrics if you come in mind you can take 1d array and 1d array and then we can take the size of the ladder then we will start to make the game and first we are trying to do the top down we will start with the first big object which is game you know this is the biggest object you will have to make the first one and then we will see which small object we need to make for a snake and ladder game first you need a board as we have made in the past we will take a board this board and then we will show you what is in the board so we will take it here ok now we will see what is in the board let's see now first in the board we will see the size of the ladder and the size of the ladder and the size of the ladder is the size of the ladder and the size of the ladder is the size of the ladder and you can make it 1000 depending on how big the game is so we have kept a size of the ladder now you know you can represent a 1d array this is not the required amount just keep this book on which cell is the snake on which cell is the ladder what is the snake's name? and its tail is the point if we make it in 2-2D its the head and its tail so if we make it in one cell then when we are talking about snake then we talk about snake's head because the effect of using it if we don't use a snake's tail then we don't have to use a snake's head so it goes down and goes back where snake's tail is so if it is a ladder then a head of the ladder will be the tail as a user is standing on the tail of the ladder then it will go up if it is standing on the head then we have to keep this that is the size the list of cells which we don't need to see where snake's tail is and where the ladder is so we have to see where the snake's tail is so we can make a vector of the snake's tail and then we have to make a snake's tail and then we have to make a vector of the letters so we can make a list of the letters we can make a list of the letters where the letters are and where the letters are and where the snakes are but I think the difference between snakes and the letters is that we have to take a snake's and the letter's and take a parent object because if you look at the distance in a game there are a lot of work to do and we have to use a snake's object and take a snake's tail there is a ladder in the old village and we have to go up and do the self-movement and I will show you the other way I will relate to the parent object let me show you the board entity so I didn't have the board entity I took the list so I took the list I took the list I took the list I took the list نیک کا ہیڈ اُس کا start och end usk tale oge کیوں کی بو کسی user کو ایک پوانچھے دوزре و انتقل گیاتا ہے same ڈا گا وہ کوئی لڑڑ ہے تو اُس کا start och کی اُس کا tail oge جہاں سے بسیگل وہ user کو اٹھاتا ہے اُپڑتا ہے تو اُس کا hede oge یعن اب بسیگل اس کا end oge تو اُس کے لعب start och end ke laba ہمارپس کیا میں thar کوئی ایک method usk tale let's say display tk ki وہ دکتےگ how اب obviously یہی تو ایک اپسٹٹ class تو اُس کو اپسٹٹ کر لیتے ہیں پر snake ڑا لیکتریکے سے دیکھے گا اور ہماری لڑڑ را لیکتریکے سے دیکھے گی تو وہ اُسا مجھلو دکھانے کے پر سپیکٹی سے ابھی تو اُس سے فکنسول پہ اُکٹرین کریں گے پر اگر ہم اس کو فرنڈن سے جوڑتے تو اُس کو اُلکتریکے سے دیکھاتے تو اب ہمیں کام کرتے ہیں ان کی high r ki بنالیتے ہیں تک ہے تو ایک تو ہو گیا ہمارے پاس snake ایک ہو گیا ہمارے پاس slider تو ایک snake class ہو گئی ایک slider class ہو گئی تو اُس کو پہتای ہے ان دونوں میں کیونکی اس کو override کر رہیں تو start or end تو start or end دونوں میں آجہے گا لیکن یہ دونوں کیا کریں گے اپنا дисپلے میتھڑ کو override کریں کیونکی اُلکتریکے سے дисپلے ہوتا ہوں گا اور یہ اُلکتریکے سے дисپلے ہوتا ہوں گا تو ہم نے یہ والی high r ki بنالیتے بوڑ ntd تو یہاں تک آپ سمجھ گئے باکی ہم کیا کہ سکتے حریلیشنشپ کیا ہے کی بوڑ haza not haza بلکی one to many board ntd کیوں کی اس کے پاس ہم نے ایک لیسٹا store کری ہوئی ہے ntd's کی تو ایک تو یہ ہو گیا چکے اس کے علاوہ ہم اور کیا کر رکسکتے ہم نے بوڑ میں ہمارا جو بوڑ ہے اسمم اور کیا کہ چیز رکسکتے ہیں میرے ہیزاپ سے ہمیں ایک اور چیز رکنی چیے جو ہم نے дисکز بھی گئی تھی ایک map چکے اچھا map کیوں پہلے تانا کون سا map map of integer comma board ntd اور integer کیا ہے ہے ایسل ہے تو لیٹ سے میک کو map کو MP بول دیتاہ تو آپ کو پتا ہے یہ جو map میں جو integer یہ کیا ہو گا یہ ہو گا اس کسی بھی سل کا number لیٹ سے 50 اٹسل اب اس میں ہم نے ایک board ntd دالی ہو گی اب board ntd کیا ہو گی یا تو وہ snake ہو گا یہ تو وہ leder ہو گی اب by saying وہ snake اس کا کیا ہے کی اس particular index pay اس particular cell pay وہ جو snake اس کا head لائے کرتا ہو گا Right تو وہ کسی user کو cart کر کے نیجہ تک لیکیا گا ہے نا ویسے ہی اگر اس particular index pay ایک leder ہے تو اس leder کا tail لائے کرتے ہو یا نکی bottom لائے کرتا ہو گا تو وہ کسی user کو پر تک لیکے جائے گا ہے نا تو ہم نے کیا map بنا لیا اس map کیا نا کیا ضرط کیا کوئی board Entity تم فتح فٹ اس map میں Order of one Operation کر کے ہم ای بار بار اس لوبترونی کرنا بڑے کیا کسی بھی board Entity start is equal equal یہ نا بیسے کیا اس کے لیکن ایک ایک 1 Dimensional ارے لینے کیا ایک 1 size لیا 100 تو وہ ایک ایک ایک space کیا ایک بہت ایک 18 ایک 22 ایک 26 ایک 29 100 ایک 19 100 ایک 24 اس کی ساری کی ساری لیسٹٹور کرالی, SNES کی اور لیٹرس کی باکہ میں پتے ہیں Number 1-200ی ہو سکتے ہیں یا پھر Number 1-2 جو بھی اس بورڈ کا سائیز ہو گئے جو سائیز آپے سٹھوروں کا وہ سکتے ہیں تو ہمیں ایکچلیل کیسے لیسٹ کی ضرط نہیں پڑے گی تکیں تم نے کوئی لیسٹنی لی ہم نے بسائیز ارے لیا سائیز کا انڈیجر لیا کی کیتنا سائیز ہے ہم نے لیسٹٹف بورڈ انٹیڈیس لی ہے نا اور اسے جو انٹیڈی ہو جو اس کے پہنے خود کا start or end ڈو تا ہوں انگیس کو پتا ہوں گا اس کا starting point ڈو انڈیگ point ڈو انڈیگ بیسکلی sell ڈو انڈیگر تو ہم نے ایک ایڈ انٹیڈی میں سٹھڑ بنا لیا ایک ایڈ ایڈ ایڈ ایڈ ایڈ ایڈ ایڈ ایڈ ایڈ ہم رکسکتے ہیں can add ڈ انٹیڈی جو کیا کرے گا ایک پوزیشان لے لیسٹے P.O.S اور وہ true or false ڈن کرے گا کی دیپنڈing up on کی کیا ہم اس پوزیشان میں کسی Entity Go Store کرو آ سکتے ہیں اب ہم اس کو ایسے دیکھلے گے کیا کرنا لو ہمیں پہاں پہاں پہاں آلڈیگ SNAYK تکہ اس starting point ڈسنے کہ ہمیں پہاں پہاں پہاں پہاں آلڈیگ SNAYK تو کیا اس cell میں اب دوبارا کئی a ladder kind point ڈیافر اس کیسی اور SNAYK and starting point ڈال سکتا ہوں نہیں آبویس لیا ہے تو یہ can add entity وہ چک کر لیا ہے کیا اس کے لابا اور کیا میتھا دوسکتے ہیں ہم نے کیا کہا تھا ایک کام کرتے ہیں اس کو تھوڑو سے پہلے ایکستینڈ کر لیا ہے کیا اس کے لابا ہمارے پاس ایک تو میتھا دوسکتا дисپلے کیا جو کیا کہا کہا پورے کے پورے بھڑ کو дисپلے کرو آ دے گا کیا اب دیکھو اس کے لابا ہم اور کیا میتھا ترکسکتا дисپلے کیا لابا دیکھو ہم نے اس میں ایک میتھا ترکسکتے ہیں ستب ستب بود جو کیا کہا کہا کہا بود کو ستب کر کے دے گا یعنی کی جب جب آپ game ھلنا شروع کرو گیا آپ کو پتیک ایک snow can letter game ھلنا کے لئے آپ کو ہمیں شک پوراکہ بود ready ھلے گا جس پہ numberings ھلکی ہو گی کچھ snow x اور letter ھلے در اولڈی بڑے ہوگے اور آپ کے پاس ایک دائیس ہوگا تو یہ بہت بود کو ایک دم سے ready ملے گا ہے نا تو اس کے بعد آپ game ھلنا start ھل پھل پل پلے پلے ایک دو چلتے ہیں وگر ایک دم تو set up bode کا کام ہوگا ایک bode کو پوراکہ بودہ پوراکہ بودہ ستب کر دے نا اب اگر آپ ریکوارمٹس میں واپسے چلے تو دیکھو میں نے کیا کہا دا کی there can be set up strategies like random setup custom setup and standard setup تو نا ہمنا ایک طرح سے اس bode کو set up نہیں کریں اس کیا ہم strategy is ھل پر and strategy کیا بتا اگی کیا جو پوراکہ بودہ اس میں snakes and letters آپ کو کیا سے رکھنا ہے random لیکنی بھی فیک دو یا آپ custom لی ہمیں دو گے تو ہم اسے پٹھ کرے وگر وگر تو کام کرتے ہیں ہم ایک method رٹلے تھی let's say setup bode چھوٹا سے برالیتے ہیں let's say بوگہ کرے گا ایک set up strategy لے گا set up strategy s اور اس کو بول دے گا کی بود کو set up کر کے لہ چکے تو جب بھی ہم بود کو بول دیں set up bode یعنی کی بود کہ یہاں method call کرا کریں گے ہم اس کو strategy باز کریں گے کی strategy کیا اس آپ سے ترکہ اپنے بود کو set up کرنے چکے تو اب ہم نے set up bode میں set up strategy دیکھا تو اس کو اس کی hider کی بنا لے تو اور پہتے ایک set up کریں گے بلکل standard tary کیا معلوم ایک چلی جو اس game کو خلا جاتا ہے اس میں جہا جہا snakes ہوتے ہیں وہاں snakes جال دے گی جہا جہا лیڈر ہوتے ہیں لیڈر تو اس کے بہت اپنے بیسے انفارمیشن ہوگی چکے تو لٹس آپ کو پتا اوہ جب آپ بھی بچھ کیا کی ہمنا rendemly snakes اور ladders کو کہیں گے پر اب آپ rendemly کیا کیا کیا کیا کیا کیا کیا کیا کیا کیا کیا کیا کیا کیا کیا کیا کیا کیا کیا اور ایک ہم رکھتے ہیں حاد لٹسے تو میں گا گیا رہوں یہ جو میری رہ یہ ایک دفیکلٹی لے گی اپنے constrictor اس دفیکلٹی اس دفیکلٹی اس دفیکلٹی اس دفیکلٹی اس دفیکلٹی اس دفیکلٹی اس دفیکلٹی اس ایک دفیکلٹ اس دفیکلٹ اس دفیکلٹ اس دفیکلٹ اس دفیکلٹ اس دفیکழٹ اس دفیک بت new Khan unseren لیکنے میں ایک لدر میں ایک نیکس و لدر کے وقتر میں ایک زیکٹ بھر گے دے دو کہا کہا کہا آپ کو اس کی نیکس چیئے کہا کہا آپ کو لدر چیئے تو اس کے لہاں اُن کو ما اِت تر دے سکتے لیکنے ایک نیک لے لیں گے اس اور اس لیسٹ ماد کر دیں گے اس کے لہاں جو ہمارا مین کرنا تھا میں سٹپ بھر اس کو دوورید کر نہیں تھا تو وہ قلتے ہیں سٹپ بھر گا بھی اور اس کو سٹپ کر دیں گے بیزجان all these things بیزجان all these things یہ جو سٹپ بھر گا یہ سٹپ کر دیں گے اچھا آپ ایک اور چیس یہاں میں ایک نیک اور سٹپ بھر اس کی نیک اور لدر کا میثڑ بنائیں گے یہا لی جو میں نے 2 مثڑ بنائیں اس میں میں snake اور letter لینگے ضرت نہیں ہے کیو کی user تھوڑینا snake اور letter نہ کے دے گا امبہ سو اس کا starting index اور ending index کی ضرت ہے ہم internally ایک سے snake اور letter کو نشک کریں گے رائٹ وہی تو ہمارا کامیں تو ہمیں سو اس کا starting اور ending index لینگے تو یہ ہو گئی ہماری پوری کی بھری custom strategy تو ہم نے 3 تра کی strategy بنالی standard random اور custom کی بود ہے as a strategy وہ یہاں پی تھی اس کے بات سک میں تھٹھتا set up board تو وہ اس strategy کو بولڈی ہوگی set up board قد براں اس کے بات سک میں تھٹھتا set up board تو وہ اس strategy کو بولڈی ہوگی set up board اور جو بھی strategy یہاں پاس ہو دی ہوگی چاہیشٹینڈٹ چاہیرینڈم چاہیشٹھم سب کو پتا ہے کہ اپنے اپنے بود کو کیسے set up کرنا ہے اور وہ bode set up کر کے اس bode کو دے دے دے دے دے دے تو ہماری ابھی کا جو UML حیرار کی ہے وہ کوج اس طرح کی دیکھ رہی ہے چاہیشٹینڈ چاہیشٹینڈ تو ہم نے اپنے بود کو پورا بنالیا سائیز ہمارا کیا کہ دے بود کی انٹیٹی ہوا گئی ہم نے اس کا ماب بنالیا ایڈنٹیٹی کین ایڈنٹیٹی دیسپلے اور set up board اور ہم نے اپنے پوری کی بودی set up کی حیرار کی بود بنالیا تو یہ ابھی ریلیشٹینڈ رہیشٹینڈ اپنے کی بود Sorry game has a board تو ہمارا یہ بن گیاں اب آپ اپنے چلتے اپنے game والے کلاس کے اندر اور دیکھتے اور کیا کہ چیزے game گیاں چاہیشٹینڈ میری حصاب سے ابھیسلی ہمارے پاس ایک دائیس بھی ہوگا اگر ام ایک سنے کے لیٹر کھیلڈر تو ہمارے پاسلیشٹینڈ چاہیشٹینڈ تو game کے پاسلیشٹینڈ تو یہ کام کرتے ہیں فٹافٹ ایک دائیس کی کلاس بنالیا تھا نیچے اب دائیس کی کلاس تو بہت سمپلے کچھ نہیں ہوگا اس میں اس کے پاس لٹ سے ایکی مثلوں کا رول ایکی مثلوں کا رول جب آپ دائیس کو رول کروگے آپ کو ایک نمبر لا کر دیکھا لٹ سے لٹ سے اس کے پاس ایک value بھی ہوگا انٹ فیسز آپ اس کو determine کرتے ہیں اسٹاٹی میں کتھ نے فیسز ہے تو اگر آپ فیسز میں کرتے ہیں اس سے 6 تو اپنے 1 سے 6 کے بیچ میں نمبر لا کر دیکھا اگر آپ کر رول 10 تو 1 سے 10 کے بیچ میں نمبر لا کر دیکھا اس میں کچھ نے بھی پیر سے کر لیں تو اگر آپ کو رکھتے ہیں کون کی کون سے پیر کی بھی کرنٹ لی باری چل رہے دیکھا آپ کو انا مانسا پیر کیوں میں start-ing بے کر دیکھا اپنے دیکھی اف پیر لییا یعنی کی ہم ایک پیر برانی کی ضراد ہے تو اگر آپ کو نیچھا یہ پیر بنا لیتے ہیں اگر آپ آپ ہاری پیر کلاس کیندر کیا ہوتا گا اگر آپ بیسک بیسک ایک ہم ID رکھلے تھی ہیں ایک ہم string name رکھلے تھی ہیں ایک ہم اس کی رکھلے تھی ہیں پوزیشن کی وہ جو پیر ہے وہ ابھی کرنٹ لی کہاں پیر کھڑ ہے اگر آپ اس کے لابا اور کیا کہ ہم انفرمیشن جیوگی پیر کی اگر آپ ہمیں لٹسے ہم اس کا ایک سکور بھی مانتین کر لیتے ہیں ان اس کا کرنٹ سکور کتھنا ہے اگر آپ اس کے لابا کچھ getters ہوتے ہوگے ایک ہم اس کا فیئے اور ہم کہتے ہیں کہ game has one to many players right Q one to many players کیوں کہ آپ کو بتایا ہے game کے پاس کیا ہے ایک DQ of players تو one to many players اس کے پاس ہوں گئی تو میں نے یہ بھی بنالیا ایک بھی اس کے لابا اور کیا کہا ہوں سکتا ہے ایک بوڑ ہو گیا ایک DICE ہو گیا players کی list ہو گئیں اگر آپ ہمارے پاس جیسے ticktacto game میں تھا اس میں بھی ہمارے پاس روالت کی STREDIG جو سکتے a rule تو ام نے کیا ایک روالت لازกا آبجیک لیا a rule اب یہ روالت لازกا آبجیک کیا ایک STREDIG جیسے کیا کو game کے روالت کیا کیا ہے یاد ہے ہم نے پیچھری video میں بات کی تھی تو سیوڑوں میں میں میں میں میں سے ہم رکھیں گے یہ جو بوڑ کلاس ہے نا یہ ہو گئی آپ کی ایک DUM بابجیکٹ اب DUM بابجیکٹ اگر دیکھا اس کا کام اگر سنگل رسپنسیبلٹی پرنسیبل سے دیکھا جائے تو اپنے بود کو مینج کرنا ہوگا یعنی کی ایک اپنے بود میں کسی SNAY کے لیڈر کو ایڈ کر سکتے بتا سکتے کیا اسمیسنگ کے لیڈر ایڈ ہو سکتے اپنے بود کو سیٹپ کر سکتے ہے وگر وگر پر یہی نہیں باتا ہے کہ game کا روالت کیا اس کو نہیں پتا کیا کوئی جیتے گا کیا کوئی ہارے گا کیا اس کو نہیں پتا کی game میں اگر SNAY قت کرے گا تو وہ کہاں پیئے گا لیڈر اس کو کہاں پیئے گے گے گے گے یہ اس کو ان سب سے مطلب نہیں ہے اس کو بس اس سے مطلب ہے کہ اپنے جتنے بھی میرا بودہ اس کو سیٹپ کرت مو SNAY کے سو لیڈر ایڈر ایڈر ایڈر ایڈ کو دھنگ سے لگا پاں اور ساری چیزے ایڈر کو لاکے دے پاں کیا اس کے لیے ایک کیا کرتے ہیں ہم ایک стریڈڈگی بناتے الکسے کیا یہ ہماری strategic class ہے ہمارے پاس concrete strategy ہوگی اور ابھی کے لئے ہم نے کیا کہتا کنگر ہم اپنے ریکوارمنٹس میں جائے تو ہمارے پاس ابھی کے لئے standard name rules én بس اور بعدم وہ extended بھی ہو سکتے ہیں تو standard game rules کا مطلب کیا ہوا کہ ہمارے پاس یہاں پیئے گیاں جس کو ام بول سکتے ہیں standard rule جو بھی ہمارے standard rule اپناتے ہیں اپلای ہوں گے اور وہی اس کو ایک extend جگہ تو یہ دیکھتے کہ Game Key Valid Move کیا ہوگی تو let's say user کیسی position پہ خڑے تو user یہ خڑے اس کا dice پیک value آئے ہوگی let's say dice پیا 6 تو user آگیا سے 6 دہ ما گے چلے گا اور men's کو board کا size بھی دے دیا تو ہم باتا سکتے کہ let's say board کا size 100 اور user let's say 54th position پہڑے وہ مجھ پیو اس سے مل گیا اس کی تو 54 plus 6 میں کر دوں اگر یہاں میں 6 آیا تو وہ جس بھی position پہ گلٹ سے وہاں پیا جیگا 6th position پہ ہے نا تو 6th position کیا valid ہے این یہ کیسی determine ہوگا ہمتا بھی اس نے کلیٹر میں کوئی move valid کا بوتی ہے دیکھو وہ in a valid صرف 1 گیگنڈیشن پوزکتے ہیں کہ وہ کھڑا ہو اپنی کچھ آخری position پہ let's say 100 گیگا وہ 99 پہڑے تو user یہاں کھڑے اور اس نے dice کو throke اور dice پہ گیا 3 یا کوئی بھی ایسی value اگی جو 2 سے ذا دیا تو یہ 3 تو یہ چلی نہیں سکتا کہ یہ اس کو جیتنے کے لئے بس ایک چیئے اس کو 100 پہ لند کرنا ہے 3 یہ چلی نہیں سکتا تو یہ in a valid move ھا گی تو اسی condition پہ ہم کہیں گے یہ valid move ہے یا نہیں یہ چیک کرنے کے لئے تو یہ آپ کو پتے ہیں understood how to override تو یہاں پہمس کو override کر رہا ہیں is valid move تو same ہم لے لیں position ھا value of dice لیں اور اپنا bode کا size لیں یہ بود کے size اور اپنے position سے یہ انگرنگ کرنے کو بولا وکی کیا ایسر جیتا اگی آپ کو پتے stand rule and a a a a a a a a a a a a a a a a a a a x y t空 tern fray a a a a a bode a a a d nor guess a a d an a d ھاں میں نے دیز رول کے دیس پیلیا لیٹسے 5 تو یوزر یہاں سے 5 ھاکہ جائے گا تو اب وہ جز بھی پوزیشن پے کھڑ ہے وہ اس کی فیینل پوزیشن نہیں ہے کیوں نہیں ہے کیوں اسلے نہیں ہے کیوں اس سے کہاں جز value پے وہ کھڑ ہے وہاں پے کو اس نیک ہو یا وہاں پے کوئی لیڑھا رو اگر وہاں پے وہ اس نیک ہو تو وہاں پے وہ اس نیک ہو سے کھڑھے گا اور کھیں نیچھے لیا گا کھیں اسے نیچھے کے سلپے اور اگر لیڑھا روی تو وہ چڑھا کر گے اپڑھا چلا جائے گا ہے یا نا تو میں کہاں کلکلٹ نیو پوزیشن نہیں یہی کلکلٹ کرتا ہوگا کی اس پوزیشن پے یہ جو میں دیس رول کر کے جو value آ رہی ہے کیا وہ final value آیا یا ہمیں اس کے اپر کچھا نیچھے گاں یوطر نیچھے گاں کیا تو کلکلٹ نیو پوزیشن آپ کو وہ نہیں پوزیشن لگا کر کے دیتا ہوگا اس پوزیشن کے لئے اور اسٹائیس value کے لئے اور اس bode size کے لئے تو میں جلکتا یہ تین مثہد کافی ہوگے روز کے لئے کیا اور کو اس میں رول ہے نہیں ہمارے پاس ایک Win condition ہم نے چک کر لی valid move چک کر لیا draw اس میں ہوتا نہیں ہے right اور ہم نے یہ بھی چک کر لے کی final position کیا تو ہمیں تینوں کو ایک بل یہاں پے over it کر لڑھا لتا اپٹ اپٹ تو دیکھا ہم نے تینوں مثہد کام پہ over it کر لیاں اب چلتے ہیں اپنے بود کی طرف اب پاس سے sorry game کی طرف اور ہم نے کی طرف کی game hais a rule کی کی طرف کی game کی طرف کی game کی طرف کی game کی طرف کی game hais a rule کی game کی طرف کی game и game khaida n Eine landscape bhan gara ar and k$ n n naa to to mic کنسول پیرٹ اینپٹ آساری میسج پرینٹ کرتے رہیٹ تو کنسول نوٹی فیر وہ کیا کرتا ہوگا اسی اپڈیٹ میتھڈ کو overwrite کرالے تھا ہوگا میسج تو کھیر یا پی overwrite نہیں ہوگا یا پیسٹٹکلیار ہوگا یا پیس کو overwrite کرالے تھا ہوگا یہ کنسول نوٹی فیر OK اور میں کہتا ہوں گا کی یہ جو ہمارے پاس game یہ جو game it sorry it has a has a one to many console notifier یہاں پھر اگر ام اسے لستینا لے تو ہم اسے لیں sorry اپنے конкретیشان سے نہیں اپنے اپسٹریکشان سے has a list of one to many observers right تو یہ ہوگیا ہمارے پوڑی کی بودی hider کی OK اس میں ہم نے sari چیدے دالی دیگیم میں اور دیکھلے تھا game میں کیا کیا جاتا ہے تو اس کو اور بڑا بڑا بڑا بڑا OK دیکھو اور ہم کیا کیا میں ترکسکتے ہیں ہم ایک میں ترکسکتے ہیں let's say اس کے لست میں یہ جو پیرس کا DQS میں ایڈ کر دو گئے ہیں تو اپ ایسی getterscentre سٹرکسکتے role کو ایڈ کر لے دیس کو بگئے را بگئے را داللیں گئے لیڈ کر تو پر ہاں ہمارے پس یادتے چاہ سے ہم نے پیچھلے game میں لیا تھا ایک بولین وریبال wining condition تو وہ یہاں بھی لسکتے اس game over جو بتاگا کی کیا ابھی game over ہوئے یا نہیں اور ام again ایک while look جب تک game ختم نہیں ہوتی ہے نا اور ہمنا رہا جو ایک main method ہوتا تھا play یہی وہ method ہو جو Client call کرے گا پوری کی بری game کو چلانے گیلے تو ہماری hierarchy اب ایسی ہو گئے ایگے سمنے سمنے سمنے ساری کی ساری class اس کو hendle ٹھیک ہے ایک class ہم اور منا لیتے جو اپنے پیچھلے میں بھی بنائیتے اگے ان وہ ضروری نہیں ہے پر اس کا ہونا صحیح رہتے وہ کی ہے ٹھیک ہے تو میں کیا کر لے تھا میں game factory بنائیتے ساری game factory وہ کیا کرے گی اس کا بس کام ہوگا اس game کو create کرنے گا ٹھیک ہے تو اس کے بس ایک method ہو گا بس create game تو اس game کو create کر دے گی تو ہمیں کو کوئی اینام نہیں بنارا لٹسے کیا میں ہی بنا سکتا تھا اب اس نے ہمارپتے Extended rule game ہی ہے تو میں ایک اینام بنہ سکتا تھا create standard rule اور میں ایک اینام لے سکتا تھا standard اور فیر return کرتا standard gaming rule یا نکی game میں Civ Standard rule pas grace جہاں میں ٹیک ٹھیک ٹھا میں کیا دا پر کھاہ رہا ہے اب اس کو simple رکھنا ہے اور یہ ہمارپتے ٹھیک ہے یہ ابھی ہماری پوری پروٹی ہرار کی دیکھ ری ہے ایگے سمدہپنی ساری ٹھیک ہے ایک بہر ہم اس کا فتح فتح فتح فتح فتح دیکھے اور فیر دیکھتے پورا Κبورا اپنے لیڑر گیم کا ساڑی کی ساری چیزے سیمے ہم نے گیم کی فکٹری بنائیں ایک ٹائیز بنائیں ایک بوٹنٹیڈی بنائیں جس میں سنیک اور لیڑر دونوں ہیں پلیر بنائیں اور اپنی یہ جو ساتھ اپسٹیگی ستیگی ستیگی ستیگی اپنے رنڈم ستیگی اور کسٹھم ستیگی سارے کی سارے میں ہاتھ سیم ہے جو ہم نے پیلٹکلیر کیے تھے روز بنائیں اور ستیگی یہ دو سٹرانگ کمپوزیشن میں باکی پورا گا پورا شٹرکچر ہم نے اولمو سیم رکھا ہوئے اب ایک بار ہم فلو دیکھلے تھے اور اگر آپ نے میری پیچھلی فیڈیو دیکھی رہا تو اپنے اس کا فلو بھی ایک دم ایزلی سمجھا جائے گا آپ کو پتایئے کیا ہوتا ہوں گا کلایٹ اس پلیو والے میتھڑ کو کال کرتا ہوں گا جس میں اپنے گیم ستاڑ ہوں گے اب جب گیم ستاڑ ہوں گینا تو ایک چلی سب سے پہلے کیا ہوں گا سب سے پہلے ہم اس پلیرس کے دیکھیوں میں جائیں گے اور اس پر کرنٹ پلیر نکال کے لیکے تو پلیر 1 ہو گا سب سے پہلے کرنٹ پلیر اور یہ سب کچھ ہوں گے کہاں سب سے پہلے گا جس میں لکھا ہوں گا ویل اس گیم اوور اس نوٹ رو جب تک گیم اوور ٹرونہ ہو جائے جب تک گیم ختم نہ ہو جائے تو پہلے کچھ کچھ کرتے رہا اور کیا کیا کرتے رہا سب سے پہلے پلیر نکالوں اس کو بولو درول دلائز تو پہلے دیس کو رول کرے گا اب دائز کی کچھ ہوں گی ہم وہ رول کو بولے گے اس پلیرڈ بوف اوور اس نوٹ رول وہ ہم پلیر کی پوزیشن سے نکال گے پلیر دوٹ پوزیشن اس کی پلیرڈ بوزیشن جو بھی دائز کی پلیو آیا گی وہ اور جو بھی بود کا سائز ہو گا بیسکلی یہ جو ہم نے بود کنسٹ کیا گا اس کا سائز ہم دیں گے اور بوچیں گے کہ یہ ویلڈ بوف ہے اب یہ کیا چک کرے گا رول کی یہ ویلڈ بوف ہے یا نہیں میں نہ کو بتایا تھا کوئی بھی ویلڈ بوگی جب اس لٹ سے اس گیم میں آپ 100 سے آپ کو جیتنا ہے اور آپ لٹ سے 98 پکھڑے ہو 98 99 0 تو آپ کو 2 چیے پر آپ کے 4 آگے تو 4 ویلڈ تو چل نہیں سکتے تو وہ ویلڈ بوگی تو اس سے آپ سے 3 یا 4 سردن کرے گا کہ یہ ویلڈ بوف ہے یا نہیں ہے اگر میں لٹ سے یہ ویلڈ بوف نہیں ہوتی تو پلے کیا کرے گا دوبارہ سے بوڑے گا پلے روان کو کی بای دوبارہ دائیس رول کرو اگر لٹ سے یہ ویلڈ بوف ہوتی تو یہ جسی مف چل دے گا پلے وہ اس کا میتھڈ کال کرے گا پلے کی کلکلٹ نیو پوزیشن کی بای پلے روان نے اپنی پوزیشن سے ایک نمبر لیا لٹ سے دائیس میں چھے اب تو باتا کہ جب وہ ہوسکوں میں چھے پچلا دوبارہ لٹ سے یہاں پہ اگر اگر اگر دوبارہ سے پورا بنایا وییڈ بوڑی ہاتا اس نے ایک ویلڈ بوڑی شریع وہ یہاں گیا تو یہ اس کا کالکلٹ نیو پوزیشن کر کے پوچھ رہے گی یہاں پہ کیا کیا کو اس نے کیا لیڈر تو نہیں ہے تو رول کیا کرے گا وہ چیک کرنے کے لیڈ رول جاگا بوڑ کے پاس اور بوڑ کے پاس ایک ہمیں نہیں پہتا ہے نا تو ام نے اس کی ویڈنگ گیڈیشن چک کی تو اس نے کیا کیا پوزیشن دیا اور اس کو اپنا سائز دیدیا بوڑ کا اپنا ویڈنگ گیڈیشن چک کرنا تو بہت سمپل ہے آپ کو پتا یہ آپ کو بسی چک کرنا یہ جو پوزیشن ہے یہ جو پوزیشن ہے کیا یہ ایک ویڈکوال بوڑ کے سائز تو نہیں ہے یعنی کی بل last پہتو نہیں پوچھ گی لٹ سے کر 100 بوڑ کا سائز تھا تو 100 تک نہیں پوچھ گیا اگر پوچھ گیا تو یہ рیٹن کر دے گا True جس یہ True RETUNK کرے گا لٹ سے اس نے RETUNKED True تو Play ڈکڈگا Game Over کو True ڈکڈگا اور Loop ڈکڈگا اگزٹ کر جا اگزٹ کر جا گا اور وہ ہو سکتا بیچ بیچنوٹی فائی بھی کرتا کہ بھیا Game تو ختم ہو گئی ہے تو یہ وہ کر سکتا ہے اور اگر Game ڈکڈگا نہیں ہوئی ہوتی تو Winning condition RETUNKEDتا FALLS یعنے کی user کی نہیں Position A چکے پر user جیتا نہیں ہے اب وہ کیا کرتا DQ میں دوسرا Play ڈکڈگا لٹ دبارہ سے اس کی VALID MOVE CHECK کرتا New Position ڈکڈگا لٹے VINNING GANNITIشن ڈکڈگا لٹے اگر وہ نہیں جیتا ہوتا تو دبارہ سے اس کو پیچھے لڑے تھا دبارہ سے Player 1 ڈکڈگا لٹے اور اس طرح سے Game ڈکڈگا چلتی رہتی جب تک کوئی جیتا نہ جائے RETUNKEDتا جیتے گا یہ RETUNKEDتا TRUE ڈگیم ہو جائے گی OVER ڈکڈگا لٹے بہارے Exist کر جائیں گے یہی بلکنو ہوتا اس میں TITECTO میں یہی ہم گارے اس نے کہ لٹر میں ایک چیز اور پیچھلے دگرام میں ہم نے ہم نے ہم نے نوٹیفائے والا میتھا نہیں لکھا تھا یہاں پہنے نوٹیفائے بھی لکھا ہا اس گیم میں RETUNKEDتا اسے گیم میں یہاں پہنے لٹر میں ایک چیز اور اسے گیم میں تک کوئی جیتا تو ہم نوٹیفائے گیم لٹ سے کسی کو کوئی لیڈر ملکہ یہاں اسے گیم میں تو ہم نوٹیفائے گیم وگرہ بگرہ اسے طرح سے پورے کی بوری گیم چلتی رہی گی چاپتا گیم ہوگی یہ آپ اس کا پورا کا پوراستندڈائگرام دیکھ سکتے ہو آپ چلتے ہم اس کے کوڈ ہمارے پاس پہلے ہیک آئی آبضرور جس کے پاس ایکی میں θلوتی اپڈیت اب یہ تو ہمارے پاس کیا ہے اپسٹٹ میں θڑے تو ہم نے سے کنگریشن میں آگیا SNAKE AND LITER CONSOL NOTIFIRE اس کے پاس اپڑڑیت مسئر جس نے کیا کی اووورائڈ گیا اور جو بھی آیا اس کو کیا کیا نوٹیفیکیشن اور جو بھی ہمیں سی جاتے اس کو کنسول پے پرینٹ کرواتییا ٹیکے ہم اپنے ایک دیس ایک دیسپلے ہم نے ایک اور میتھا رکھا ہے یہ صرف اس کے لیٹھے کی اس کا نیم کیا ہے کہ یہ کس نیک ہے یہ کس نیک ہے یہ کس نیک ہے اب یہ کامائے کا کبھی جب ہم اس بوٹ NTD's کی لیسٹ میں لبترکہ کریں گے ہم نے کہے کیا ہے اب ہم نے دیکھا اس کی کنگریٹ لاز بنے ایک بنالیا SNAKE AND LITER اب SNAKE PAS کیا اس نے کیا کیا دیسپلے میں دو کو اووورائڈ گیا اور یہاں پرینٹ کر دیا کیا بھی توسیٹ بکارتے start or end اور ہم نے Output Print کر دیا اگر End is greater than equal to start تو ملدے انووالیڈ SNAKE کیا بھی End ہمیں ساکام ہونا چے start سے کیا یہ تو فر لیٹھ ربن جائے گا کیا اور ہم نے اس کا جو Name والا میتھا تو اسے overwrite کر دیکھا کیا لیکا سے Flitter SNAKE ساکیں بتا لیک جائے اسے ایک LITER اس کے میں دیکھا ہم نے Same ایک Veliation لگا اگر End چوٹہ ہے start سے کیا کی LITER starting position ending position اور Name کیا Return کیا LITER چا لے آگے بڑھتے ہیں فر اب نے کیا کیا اپنی Board کی Setup Strategy کیا یہ تو ہم نے فاش Sorry Forward declaration کیا ہم بادم میں نائیں گے پہلے مناتے ہیں پھر بود گلاز تو ہم نے Board کیا کیا کیا ایک Size Lillia ایک Vector of Board Entities Lillia جو میں باتیت اس کا نام ہم نے رکھا SNAKES End LITERS اور ایک Map Lillia Integer coma Board Entity کیا کیا نام رکھا Board Entities تو یہ بتاکھا کیسی بھی Integer کیسی بھی Index کوئی SNAKES نہیں ہے اور اگر ہے تو وہ кон Poseis تو یہ محبتا ہے اور یہ Vector کیا نام کیا نام کیا کیا کیا نام کیا نام کیا نام کیا نام کیا نام نحنی فالس چلو اب اگلہ مطر دیکھتے ہیں اید بوڑنٹٹی اید بوڑنٹٹی کیا کرتے ہیں سبسے بل چکرتے کیا نحنی اید بھی کرتے ہیں اگرم کرتے ہیں تو نحنی فالسن لیڈرس جمعنا ہے انا انٹٹیس کا اس میں پشبیک کر دیں گے اس انٹٹی کو اور اپنے مابیس کو دال دیں گے یعنی کی اس انٹٹی کا جو start اس کا start pointer اس میں ہم دال دیں گے اس انٹٹی کے اس پورے کے بوری انٹیٹی کو تو ایک تو یہ ہو گیا اب دیکھو دونوں کا start important کیا اس نیک کا start آپ کو اس کے end دیکھتے ہیں اس کے tail تکلے گے اور کسی stares کا start آپ کو اس کے tail یعنی کی اس کے top تکلے گے تو ہم امیشہ start کو کسیٹر کرتے ہیں as that entity تو اگر کسی بھی سل میں اس کا start تو ہم انٹیٹی پریزنٹے تو ہم اپنے اس کو مجھے اپنے سمپل سلو آگے بڑھتے ہیں اور کسی میں جو بہد کو ست کرے گا ایوزنگ دستراد دیجی پر اسکم بعد میں دیکھلے کریںگے کیا بھی دیکھیں پھنے اس پر نیچھے دیگی دیکھو ہم بعد میں دیکھلے دیکھیں اور امیشہ ایک مہتھا ہے گیٹنٹی تی ہماری آپ کو کیا گلا کر دے دیگی دیگی تو پہلے وہ بہدنٹی تی اس میں فینگ کرتے ہیں کی وہ end اینٹی اس کے تی اسے یہ کامائے گے گے گیمکھ ہیل رہوں گے گیٹنٹٹی گے میں گیس میں کو انٹٹی ہے یا نہیں ہے یہ تو بیسی گیٹر سیٹر سے گیٹ بورسائیز آپ کو سائیڈنگ کر دے گا اور دیسپلے میں تھا پورے گے پورے بور کو پرنٹ کر دے گا சکے سارے شنگ سپرنٹ کرے گا دیکھو سارے لیڑر سپرنٹ کرے گا وگرہ گیا گیا گیا گیا یہ ہو گیا بور کا بیسیگ دیسٹڈر اور بور ہمارہ خطا ہو گیا اب ہم دیکھو بور سیٹٹر پسٹیجی کو دسکس کر لیڑیں اس میں اپنے ایکی میں تھا سیٹر پپ بور دیکھا میں نے کیا کہاہتا ہمتینڈ رکی شریتے جی بنیں گے رہنڈم سیٹر پسٹیجی اور سیٹر پپسٹیجی جی گیا ہے تو ایکے کرے گا گے دیکھتا سپس پہلے رہنڈم بور سیٹر پسٹیجی میں نے کہاہتا ہم ایک اینہم لنگے ایزی میڈیم اور ہاد کا اس اینم گنا میں اس کلاس کے بہار بھی لے سکتا تھا پر میں نے گیا ساوچا کی کیوں کیوں کی اس کے لے SPECIFIC ہے ہمیں صرف اس رنڈنم بود STREETGE GLEI اینم جیے تو میں اس کو اس کے اندری دفائیں گایا تو آپ کو بتا آپ یہ بھی گر سکتے ہو آپے کلاس کے اندر اینم لے سکتے ہوئے ہے نا اب دیکھو میں کیا کروں گا Easy میں Easy میں میں زادہ لیڈرس بناؤں گا اور کم SNIX Media میں دنوں کو ایک کل بناؤں اور Hard میں زادہ SNIX نا اب دیکھو میں نا اب دیکھو میں نا اب دیکھو سب سے بھی میں نے ایک دفیقلٹی نام کا ایک او بجیگ اینم لے لیا یہ کہاں سے لیا اس میں در کو بعد دیکھا ہے پرائیوٹ میں تھڑے سب سے بھی میں نے کنسٹر میں دفیقلٹی لیا ایوزر سے تو تو میں جا بدا کیس طرح ہے دے وہ دفیقلٹی سے خیلنا ہے تو ایوزر ایک دفیقلٹی دے گا اب سیٹھا بود نام کا جو میتھا تھا جس کو میں Override کر رہا تھا میں نے اس کو Override میں کو چکا چکیا سوچ دفیقلٹی اگر دفیقلٹی ہے ایسی تو یہ والا جو پریوٹ میں تھڑے میں نے سے call کیا سٹھپ with probability میں نے دیا دیکھو سٹھپ probability کو بود اور probability دی 0.3 0.3 میں نے 30% SNIX 70% لیڈرس بڑھا یعنی کی یہ 0.3 probability سے SNIX کو بنائے گا اگر میڈیا میں تو میں نے SNIX کی probability دی 0.5 میں نے کی 50% اور اگر ہاد ہے تو SNIX کی probability 70% اور 30% لیڈرس ہو گئے اب سٹھپ with probability کیا کرتا ہے کہ کچھ نہیں کرتے یہ بود جو بود بود کا size نہیں کرتے ہیں ہم معنگے چلتے ہیں کیا ہم نے نے کیا نکس اور کیا نکس ہے کہ اس کے اس میں اس سے ہم خودی تیرمین کر رہے ہیں تو میں توٹل Entities کیا نکس اور نکس اور نکس ہے کہ جو بھی بود کا size بیٹن کر رہے ہیں ہم نے نے 10% کیسی بود میں Entities ہمیں اب وہ نکس اور لیڈرس ہمیں کیا اس کے اس میں پچاس بٹرائے کریں گے کسی لیڈر کو ایڈر کرنے گا یہ پچاس بٹرائے کیوں کریں کیا ہوں سکتے ہیں یہ بود کا can add Entities یہ باربر falls return کیا مطلب کہیں گے یہاں پہیں Entities تم دال نہیں سکتے ہیں اب دبارہ سے دبارہ سے start or define دبارہ سے start or define تو پچاس بٹرائے کریں کیا ہے ایک پروبیلٹی میں ایک نکس اور نکس اور لیڈرسے ہے ہم نے پچاس سے اس کے لیکن کسی لینڈرم پہیں گے کیا ہے تو یہ تو بہت نورمالسا لوگے بہت نورمالسا لیڈرس کو ہم نے اس کے لینڈرم جنریٹ کیا اس کو try دیا 50 بار اور جو بھی ہم نے start or define دیا start اور دیا اس کے لینڈر کیا اس کے لینڈر یہ تو بیسک میتھڈ سا ان کو فیل کروانے کے لارنے کو call call call کرے گا جو وہ اس بھولین variable میں falls اس کے لائوہ جو بےسک میتھڈ دا set up board اُس کوم نے over edeد کیا سے کیا تھی نووضلیا سب سے بلے چک کیا کیا rendham Position true تھی نوضلیا اس نےق سا نوضلیا اس نےق سا نوضلیا اس نےق سا نوضلیا اس نےق سا ایک جنرےٹ کیا؟ چک کیا؟ جنرےٹ کین ایڈ کرسکتے ہیں اور اگر کرسکتے ہیں تو ہم نے اس کو ایڈ کر دیا اور Snakes are it plus plus کر دیا اس طرح ہم قبتکس نے ایڈ کر دیں گے جب تک وہ Number of Snakes ایڈ کر دیا سیم طریقے سم نے Lider کو بھی ایڈ کر بھیا پر ماان لو Rendham Position Falls ہوتی باتھا بیوڑر کھت باتا تھا کی مجھے Snakes کو کہایڈ کر دیں تو اگر این اگر وہ کھت باتا تھا یعنی کی وہ این Methods کو call کر دیا تھا Add Snakes Position, Add Letter Position کبتا گیڈ کر دیا تھا جب تک وہ این ایڈ کر دیں بیسیگلی جب تک وہ Satisfine ہوجاکی اسے اپنے ساری Snakes و Lider کو Dullwalی ہے ایک بہت Dullwalی ہے تو ام L's میں ایک ایک ایک ایک ایک Vectors میں loop through کر دیں Snakes Positions, Lider Positions ایک جم نے Vectors of Pairs بناراکے ہیں اور جہا جہا بیسیگلی ایڈ کر دیا ہم اگین وہاں پہ اینٹیٹی کو ایڈ کر دیں چک کر دیں کیا ایڈ کر دیں اگر کر دیں تو ایڈ کر دیں اگین Lider کو ایڈ کر دیں اگر کر دیں تو ایڈ کر دیں تو ایڈ کر دیں تو یہ ہو گئی ہم ایک our Custom Strategy اور ایک ام لیجا سپنی کامن بنائیں وہ ہے Standard Board Setup Strategy یہ گر ریا میں آپ کو بدایا تھا یہ Setup Board کو بدایا کیسے اوووریٹ کر دیا جو Standard طریقا ہے نا کیسی Board کو اووریٹ کر دیا اس طریقے سے اووریٹ کر دیا بسیگلی جہا Snakes Oni Chema Snakes جہا لیڈ کر دیا جتنے Snakes Oni Chema اوطنے Snakes اگر اگین دیکھو یہ جو Strader جیسر Funt 10 Cross 10 کیا کامن کرے گی کیا آپ کو پتے جو Standard Game وہ صرف 100 Cells کے لے بنیوی ہے تو اگر بود کا سر 100 نہیں تو امپرین کر دیں بیچٹنڈ Setup Only Works for 10 Cross 10 Returned چکے تو دیکھا ہم نے کیا پہلے سارے Snakes کو اژ کر آلیا تو بود .add .entity یہ ہم نے سارے Snakes کو اژ کر آلیا ایسے ہم نے سارے LADDER SPRED کر آلیا یہ ہم نے کہاں کر آلیا یہ ہم میں نے تو سیدہ Google سے اٹھا کہاں کہاں کہاں بھای ایک actually Snakes وٹھاں کہاں کہاں actually LADDER سوتے اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب دیکھیں گے گا ہم ہوا پھر گیے گا سپنڈیجیز ختم ہو گئی اب ہمارہ جو دیکھا بوڈ کا سٹہ بوڈ جھر کنام کا بیتھر تھا اسے مدفعیگ کر سکتے ہیں کیوں اس کو شٹرٹےجی کی ضرطتی ہے تو وہ کیا کرتا تھا کچھ نہیں کرتا تھا اس رٹےجی کا سٹہ بوڑ کال کرتے تھا تھا۔ یعنے کی خود کو دیکے اب سٹہ بوڑ کال کرے گا ہی گا جی گا ہم ہوا اپنے آپ کو دیکھا یہ بھی ہماری ارس وہ ہے, стریتے جی قلاز ہے تو یہ ہم نے اپسٹٹ بنالی اس کے پس 3 میں تھنا ہے اس ویلٹ موف, Calculate New Position اور Çec Win Condition ہم نے آپ کو بتا ہے تھا دروک انڈشنز میں کچھ ہوتی نہیں ہے ویلٹ موف میں کیا کرے گا, Current Position لے گا, Dies کی value دے گا, Board Size New Position میں بھی Current Position Dies کی Value Board اور Win Condition کیا سے چک کرے گا اس کو بس Position چاہیے, جاں پہ user currently کھڑا ہے اور Board Size چاہیے, that set اب اس کے stand-up rules دیکھلے تھا جو بیسی کے ہے میں نے کہاں کہاں کہاں, Value Board اگر Current Position Plus Dies کا Value Smaller than Equal to have Board size تو وہ Move Value اگر وہ greater than ہو گیا تو وہ Move Value نہیں ہو رہی گی Equal to ڈاک چاہیے گا کہ دیگا کہاں, user 100 Endpoint اور user 98 پھر ہے تو user یہاں تو 2 لازکتے ہیں 100 پہ جانے کے لے یا 1 لازکتے ہیں انتے ہیں کہاں پر 3-4-5 اور Position اس کی آگے گی تو وہ Move Value نہیں ہو گی تو Current Position Plus Dies Value اگر Board size کو Excerpt Excerpt تو وہ Move Value نہیں ہے تو یہ Basic Value Move condition اگر New Position آپ کو بتایا ہے اگر Current Position Dies Value پیلے ایک Intermediate Position لیتے ہیں پیلے New Position Equal to Current Position Plus Dies Value تو اس کے New Position اب ہم بولے کہ Board کیاں کہاں کہاں کوئی Entity ہے گیاں تو وہ میں Entity لا کر کے دیدا کہاں ہوں گی تو اگر کوئی Entity نہیں ہو گیاں اگر نہیں ہے اگر مطلب ہے تو وہ Snake یع�ے لیٹر ہی تو جو بھی تھاں حم بولے ہیں Entity کا End Locker کہاں تو Snake کیاں نیچے ہو گا لیٹر کیاں گیا گیا پر ہو گا تو جو بھی End ہو گاں Entity وہ ہم Return کیاں سے کیاں وہ نیو Position بن้ل تھا جو بھی یہ جو نہیں Position اگر لیسے ہم وہ He Rotter بھی دیکھاں سمپل Eric Simple Итак ہے نہ اور ایک فیل تھا ہمارہ کلکولیٹ Win condition یہ بہت سمپل ہے یہ چک کرتا ہے بسیڈیو پوزیشر ہے کیا یہ بوڑھ سیس کے ایک کل تو نہیں ہو گئی بہت سمپل Win condition ہے رہیٹ ٹیکٹیکٹوں کے بلکی کامplicatedتی ہمیں چک کرنا بڑھتا تھا کہ روز بھنڈ رکھا ہے کلام بھنڈیگنالز بھنڈ رکھا ہے اس میں بس چک کرنا بڑھ رکھا ہے کہ ایوزر کیا آگے آگے آگے آگے آگے آگے آگے تو جیدیا سمپل اب چلتے اپنی main اپنی اورکشٹیٹر کلاس گیم کلاس کی طرف ٹیک ہے ہمارے پہ سمپر بود تھا ٹائیس تھا ٹیوڑ ستے دیکھیوں میں روز تھے اپزاروڑ ستے اور گیم اوور گا ایک بھولیان پر لدسے آپ کہتے مجھتے رہنگم گیم چیے تو آپ بود کا size بھی لے تھے اور دفیقلٹی لیوول بھی لے تھے اس کے اس میں آپ کا پہلے بود کا size اپ سے لے تھا strategy بنا تھا اور strategy کی سے بنا تھا rendham setup strategy بنا تھا difficulty level پے تو آپ کہتے پھنے ہاڈ game کھلیا تو ہاڈ باست کرتا اور آپ کو بتایا وہ کیا کرتا 70% snake's generate کرتا 30% آپ کے کیا جنٹ کرتا لیڈ رہنگڈ کرتا یہاں پے set up boudko strategy pas کرتے تھا اور فریکт dice بنا تھا 6% اور فریکтنایاں snake's letter game بنا کے اس کو boudour dice دیدے تھا simple اور finaly amkya katte ایک create custom game بود کا size لے تو ایک strategy لے تھے اب custom game hani ki آپ boudour size بتا ہوگے آپ strategy جو بھی آپ decide کر رہنے وہ بتا ہوگے اور again dice stop خود سے ترمن کر لوگے 6% اور again snake's letter game بود اور dice دے دے دے دے تو strategy بھی آپے کون دی رہاں کلائن دی رہاں کی مجھے کون سے strategy جیے تو یہ تین درا کی بیسیگلی ماہ نے کیا کیا ایک template بنا لیے کیا آپ کو اگر already money بنائی game چیے تو آپ ان میاؤھرس کو call کر سکتے ہو چلو اب چلتے آپ نے main method کی درف main میں کیا کیا ہم نے پہلے game کا object بنائیا boudour object بنائیا چلو ابھی اس کو null رکھا ہوئے اب ہم user سے بولیں گے کیا آپ کو کیسی game game game standard game random game یا custom game تو user جو بھی choice کرے گا اس کیا آپ نے game کو چالو کریں گے اگر وہ کہے گا standard game تم snake and letter factor کو بلیں گے standard game بنا کہ دے boudour کو کریں گے نہیا boudour اگر وہ بلیں گا random game تو again ہم کیا کریں گے اسے اور چیزے پوچھے گے کی easy hale na medium gale na hard game تو جو بھی difficult level user کو gale na ouga وہ یہاں پہ اہم ان پوت دے دے گا اور اس پہم switch ck اگر difficult easy ہے تو ایزی کا object بنا کہ دیں گے difficult setup strategy . easy اگر different sorry of it difficulty our jo boudour jou user difficulty let's say aad dhiyo ghi tta snake and boud boudour size dhiyo game ls if last qais 3 boudour size exact you position custom us x x snake and bottom is snake and this normally put pt qais dhiyo pt qais nd pt qais nd qais qais x x x x x x x x یہ کہ انٹرсنیک, انٹر لیٹر.
تو کہ آپ اس کو بھی کوڑو بھر انگر کے دیکھو کہ آپ کو سمجھے گا کچھ نہیں کیا ہوا. ہم بس user سے input لیٹر ہے بار بار. اگر let's say user کہ رہا کہ میں تو ایکزیکلی بتا ہوں گا. کہاں snake style نے کہاں لیٹر دال نے exact positions بتا ہوں گا.
تو میں user سے input لیٹر ہے. start end لیٹر ہے start end لیٹر ہے. اور دیکھو ہم نے کہاں strategy کا add snake position add letter position. یہ call کرتے رہے.
اور یہ کون سا métھے آپ کو پتایا ہے. یہ صرف ہماری custom strategy میں بناوہ ماہتے دیٹر add snake position add letter position. یا پہنے دیکھا ہی تھا. اور final i m نے اس کا بھی بنالی ہے.
اور ہم نے bode میں کے دا دیا. ایک نیا bode کا بجیک بنالی ہے. اس bode size کے ساتھ. final i m نے checkedا لیے کی game کیا نلطو نہیں ہے.
اگر نل ہے تو bode ng choice invalid. ان میں سے کوئی return garo. بسکلیں ان میں سے کوئی use garo. case 1 or 2 or 3 میں سے کچھ دالو.
و ایک کیاں کچھ آپ نے کچھ observer بنالی ہے. تو basic cg s. بہت سمپل ہے. سب سے پہل دیکھا ہم نے checked کہ ہمیں کم سے کم دو player چی کل لے گے.
تو player dot size less than 2 چیے. پھر نے notify کیا game started. bode کو display garo. اور جب تک game over نہ ہو جہے.
تبتا ہم اس loop کو چلاتے لہتے گے. آپ کو بتا ہم کیا کریں گے. سب سے پہلے ہم current player nigha lenge. اس players جو dq v.
اسے front row tying. اور وہ مرہ پہلا player milia. جس کی باری ہے. ہم اس کو بلے گے.
تیری turn it. اس کو role car. ہم نے dice. role car.
or see not. seen dot get. یہ بس اسے جب ہم انٹر پرس کریں گے. تو dice.
role. جا ہے اور ایک آگے value. بس یہ اس کے لئے. تو جس جو بی dice.
کی value ayer. ایندم لیا گی. تو dice. role.
سے میں value. اس کے بعد کیا کریں گے. ہم current position. جو بی current player.
ابھی کی position. وہ میکر انت پوزیشن ہوگی. اب checked. کریں گے.
کیا valid move. جو بی user. current position. role.
is valid move. ہم نے call. کیا ایک آگے. کرتا ہوگی.
اب جو end. psi 100L. اس سے اگر a. پیچھے ہوگ.
تو وہ move valid. اب کو بتا گئے. تو سب سے بلدے ہوئیس نے کیا نکا رہا, انٹر میڈٹ پوزیشن نکا رہا. اب کی current position.
بلدیس value. اب ہم نے دیکھا کیا. Calculate new position. call.
now. اب کو بتا a calculate new position. کیا چہے گا. user.
current position. دائس کی value. اور چیک کرے گa ki ھیک کی اس کی نی پوزیشن کیا بیسکلی پہلے تو وہ current position plus dice value nk a lai kea kea kea vaa pe koi antiti do nai hai aagar antiti hai اس antiti ga start hai basi kili vaa pea تو جو بھی اس کا end hoga ga lader hai تو toppil e gaa aur snake hai تو nitsa taki legaa ka تو niu position pe wali position laa dea ka tiki hai تو اور اس current player ki set position baam kar dea kea niu position hea ni ki ab huzar vaa peaachu ka hai let's say kars snake tha تو snake nitsa dhata aur maa nitsa taka gaa user jaha pe tha jo jis intermitted position pe khala tha vaa pea kea snake a lai kea later to ni tha iais herf notification bhi jne kea kea تو mne kea kea kea ki boad dot get entity intermitted position aur agar boad antiti null nai hai i ni ki antiti is not equal to null vaa pea kea kea kea kea kea kea kea kea kea kea later hoo tam ni check karlia kyaise iis snake se agar antiti ga name print kary aur snake kea kea kea kea kea loo to snake hoo gaa ni to later hoo aur iais herf notification bhi jne kea kea agar snake tha to mne notification bhi jne ki bhai snake encountered aur agar later to her notification bhi jne later mil gai user ko tki hai bhai ki position to ski update hoi chukhi hai hap ni notify kardia ki bhai player one ne khalia player to ki position hai aur display kardia boad ko abh do cheeze checkan ni thi ek to bhai leh me ne check ki aur ski winning condition agar user jeet rah hai tam ni message print kardia bhai game khatam o gai user jeet gai aur game over ko aria true agar winning condition falls hai to ko bha tha ye hap player ko pop out karenghe friends hai aur pushback kardine last me aur yeh dhubara se chalega abh yeh dhubh kiska else hai iska is valid move ka hap niya kya te agar yeh move valid i niy hoti hap user ko to hake peachad alte hai aur kya te te bhai exact roll cheeye teh ko end takh pao chne kele maa tha wo hnded end hai aur wo 98 phe kad hai to jab ta kdoni hai ka bo jeete hai nahi abh do niya hai maa aur skhaa charaa gaa koi bha tha abh yuzar bhandu bha yuzar to chalega nahi na to wo suko vade karna bhaa hai kaa jab to suko khaa do niya tha yeh iy hodana game me to yeh uski else wali kandition hogi yeh bhandu gya wail loop abh yeh dhubara chalta rai ka jabta kaap ki game over na huja jaa game ka bo over hogi jabta koi game jeet niya daa jabta game over tru niya hojaati yaa ni ki hap ismini chalea te che khaa win kandition pei thige to to kao flu pura kava ra samaj aayi gaa hap niya bhi diskas kaa liya chalo abh am fatda fatse ek baar isko start kaa kare kya teh hai thige kya to sabse pal isnam se kya bo uca ko onsi game kya niya let's see hap abhi ke leh standard game set kare teh to number of players hap niya daa lah tu to peh leh khaa mne naam daal diya let's say aadid diya ek naam daal diya hap neh hodshita aur isne koha mne bhoor ki konfiguration laakar ke teh di 100 sell seh isne snakes koha kaha kaa daa lah in jaga hope daa lah ek 99 peh uska start haa aur end leh ke jai ka 50 vore peh ek 95 peh start haa end leh ke jai ka 75 peh isne snake jale aur letters jale to usaktai standard set haa bo to abh last mo seh aadid teh ki teh neh please enter to roll the dice thige khaa mne jasi enter the baya dice roll ha mney nai pozitio nage ivan thige khaa thige pozitio nge ivan hodshita ki zero abh dhubar hodshita khaa khaa mne enter the baya aaa ek sorry enter the baya abh hodshita nge khaa aa bo uca 4 to uski pozitio nge ivan aur isne khaa se meh chalta hai gaa our positions change hodhi rei ki jabta kkoi winner na ho jai to dhubar hodshita abh dhubar hodshita yaha pymar sko pura khe liya last meh khaa aadid teh hodhid teh haa bo uca aadid teh haa bo uca game ended winner is aadid teh thige khaa aur usse peldih ho kitne bar dice roll kana pada khaa ki khaa ek khaa last mhaa jai hai geh 97 96 aap bo uca khaa par kisee snake ne katke liya to dhubar hodshita khaa dhubar hodshita khaa bo uca right? 2x56 2x opat channa churu kare pere se karte karte karte karte karte karte fere snake ne katke liya dhubar hodha nee chao khe wa kere wa kere so, like normal game chal tiya usse tara se game chalehi ki thige khaa i hope, aap ko mazaa aaoga ye pura kapura architecture samaja nae meh aar sko kuchse kreet kar nae meh aap meh chao hain kaa aap sko ek stand karo kuchse s game koh kyaa kyaa changes kkar sakao kyaa standard ke alawa aap ne khodike kwan se set ups leke aasak teo thige hai aap bi tome ne standed rules sakao hai aap sko ek stand karo khe kog google pe jagarge aap koan kwan se rules ho sakao nae unstradigji sko introduce kkoo ose kuchse method sliko khod ke logic lik ho ride to aap sko betr tari ke sa samaja paoge aap isara ke alaidi qeshaan sko bhaat kaman ae khaas kaar fresher level interviews pe puh saa yad aap snake and ladder ka low level design mao toe isara ke qeshaan sko baat kaman hae interviews me par aap aap in qeshaan sko aap se perfecto jauge aap in ke aachhaa se practis kao aap bi asi games kaaap practis kao low level design ko bhaat kyi baak ki ish video meit nae aap se milte nae next video me tapta kailia thank you so much
Lesson FAQs
What is Build Snake and Ladder Game | UML + Code | System Design about?
ان جی تو کرے شاٹ Welcome Back Order Army our Celestial Eldi series and today we have brought a new allelty design problem and this is exactly the same as we did in the last video in this video we will make a game whose
What key concepts are covered in this lesson?
The lesson covers build, snake, ladder, game, code.
What should I learn before Build Snake and Ladder Game | UML + Code | System Design?
Review the previous lessons in System Design Full Course, then use the transcript and key concepts on this page to fill any gaps.
How can I practice after this lesson?
Practice by applying the main concepts: build, snake, ladder, game.
Does this lesson include a transcript?
Yes. The full transcript is visible on this page in indexable HTML sections.
Is this lesson free?
Yes. CourseHive lessons and courses are available to learn online for free.
