නිරාකරණ නම් වෙබ් ඔබ එක් එක් නිශ්චිත පාලනය ස්වාධීනව, ව්යංගාර්ථවත්ව කෙරෙන නීතියක් එන්ජිම නිර්මාණය කළ හැකි ප්රශ්නයක්. මේ සඳහා තවත් ශෝධනයක් වනුයේ නීති රීති නිර්මාණය කිරීම සඳහා වසම් විශේෂිත භාෂාවක් (ඩීඑස්එල්) නිර්මාණය කිරීමයි, කෙසේ වෙතත් ඩීඑස්එල් පමණක් ගැටළුව එක් කේත පදනමකින් (ප්රධාන) සිට තවත් (ඩීඑස්එල්) දක්වා විස්ථාපනය කරයි. ව්යුහය නොමැතිව ඩීඑස්එල් ස්වදේශීය භාෂාවට (ජාවා, සී # යනාදිය) වඩා හොඳ නොවනු ඇත, එබැවින් වැඩිදියුණු කළ ව්යුහාත්මක ප්රවේශයක් සොයා ගැනීමෙන් පසුව අපි නැවත ඒ වෙත පැමිණෙමු.
මූලික ගැටළුව වන්නේ ඔබට ආකෘතිකරණ ගැටලුවක් තිබීමයි. ඔබට මෙවැනි සංයෝජන තත්වයන් හමු වූ සෑම අවස්ථාවකම තත්වය විස්තර කරන ඔබේ ආදර්ශ සාරාංශය රළු බව පැහැදිලි ලකුණකි. ඔබ බොහෝ විට එක් ආයතනයක විවිධ මාදිලිවලට අයත් විය යුතු අංග ඒකාබද්ධ කරයි.
ඔබ දිගින් දිගටම ඔබේ ආකෘතිය බිඳ දැමුවහොත් ඔබ අවසානයේදී මෙම සංයුක්ත ආචරණය සම්පූර්ණයෙන්ම විසුරුවා හරිනු ඇත. කෙසේ වෙතත්, මෙම මාවතේ යන විට ඊටත් වඩා විශාල අවුල් ජාලයක් නිර්මාණය කරමින් ඔබේ සැලසුම අතරමං වීම පහසුය, මෙහි පරිපූර්ණත්වය ඔබේ මිතුරා නොවේ.
සීමිත රාජ්ය යන්ත්ර සහ රීති එන්ජින් මෙම ගැටළුව බිඳ දමා වඩාත් කළමනාකරණය කළ හැකි ආකාරය පිළිබඳ උදාහරණයක් පමණි. මෙහි ඇති ප්රධාන අදහස නම්, මෙවැනි සංයුක්ත ගැටළුවකින් මිදීමට හොඳ ක්රමයක් වන්නේ බොහෝ විට මෝස්තරයක් නිර්මාණය කිරීම සහ ඔබේ පද්ධතිය සතුටුදායක ලෙස ක්රියාත්මක වන තුරු එය කැදැලි මට්ටම්වල දැන්වීම්-ඔක්කාරය පුනරාවර්තනය කිරීමයි . සංකීර්ණ රටා නිර්මාණය කිරීම සඳහා අස්ථි බිඳීම් භාවිතා කරන ආකාරය පිළිබඳ අකින්. ඔබ ඔබේ පද්ධතිය අන්වීක්ෂයකින් හෝ ඉහළ පක්ෂීන්ගේ දෘෂ්ටියෙන් බැලුවත් නීති රීති එලෙසම පවතී.
මෙය ඔබගේ වසමට අදාළ කිරීමේ උදාහරණය.
ඔබ උත්සාහ කරන්නේ ගවයින් භූමි ප්රදේශයක් හරහා ගමන් කරන ආකාරය ආදර්ශනය කිරීමට ය. ඔබේ ප්රශ්නයට විස්තර නොමැති වුවද, ඔබගේ විශාල ප්රමාණයේ අයිඑෆ්එස් වැනි තීරණ කොටස් අඩංගු වන බව මම අනුමාන කරමි, if cow.isStanding then cow.canRun = true
නමුත් ඔබ උදාහරණයක් ලෙස භූමි ප්රදේශය පිළිබඳ විස්තර එකතු කරන විට ඔබ ව්යාකූල වනු ඇත. එබැවින් ඔබට ගැනීමට අවශ්ය සෑම ක්රියාවක් සඳහාම ඔබට සිතිය හැකි සෑම අංශයක්ම පරීක්ෂා කර බලා ඊළඟ සත්යාපනය සඳහා මෙම සත්යාපන නැවත සිදු කළ යුතුය.
පළමුවෙන්ම අපට අපගේ පුනරාවර්තන සැලසුම අවශ්ය වන අතර, මේ අවස්ථාවේ දී වෙනස්වන තත්වයන් අනුකරණය කිරීමට එෆ්එස්එම් එකක් වනු ඇත. එබැවින් මම කළ යුතු පළමු දෙය නම් රාජ්ය අතුරු මුහුණතක්, සංක්රාන්ති අතුරුමුහුණතක් සහ සමහර විට සංක්රාන්ති සන්දර්භයක් නිර්වචනය කරමින් එෆ්එස්එම් යොමු කිරීම ක්රියාත්මක කිරීමයි.එමඟින් අනෙක් දෙදෙනාට ලබා ගත හැකි හවුල් තොරතුරු අඩංගු විය හැකිය. මූලික එෆ්එස්එම් ක්රියාවට නැංවීම සන්දර්භය නොසලකා එක් සංක්රාන්තියක සිට තවත් සංක්රාන්තියකට මාරු වනු ඇත, මෙහි රීති එන්ජිමක් පැමිණේ. සංක්රාන්තිය සිදුවීමට නම් සපුරාලිය යුතු කොන්දේසි රීති එන්ජිම පිරිසිදු ලෙස ආවරණය කරයි. මෙහි නීති රීති එන්ජිමක් නීති ලැයිස්තුවක් තරම් සරල විය හැකිය. අප සංක්රාන්තියක් සිදුවිය යුතුද යන්න පරීක්ෂා කිරීම සඳහා, නීති ලැයිස්තුව නැවත සඳහන් කරන්න සහ ඒවායින් කිසිවක් අසත්ය ලෙස තක්සේරු කළහොත් සංක්රාන්තිය සිදු නොවේ. එෆ්එස්එම් හි වත්මන් තත්වය වෙනස් කිරීම සඳහා චර්යාත්මක කේතය සංක්රාන්තියේම අඩංගු වේ (සහ විය හැකි වෙනත් කාර්යයන්).
දැන්, මම දෙවියන්ගේ මට්ටමින් තනි විශාල එෆ්එස්එම් එකක් ලෙස අනුකරණය ක්රියාත්මක කිරීමට පටන් ගන්නේ නම්, අවසන් විය හැකි තත්වයන්, සංක්රාන්ති ආදිය සමඟ මම අවසන් කරමි. එසේ නොමැති නම් අවුල් සහගත බවක් පෙනෙන්නට තිබුණත් එය සැබවින්ම පැතිරී ඇත: සෑම අයිඑෆ් දැන් රීතියක් සන්දර්භය පිළිබඳ නිශ්චිත තොරතුරුවලට එරෙහිව පරීක්ෂණයක් සිදු කරයි (මේ අවස්ථාවේ දී එහි බොහෝ දේ අඩංගු වේ) සහ සෑම IF ශරීරයක්ම සංක්රාන්ති කේතයේ කොතැනක හෝ තිබේ.
අස්ථි බිඳවැටීම ඇතුලත් කරන්න: පළමු පියවර වනුයේ එක් එක් එළදෙන සඳහා එෆ්එස්එම් එකක් නිර්මාණය කිරීමයි. එහිදී ප්රාන්තයන් ගවයාගේ අභ්යන්තර රාජ්යයන් (සිටගෙන, ධාවනය, ඇවිදීම, තෘණ යනාදිය) වන අතර ඒවා අතර සංක්රාන්තිය පරිසරයට බලපානු ඇත. ප්රස්ථාරය සම්පුර්ණ නොවිය හැකි ය, නිදසුනක් ලෙස තණබිමට ප්රවේශ විය හැක්කේ ස්ථාවර තත්වයෙන් පමණි, වෙනත් ඕනෑම සංක්රාන්තියක් ප්රතික්ෂේප කරනු ලබන්නේ හුදෙක් ආකෘතියට නොපැමිණීම හේතුවෙනි. මෙන්න ඔබ effectively ලදායි ලෙස දත්ත විවිධ මාදිලි දෙකකින් වෙන් කරයි, එළදෙන සහ භූමි ප්රදේශය. සෑම එකක්ම තමන්ගේම ගුණාංග කට්ටලයක් ඇත. මෙම බිඳවැටීම මඟින් ඔබේ සමස්ත එන්ජින් සැලසුම සරල කිරීමට ඉඩ ලබා දේ. දැන් ඔබට තනි රීති එන්ජිමක් තිබීම වෙනුවට ඔබට නිශ්චිත තොරතුරු තීරණය කරන බහු, සරල රීති එන්ජින් (එක් එක් සංක්රාන්ති සඳහා එකක්) තිබේ.
මම එෆ්එස්එම් සඳහා එකම කේතය නැවත භාවිතා කරන නිසා මෙය මූලික වශයෙන් එෆ්එස්එම් හි වින්යාසයකි. අපි කලින් ඩීඑස්එල් ගැන සඳහන් කළ විට මතකද? ඔබට ලිවීමට නීති සහ සංක්රාන්ති රාශියක් තිබේ නම් ඩී.එස්.එල්.
ගැඹුරට යනවා
දැන් ගවයාගේ අභ්යන්තර තත්වයන් කළමනාකරණය කිරීමේ සියලු සංකීර්ණතාවයන් සමඟ දෙවියන් වහන්සේට තවදුරටත් කටයුතු කිරීමට අවශ්ය නැත, නමුත් අපට එය තවදුරටත් තල්ලු කළ හැකිය. උදාහරණයක් ලෙස භූමිය කළමනාකරණය කිරීමේදී තවමත් සංකීර්ණතා රාශියක් ඇත. බිඳවැටීම ප්රමාණවත් වන්නේ කොතැනදැයි ඔබ තීරණය කරන්නේ මෙතැනදීය. ඔබගේ දෙවියන්ගේ නිදසුනක් ලෙස ඔබ භූමි ගතිකතාවයන් (දිගු තණකොළ, මඩ, වියළි මඩ, කෙටි තණකොළ ආදිය) කළමනාකරණය කිරීම අවසන් කළහොත් අපට එකම රටාව නැවත කළ හැකිය. සියළුම භූමිෂ් states රාජ්යයන් (දිගු තණකොළ, කෙටි තණකොළ, මඩ, වියළි, ආදිය) නිස්සාරණය කිරීමෙන් නව භූමි ප්රදේශයක් වන එෆ්එස්එම් තුළට ප්රාන්තයන් අතර සංක්රාන්ති හා සමහර විට සරල නීති රීති උකහා ගැනීමෙන් එවැනි තර්කනයක් භූමිය තුළම කාවැද්දීම වළක්වා ගත නොහැක. නිදසුනක් ලෙස මඩ සහිත තත්වයට පත්වීම සඳහා රීති එන්ජිම දියර සොයා ගැනීම සඳහා සන්දර්භය පරීක්ෂා කළ යුතුය, එසේ නොමැති නම් එය කළ නොහැක. දැන් දෙවියන් වහන්සේ වඩාත් සරල වී ඇත.
ඔබට ස්වයං පාලනයක් ලබා දීමෙන් එෆ්එස්එම් පද්ධතිය සම්පූර්ණ කළ හැකි අතර ඒ සෑම නූලක්ම ලබා දෙන්න. මෙම අවසාන පියවර අවශ්ය නොවන නමුත් ඔබේ තීරණ ගැනීමේදී (විශේෂිත එෆ්එස්එම් දියත් කිරීම හෝ කලින් තීරණය කළ තත්වයක් ආපසු ලබා දීම) වෙනස් කිරීමෙන් පද්ධතියේ අන්තර්ක්රියා ගතිකව වෙනස් කිරීමට එය ඔබට ඉඩ සලසයි.
සංක්රාන්ති වලට “කළ හැකි වෙනත් කාර්යයන්” ද කළ හැකි බව අප සඳහන් කළ ආකාරය මතකද? විවිධ මාදිලි (FSM) එකිනෙකා සමඟ සන්නිවේදනය කිරීමේ හැකියාව එකතු කිරීමෙන් එය ගවේෂණය කරමු. ඔබට සිදුවීම් සමූහයක් නිර්වචනය කළ හැකි අතර එක් එක් එෆ්එස්එම් වෙත මෙම සිදුවීම්වලට සවන්දෙන්නන් ලියාපදිංචි කිරීමට ඉඩ දිය හැකිය. මේ අනුව, උදාහරණයක් ලෙස එළදෙනක් භූමි ප්රදේශයකට ඇතුළු වුවහොත් සංක්රාන්ති වෙනස්කම් සඳහා සවන්දෙන්නන් ලියාපදිංචි කළ හැකිය. මෙහිදී එය ටිකක් උපක්රමශීලී වන්නේ එක් එක් එෆ්එස්එම් එය ක්රියාත්මක වන විශේෂිත වසම පිළිබඳ කිසිදු දැනුමක් නොමැතිව ඉතා ඉහළ මට්ටමක ක්රියාත්මක වන බැවිනි. කෙසේ වෙතත් ගවයාට සිදුවීම් ලැයිස්තුවක් ප්රකාශයට පත් කිරීමෙන් ඔබට මෙය සාක්ෂාත් කරගත හැකි අතර ප්රතික්රියා කළ හැකි සිදුවීම් දුටුවහොත් සෛලයට ලියාපදිංචි විය හැකිය. සිදුවීම් පවුලේ හොඳ ධූරාවලියක් මෙහි හොඳ ආයෝජනයකි.
තණකොළවල පෝෂක මට්ටම් සහ වර්ධන චක්රය ආදර්ශනය කිරීමෙන් ඔබට තව දුරටත් ගැඹුරට තල්ලු කළ හැකිය ... ඔබ එය අනුමාන කළා ... තණකොළ එෆ්එස්එම් භූමිෂ් pat පැච් වල ආකෘතියට ඇතුළත් කර ඇත.
ඔබ මෙම අදහස බොහෝ දුරට තල්ලු කරන්නේ නම්, දෙවියන් වහන්සේට කළ හැකි දේ ඉතා අල්පය. මන්දයත්, සෑම අංශයක්ම ස්වයං කළමනාකරණයකින් යුක්ත වන අතර, වඩා දේවභක්තික දේ සඳහා කාලය මිඩංගු කිරීමයි.
නැවත සකස් කරන්න
මෙහි එෆ්එස්එම් ඉහත සඳහන් කළ පරිදි විසඳුම නොවේ, එවැනි ගැටලුවකට විසඳුම එක් කේතයකට අනුව සොයාගත නොහැකි බව නිදර්ශනය කිරීමේ මාධ්යයක් පමණක් නොව ඔබ ඔබේ ගැටලුව ආදර්ශනය කරන්නේ කෙසේද යන්න. මගේ එෆ්එස්එම් යෝජනාවට වඩා බොහෝ දුරට හැකි වෙනත් විසඳුම් තිබේ. කෙසේ වෙතත් "අස්ථි බිඳීම්" ප්රවේශය මෙම දුෂ්කරතාවය කළමනාකරණය කිරීම සඳහා හොඳ ක්රමයක් ලෙස පවතී. නිවැරදිව සිදු කළ හොත්, ඔබට වැදගත් වන ගැඹුරු මට්ටම් ගතිකව වෙන් කළ හැකි අතර එය අඩු වැදගත්කමක් ඇති සරල ආකෘති ලබා දෙයි. සම්පත් වැඩිපුර ලබා ගත හැකි විට ඔබට පෝලිම් වෙනස් කර ඒවා යෙදිය හැකිය. ක්රියාකාරී අනුපිළිවෙලක දී ගවයාගේ සිට තණකොළ දක්වා පෝෂක හුවමාරුව ගණනය කිරීම එතරම් වැදගත් නොවනු ඇත. කෙසේ වෙතත් ඔබට මෙම සංක්රාන්ති පටිගත කර පසු කාලීනව වෙනස්කම් සිදු කළ හැකිය. එසේ නැතහොත් උගත් අනුමානයකින් දළ වශයෙන් රීති එන්ජින් ප්රතිස්ථාපනය කිරීමෙන් හෝ එෆ්එස්එම් ක්රියාවට නැංවීම මඟින් සෘජු ක්ෂේත්රයේ නොමැති මූලද්රව්ය සඳහා සරල බොළඳ අනුවාදයක් ආදේශ කළ හැකිය. උනන්දුව (ක්ෂේත්රයේ අනෙක් කෙළවරේ ඇති එළදෙන) අවධානය යොමු කර ගැනීමට හා සම්පත් වලින් වැඩි කොටසක් ලබා ගැනීමට වඩාත් සවිස්තරාත්මක අන්තර්ක්රියා වලට ඉඩ දීම. සමස්තයක් ලෙස පද්ධතිය නැවත සලකා බැලීමකින් තොරව මේ සියල්ල; සෑම කොටසක්ම හොඳින් හුදකලා වී ඇති හෙයින්, ඔබේ ආකෘතියේ ගැඹුර සීමා කිරීම හෝ පුළුල් කිරීම සඳහා ප්රතිස්ථාපන ආදේශකයක් නිර්මාණය කිරීම පහසු වේ. සම්මත සැලසුමක් භාවිතා කිරීමෙන් ඔබට ඒ මත ගොඩනගා ගත හැකි අතර නීති රීති නිර්වචනය කිරීම සඳහා ඩීඑස්එල් වැනි තාවකාලික මෙවලම්වල ආයෝජනය කිරීම හෝ සිදුවීම් සඳහා සම්මත වචන මාලාවක් නැවත ලබා ගත හැකිය, නැවතත් ඉතා ඉහළ මට්ටමකින් ආරම්භ කර අවශ්ය පරිදි පිරිපහදු එකතු කළ හැකිය. සෑම කොටසක්ම හොඳින් හුදකලා වී ඇති හෙයින්, ඔබේ ආකෘතියේ ගැඹුර සීමා කිරීම හෝ පුළුල් කිරීම සඳහා ප්රතිස්ථාපන ආදේශකයක් නිර්මාණය කිරීම පහසු වේ. සම්මත සැලසුමක් භාවිතා කිරීමෙන් ඔබට ඒ මත ගොඩනගා ගත හැකි අතර නීති රීති නිර්වචනය කිරීම සඳහා ඩීඑස්එල් වැනි තාවකාලික මෙවලම්වල ආයෝජනය කිරීම හෝ සිදුවීම් සඳහා සම්මත වචන මාලාවක් නැවත ලබා ගත හැකිය, නැවතත් ඉතා ඉහළ මට්ටමකින් ආරම්භ කර අවශ්ය පරිදි පිරිපහදු එකතු කළ හැකිය. සෑම කොටසක්ම හොඳින් හුදකලා වී ඇති හෙයින්, ඔබේ ආකෘතියේ ගැඹුර සීමා කිරීම හෝ පුළුල් කිරීම සඳහා ප්රතිස්ථාපන ආදේශකයක් නිර්මාණය කිරීම පහසු වේ. සම්මත සැලසුමක් භාවිතා කිරීමෙන් ඔබට ඒ මත ගොඩනගා ගත හැකි අතර නීති රීති නිර්වචනය කිරීම සඳහා ඩීඑස්එල් වැනි තාවකාලික මෙවලම්වල ආයෝජනය කිරීම හෝ සිදුවීම් සඳහා සම්මත වචන මාලාවක් නැවත ලබා ගත හැකිය, නැවතත් ඉතා ඉහළ මට්ටමකින් ආරම්භ කර අවශ්ය පරිදි පිරිපහදු එකතු කළ හැකිය.
මම කේත නිදසුනක් සපයමි, නමුත් මට දැන් කළ හැකි සියල්ල මෙයයි.