මෙම ( ප්රති- විරෝධී) රටාව “ ට්රම්ප් දත්ත ” ලෙස හැඳින්වෙන බව බොබ් ඩල්ග්ලීෂ් දැනටමත් සටහන් කර ඇත .
මගේ අත්දැකීම් අනුව, අධික ට්රම්ප් දත්ත සඳහා වඩාත් පොදු හේතුව වන්නේ වස්තුවක හෝ දත්ත ව්යුහයක සැබවින්ම සංයුක්ත කළ යුතු සම්බන්ධිත රාජ්ය විචල්යයන් සමූහයකි. සමහර විට, දත්ත නිසි ලෙස සංවිධානය කිරීම සඳහා වස්තු පොකුරක් කූඩු කිරීම පවා අවශ්ය විය හැකිය.
සරල උදාහරණයක් ලෙස, වැනි ගුණ සහිත රුචි ක්රීඩකයා චරිතය, ඇති බව ක්රීඩාවක් සලකා playerName
, playerEyeColor
එසේ මත හා. ඇත්ත වශයෙන්ම, ක්රීඩකයාට ක්රීඩා සිතියමේ භෞතික පිහිටීමක් ඇති අතර, වර්තමාන සහ උපරිම සෞඛ්ය මට්ටම වැනි වෙනත් ගුණාංගද ඇත.
එවැනි ක්රීඩාවක පළමු පුනරාවර්තනයේදී, මෙම ගුණාංග සියල්ලම ගෝලීය විචල්යයන් බවට පත් කිරීම පරිපූර්ණ සාධාරණ තේරීමක් විය හැකිය - සියල්ලට පසු, ඇත්තේ එක් ක්රීඩකයෙකු පමණක් වන අතර ක්රීඩාවේ සෑම දෙයක්ම පාහේ ක්රීඩකයාට සම්බන්ධ වේ. එබැවින් ඔබේ ගෝලීය රාජ්යයේ විචල්යයන් අඩංගු විය හැකිය:
playerName = "Bob"
playerEyeColor = GREEN
playerXPosition = -8
playerYPosition = 136
playerHealth = 100
playerMaxHealth = 100
නමුත් යම් අවස්ථාවක දී, ඔබට මෙම සැලසුම වෙනස් කිරීමට අවශ්ය බව ඔබට පෙනී යනු ඇත, සමහර විට ඔබට ක්රීඩාවට බහු ක්රීඩක මාදිලියක් එක් කිරීමට අවශ්ය නිසා විය හැකිය. පළමු උත්සාහයක් ලෙස, ඔබට එම සියලු විචල්යයන් දේශීය බවට පත් කර ඒවා අවශ්ය කාර්යයන් වෙත යොමු කිරීමට උත්සාහ කළ හැකිය. කෙසේ වෙතත්, ඔබගේ ක්රීඩාවේ විශේෂිත ක්රියාවකට පහත දැක්වෙන පරිදි ක්රියාකාරී ඇමතුම් දාමයක් ඇතුළත් විය හැකි බව ඔබට පෙනී යනු ඇත:
mainGameLoop()
-> processInputEvent()
-> doPlayerAction()
-> movePlayer()
-> checkCollision()
-> interactWithNPC()
-> interactWithShopkeeper()
... සහ interactWithShopkeeper()
ශ්රිතයට සාප්පු හිමියා විසින් ක්රීඩකයාගේ නම සඳහන් කර ඇත, එබැවින් ඔබට දැන් හදිසියේම එම සියලු කාර්යයන් playerName
හරහා ට්රම්ප් දත්ත ලෙස යැවිය යුතුය . ඇත්ත වශයෙන්ම, සාප්පු හිමියා නිල් ඇස් ඇති ක්රීඩකයින් අ ï ාන යැයි සිතන්නේ නම් සහ ඔවුන් සඳහා වැඩි මිලක් අය කරනු ඇත නම්, එවිට ඔබට සම්පූර්ණ ක්රියාකාරකම් දාමය හරහා යාමට අවශ්ය වනු ඇත.playerEyeColor
මෙම නිසි විසඳුමක්, මේ අවස්ථාවේ දී, නම, ඇසේ වර්ණය, තත්වය, සෞඛ්ය සහ ක්රීඩකයා චරිතය වෙනත් කිසිම ගුණ encapsulates බව ක්රීඩකයා වස්තුව නිර්වචනය කිරීමට ඇත්තෙන්ම වේ. ඒ ආකාරයෙන්, ඔබට අවශ්ය වන්නේ එම තනි වස්තුව කෙසේ හෝ ක්රීඩකයා සම්බන්ධ වන සියලුම කාර්යයන් වෙත යොමු කිරීමයි.
එසේම, ඉහත කාර්යයන් කිහිපයක් ස්වභාවිකවම එම ක්රීඩක වස්තුවෙහි ක්රමවේදයන් බවට පත් කළ හැකි අතර එමඟින් ස්වයංක්රීයව ක්රීඩකයාගේ ගුණාංග වෙත ප්රවේශය ලබා දෙනු ඇත. එක්තරා විදියකට, මෙය හුදෙක් සින්ටැක්ටික් සීනි වේ, මන්දයත් වස්තුවක් මත ක්රමයක් කැඳවීම කෙසේ වෙතත් සැඟවුණු පරාමිතියක් ලෙස වස්තුව නිදර්ශනය ක්රමයට සම්මත කරයි, නමුත් එය නිසි ලෙස භාවිතා කරන්නේ නම් කේතය වඩාත් පැහැදිලිව හා ස්වාභාවික ලෙස පෙනේ.
ඇත්ත වශයෙන්ම, සාමාන්ය ක්රීඩාවකට ක්රීඩකයාට වඩා බොහෝ “ගෝලීය” තත්වයක් ඇත; නිදසුනක් ලෙස, ක්රීඩාව සිදුවන යම් ආකාරයක සිතියමක් සහ සිතියම මත චලනය වන ක්රීඩකයන් නොවන චරිත ලැයිස්තුවක් සහ සමහර විට එය මත තබා ඇති අයිතම සහ වෙනත් දේ ඔබ සතුව ඇත. ඔබට අවට සිටින සියල්ලන්ම ට්රම්ප් වස්තු ලෙස සම්මත කළ හැකිය, නමුත් එය නැවතත් ඔබේ ක්රම තර්ක අවුල් කරයි.
ඒ වෙනුවට, විසඳුම වන්නේ වස්තූන් සමඟ ස්ථිර හෝ තාවකාලික සම්බන්ධතා ඇති වෙනත් වස්තූන් වෙත යොමු කිරීම් ගබඩා කිරීමයි. උදාහරණයක් ලෙස, ක්රීඩක වස්තුව (සහ බොහෝ විට ඕනෑම එන්පීසී වස්තූන් ද) බොහෝ විට “ක්රීඩා ලෝකය” වස්තුව වෙත යොමු කිරීමක් ගබඩා කළ යුතු අතර, එය වත්මන් මට්ටම / සිතියම පිළිබඳ සඳහනක් ඇති බැවින් එවැනි ක්රමයක් player.moveTo(x, y)
අවශ්ය නොවේ. පරාමිතියක් ලෙස සිතියම පැහැදිලිව ලබා දෙන්න.
ඒ හා සමානව, අපේ ක්රීඩකයාගේ චරිතය සුරතල් සුනඛයෙකු ඔවුන් වටා ඇත්නම්, අපි ස්වභාවිකවම සුනඛයා විස්තර කරන සියලුම රාජ්ය විචල්යයන් තනි වස්තුවකට කාණ්ඩ කර, ක්රීඩකයාට වස්තුවට බල්ලා ගැන සඳහනක් ලබා දෙන්නෙමු (එවිට ක්රීඩකයාට හැකි වේ , කියන්න, බල්ලා නමින් අමතන්න) සහ අනෙක් අතට (එවිට ක්රීඩකයා සිටින තැන බල්ලා දැන ගනී). ඇත්ත වශයෙන්ම, අපට බොහෝ විට අවශ්ය වන්නේ ක්රීඩකයා සහ බල්ලා වස්තූන් වඩාත් සාමාන්ය “නළුවා” වස්තුවක උප පංති දෙකම සෑදීමටයි, එවිට අපට සිතියම වටා ගමන් කිරීම සඳහා එකම කේතය නැවත භාවිතා කළ හැකිය.
ගීතා. මම ක්රීඩාවක් නිදසුනක් ලෙස භාවිතා කර ඇතත්, එවැනි ගැටළු මතු වන වෙනත් ආකාරයේ වැඩසටහන් තිබේ. මගේ අත්දැකීම් අනුව, යටින් පවතින ගැටළුව සැමවිටම එක හා සමාන වේ: ඔබට එකිනෙකට සම්බන්ධිත වස්තු එකක් හෝ වැඩි ගණනක් එකට බැඳීමට සැබවින්ම අවශ්ය වෙනම විචල්යයන් (දේශීය හෝ ගෝලීය වේවා) ඇත. ඔබේ කාර්යයන් තුළට ඇතුළු වන “ට්රම්ප් දත්ත” සංඛ්යාත්මක සමාකරණයේ “ගෝලීය” විකල්ප සැකසුම් හෝ හැඹිලි දත්ත සමුදා විමසුම් හෝ රාජ්ය දෛශික වලින් සමන්විත වේ ද, විසඳුම නොවරදවාම දත්ත අයත් ස්වාභාවික සන්දර්භය හඳුනාගෙන එය වස්තුවක් බවට පත් කිරීම ය. (හෝ ඔබ තෝරාගත් භාෂාවට ආසන්නතම සමාන දේ කුමක් වුවත්).