DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†

"αžαŸ’αž‰αž»αŸ†αžŠαžΉαž„αžαžΆαžαŸ’αž‰αž»αŸ†αž˜αž·αž“αžŠαžΉαž„αž’αŸ’αžœαžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹" αžŸαžΌαž€αŸ’αžšαžΆαž

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŽαžΆαŸ– αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€ IT αžŠαŸ‚αž›αžŸαŸ’αžŠαŸ„αŸ‡αž‘αžΉαž€αž˜αžΆαžαŸ‹αžŠαžΆαž€αŸ‹ Developer αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž αžΎαž™αž…αž„αŸ‹αž›αŸαž„αž αŸ’αž‚αŸαž˜αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ!

αž’αŸ†αž–αžΈβ€‹αž’αŸ’αžœαžΈ: αžšαž”αŸ€αž”αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž€αŸ’αž“αž»αž„ C/C++ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαžœαžΆ!

αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž’αŸ’αž“αž€αž‚αž½αžšαž’αžΆαž“αž“αŸαŸ‡αŸ– αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž‡αŸ†αž“αžΆαž‰αž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž‰αž»αŸ†αž–αŸ’αž™αžΆαž™αžΆαž˜αžŸαžšαžŸαŸαžšαž€αžΌαžŠαžšαŸ€αž„αžšαžΆαž›αŸ‹αžŸαž”αŸ’αžαžΆαž αŸαŸ” αž–αŸ’αžšαŸ„αŸ‡αžαŸ’αž‰αž»αŸ†αžŸαŸ’αžšαž›αžΆαž‰αŸ‹αž αŸ’αž‚αŸαž˜!

αžŸαž½αžšβ€‹αžŸαŸ’αžŠαžΈβ€‹αžˆαŸ’αž˜αŸ„αŸ‡β€‹αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†β€‹αž‚αžΊ Andrey GrankinαžαŸ’αž‰αž»αŸ†αž‡αžΆ DevOps αž“αŸ… Luxoft αŸ” αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž‡αŸ†αž“αžΆαž‰αž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž‰αž»αŸ†αž–αŸ’αž™αžΆαž™αžΆαž˜αžŸαžšαžŸαŸαžšαž€αžΌαžŠαžšαŸ€αž„αžšαžΆαž›αŸ‹αžŸαž”αŸ’αžαžΆαž αŸαŸ” αž–αŸ’αžšαŸ„αŸ‡αžαŸ’αž‰αž»αŸ†αžŸαŸ’αžšαž›αžΆαž‰αŸ‹αž αŸ’αž‚αŸαž˜!

αž§αžŸαŸ’αžŸαžΆαž αž€αž˜αŸ’αž˜αž αŸ’αž‚αŸαž˜αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž˜αžΆαž“αž‘αŸ†αž αŸ†αž’αŸ† αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž˜αžΆαž“αž–αžΆαž€αŸ’αž™αž…αž…αžΆαž˜αž’αžΆαžšαŸ‰αžΆαž˜αž‡αžΆαž„αž§αžŸαŸ’αžŸαžΆαž αž€αž˜αŸ’αž˜αž—αžΆαž–αž™αž“αŸ’αžαž‘αŸ…αž‘αŸ€αžαŸ” αž αŸ’αž‚αŸαž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαžαžΆαŸ†αž„αž–αžΈαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžš αžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž‘αŸ†αž“αžΎαž” αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰ αž“αž·αž„αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ” αž™αžΌαžš αŸ— αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž αŸ’αž‚αŸαž˜αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž›αŸαž…αž‘αžΎαž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€ αžšαžΌαž”αžœαž·αž‘αŸ’αž™αžΆ αž“αž·αž„αžŸαŸ†αž‘αŸαž„αžŠαŸ‚αž›αž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž…αŸ” αž–αž½αž€αž‚αŸαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž•αŸ’αžαŸ„αžαž›αžΎαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž αŸ’αž‚αŸαž˜αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αž αžΎαž™αž˜αž·αž“αžšαŸ†αžαžΆαž“αž’αŸ†αž–αžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‚αŸ’αžšαžΉαŸ‡αžšαž”αžŸαŸ‹αžœαžΆαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž–αž½αž€αž‚αŸαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ "αž„αž„αžΉαžαž—αŸ’αž“αŸ‚αž€" αž“αž·αž„αž’αŸ’αžœαžΎαž±αŸ’αž™αžαžΌαž…αž‚αž»αžŽαž—αžΆαž–αŸ” αž€αžΆαžšαž•αž›αž·αžαž αŸ’αž‚αŸαž˜αž‡αžΆαž…αŸ’αžšαžΎαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž“αŸ…αž›αžΎ conveyor αŸ” αž αžΎαž™αž”αžšαž·αž˜αžΆαžŽαž“αŸƒαž€αžΆαžšαž•αž›αž·αžαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž›αžΎαžŸαž‚αž»αžŽαž—αžΆαž–αžšαž”αžŸαŸ‹αžœαžΆαŸ”

αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž›αŸαž„αž αŸ’αž‚αŸαž˜αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸαž‘αŸƒ αž™αžΎαž„αžαŸ‚αž„αžαŸ‚αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αž‘αžΈαžαžΆαŸ†αž„ αž‚αŸ’αžšαŸ„αž„ αžαž½αž’αž„αŸ’αž‚ αž˜αŸαž€αžΆαž“αž·αž€αž αŸ’αž‚αŸαž˜ αžŠαŸ‚αž›αž˜αž“αž»αžŸαŸ’αžŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαžΉαž„αžαžΆ...

… αžœαžΆαžŠαž›αŸ‹αž–αŸαž›αž αžΎαž™αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαž–αž·αž—αž–αž›αŸ„αž€αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž”αŸ’αžšαž’αžΆαž“αž”αž‘αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αžαŸ’αž‰αž»αŸ†αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž–αž·αž—αž–αž›αŸ„αž€αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž‡αžΆαž–αŸ’αžšαŸ‡αžœαžšαž”αž·αžαžΆ αž‡αžΆαž–αŸ’αžšαŸ‡αžšαžΆαž‡αž”αž»αžαŸ’αžšαžΆ αž“αž·αž„αž–αŸ’αžšαŸ‡αžœαž·αž‰αŸ’αž‰αžΆαžŽαž”αžšαž·αžŸαž»αž‘αŸ’αž’!

αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž‡αžΏαž‡αžΆαž€αŸ‹αžŠαŸ„αž™αžŸαŸ’αž˜αŸ„αŸ‡αžαžΆ αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαžŸαžšαžŸαŸαžšαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž αŸ’αž‚αŸαž˜αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž“αž·αž„αž αŸ’αž‚αŸαž˜αž“αŸ…αž›αžΎαžœαžΆ αž’αŸ’αž“αž€αž“αžΉαž„αž’αžΆαž…αž”αžΎαž€αž—αŸ’αž“αŸ‚αž€αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž‡αžΌαžαž”αž„αŸ’αž’αž½αž… αž“αž·αž„αž”αžΌαž˜αž€αžΆαž”αŸŠαžΈαž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž€αŸ’αž›αžΆαž™αž‡αžΆαž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸ αž“αž·αž„αžŸαŸ†αžαžΆαž“αŸ‹αž‡αžΆαž„αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž–αŸ’αž™αžΆαž™αžΆαž˜αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αžαžΌαž…αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„ C/C ++ αžαžΎαž’αŸ’αžœαžΈαž‡αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž“αž·αž„αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αžŸαŸ’αžœαŸ‚αž„αžšαž€αž–αŸαž›αžœαŸαž›αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αŸ†αžŽαž„αŸ‹αž…αŸ†αžŽαžΌαž›αž…αž·αžαŸ’αžαž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαž˜αž˜αžΆαž‰αžΉαž€αŸ” αžœαžΆαž‡αžΆαž€αž˜αŸ’αž˜αžœαžαŸ’αžαž» αž“αž·αž„αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αž»αž‚αŸ’αž‚αž›αŸ” αžŸαž˜αŸ’αž—αžΆαžšαŸˆαž’αŸ†αž–αžΈαž—αžΆαž–αž›αŸ’αž„αž„αŸ‹αžαŸ’αž›αŸ… αž“αž·αž„αž‡αŸ†αž“αžΏ αž’αŸ†αž–αžΈαžšαžΌαž”αž—αžΆαž–αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž’αŸ†αž–αžΈαž–αž·αž—αž–αž›αŸ„αž€αž“αŸ…αž–αŸαž›αž“αŸαŸ‡αŸ” αž˜αŸ’αž™αŸ‰αžΆαž„αž‘αŸ€αž "αžšαžŠαŸ’αž‹αž”αžΆαž›αž˜αž·αž“αž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž…αŸ†αž–αŸ„αŸ‡αžαž½αžšαž€αŸ’αž”αžΆαž›αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ!"αŸ”

αž’αž“αž»αžœαžαŸ’αž

β€œαž…αŸ†αžŽαŸαŸ‡αžŠαžΉαž„αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‚αžΊαž‚αŸ’αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž…αŸ†αžŽαŸαŸ‡αžŠαžΉαž„αž‚αžΊαž˜αžΆαž“αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹β€ αžαž»αž„αž‡αžΊ

αžŸαŸ€αžœαž—αŸ…αž€αžαŸ‹αžαŸ’αžšαžΆαž‚αžΊαž‡αžΆαž‡αžΈαžœαž·αžαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†!


αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžαŸ’αž‰αž»αŸ†αž’αžΆαž…αž“αž·αž™αžΆαž™αž”αžΆαž“αžαžΆαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αžŸαŸ€αžœαž—αŸ…αž€αžαŸ‹αžαŸ’αžšαžΆαŸ” αžαŸ’αž‰αž»αŸ†αžŸαžšαžŸαŸαžšαž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž€αž·αž…αŸ’αž…αž€αžΆαžšαž”αŸ’αžšαž…αžΆαŸ†αžαŸ’αž„αŸƒαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž‚αžΌαžš αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž›αŸ†αž αžΌαžš αž“αž·αž„αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆ αžšαž½αž˜αž‘αžΆαŸ†αž„αž‚αžŽαž·αžαžœαž·αž‘αŸ’αž™αžΆαž•αž„αžŠαŸ‚αžšαŸ” αžαŸ‚αž„αžαŸ‚αž”αŸ’αžšαžΎαž€αŸ’αžšαžŠαžΆαžŸαž€αžαŸ‹αž…αŸ†αžŽαžΆαŸ† αž αžΎαž™αžŸαžšαžŸαŸαžšαžαŸ‚αž‡αžΆαž˜αž½αž™αžαŸ’αž˜αŸ…αžŠαŸƒαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αžœαžΆαžŸαŸ’αž’αžΆαž αž˜αžΆαž“αž•αžΆαžŸαž»αž€αž—αžΆαž– αž“αž·αž„αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“ IMHO αŸ”

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αžŸαŸ€αžœαž—αŸ…αž€αžαŸ‹αžαŸ’αžšαžΆαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† (αž”αžΆαž“αž”αŸ†αž–αŸαž‰αžšαž½αž…αž αžΎαž™) αŸ” αž“αŸαŸ‡αž‡αžΆαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž˜αžΎαž›αž‘αŸ…αŸ” αžœαžΆαž˜αžΆαž“αž—αžΆαžšαž€αž·αž…αŸ’αž…αž”αŸ’αžšαž…αžΆαŸ†αžαŸ’αž„αŸƒ αž‚αŸ†αž“αž·αž αž‚αŸ†αž“αžΌαžš αžŠαŸ’αž™αžΆαž€αŸ’αžšαžΆαž˜ αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ αžŸαŸ€αžœαž—αŸ…αž”αž‰αŸ’αž‡αžΈαžαŸ’αž˜αŸ… αž€αžΌαžŠαž‡αžΆαžŠαžΎαž˜αŸ”

αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αž…αŸ†αž“αž½αž“αž”αžΈ (αž“αŸαŸ‡αž‚αžΊαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž’αŸ†αž–αžΈ "αž…αž»αž„αž€αŸ’αžšαŸ„αž™" αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž•αž›αž·αžαž•αž›αžŽαžΆαž˜αž½αž™αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž—αž·αžœαžŒαŸ’αžαžŠαŸ„αž™αž˜αž·αž“αž…αŸαŸ‡αž…αž”αŸ‹)αŸ”

  • αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΈ αŸ’αŸ– αž“αŸαŸ‡αž‡αžΆαžˆαž»αžαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αžš 3D Demo αžŠαŸ‚αž›αžŸαžšαžŸαŸαžšαž€αŸ’αž“αž»αž„ C# αžŠαŸ„αž™αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž αŸ’αž‚αŸαž˜ UnityαŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆ macOS αž“αž·αž„ Windows αŸ”
  • αž›αŸ’αž”αŸ‚αž„αž‘αžΈ αŸ‘αŸ– αž αŸ’αž‚αŸαž˜αž€αž»αž„αžŸαžΌαž› Simple Snake (αžŠαŸ‚αž›αž‚αŸαžŸαŸ’αž‚αžΆαž›αŸ‹αžαžΆαž‡αžΆ "αž–αžŸαŸ‹") αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΈαž“αžŠαžΌαŸ” αžŸαžšαžŸαŸαžšβ€‹αž€αŸ’αž“αž»αž„ C.
  • αž›αŸ’αž”αŸ‚αž„αž‘αžΈ αŸ‘αŸ– αž€αž»αž„αžŸαžΌαž›αž αŸ’αž‚αŸαž˜ Crazy Tanks (αžŠαŸ‚αž›αž‚αŸαžŸαŸ’αž‚αžΆαž›αŸ‹αžαžΆαž‡αžΆ "αž’αž»αž„") αž”αžΆαž“αžŸαžšαžŸαŸαžšαžšαž½αž…αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„ C ++ (αž”αŸ’αžšαžΎαžαŸ’αž“αžΆαž€αŸ‹) αž“αž·αž„αž“αŸ…αž€αŸ’αžšαŸ„αž˜ Windows αž•αž„αžŠαŸ‚αžšαŸ”

αž‚αž˜αŸ’αžšαŸ„αž„ 0 αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αžš Demo

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αžš 3D Scene

αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΈαž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž˜αž·αž“αž˜αŸ‚αž“αž“αŸ…αž€αŸ’αž“αž»αž„ C/C++ αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„ C# αžŠαŸ„αž™αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž αŸ’αž‚αŸαž˜ Unity αŸ” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αŸαŸ‡αž˜αž·αž“αž˜αžΆαž“αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž›αžΎαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αžŠαžΌαž…αž“αŸ„αŸ‡αž‘αŸαŸ” αž˜αž·αž“αž–αž·αžαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž αžΎαž™αžœαžΆαž€αŸαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžαŸ’αž‰αž»αŸ†αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŠαŸ†αž‘αžΎαž„ αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž•αž„αžŠαŸ‚αžšαŸ” αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž”αžΆαž“αž–αž·αž…αžΆαžšαžŽαžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αŸαŸ”

αž‚αŸ„αž›αžŠαŸ…αž“αŸ…αž€αŸ’αž“αž»αž„ Unity αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ†αž‚αžΊαž˜αž·αž“αž˜αŸ‚αž“αžŠαžΎαž˜αŸ’αž”αžΈαž’αž—αž·αžœαžŒαŸ’αžαž”αŸ’αžšαž—αŸαž‘αž αŸ’αž‚αŸαž˜αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸ„αŸ‡αž‘αŸαŸ” αžαŸ’αž‰αž»αŸ†αž…αž„αŸ‹αž”αž„αŸ’αž€αžΎαžαžˆαž»αž 3D αžŠαŸ‚αž›αž˜αžΆαž“αžαž½αž’αž€αŸ’αžŸαžšαž”αŸ’αžšαž—αŸαž‘αžαŸ’αž›αŸ‡ αž‚αžΆαžαŸ‹ αž¬αž“αžΆαž„ (αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž™αž€αž‚αŸ†αžšαžΌαžαžΆαž˜αž“αžΆαžšαžΈαžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αžŸαŸ’αžšαž›αžΆαž‰αŸ‹ =) αžαŸ’αžšαžΌαžœαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈ αž“αž·αž„αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž‡αžΆαž˜αž½αž™αž–αž·αž—αž–αžαžΆαž„αž€αŸ’αžšαŸ…αŸ” αžœαžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžαŸ‚αž€αŸ’αž“αž»αž„αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αžαžΆαžαžΎ Unity αž‡αžΆαž’αŸ’αžœαžΈ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈ αž“αž·αž„αžαžΆαžαžΎαžœαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αžΆαžšαžαž·αžαžαŸ†αž”αŸ’αžšαžΉαž„αž”αŸ’αžšαŸ‚αž„αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαž’αŸ’αžœαžΈαž˜αž½αž™αŸ” αž“αŸαŸ‡αž‡αžΆαžšαž”αŸ€αž”αžŠαŸ‚αž›αž‚αž˜αŸ’αžšαŸ„αž„αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αžš Demo αž”αžΆαž“αž€αžΎαž (αžˆαŸ’αž˜αŸ„αŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž–αžΈαžšαžΏαž„αž’αžΆαžŸαŸ’αžšαžΌαžœ) αŸ” αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž€αžΆαžšαž’αŸ’αžœαžΎαž‚αŸ†αžšαžΌ αž‚αŸ†αž“αžΌαžšαž‡αžΈαžœαž…αž› αžœαžΆαž™αž“αž—αžΆαž– αž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžαŸ’αž‰αž»αŸ†αž”αŸ’αžšαž αŸ‚αž›αž–αžΈαžšαžαŸ‚αž“αŸƒαž€αžΆαžšαž„αžΆαžšαž”αŸ’αžšαž…αžΆαŸ†αžαŸ’αž„αŸƒαŸ”

αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžœαžΈαžŠαŸαž’αžΌαž”αž„αŸ’αžšαŸ€αž“αž“αŸ…αž›αžΎ YouTube αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαžαž‚αŸ†αžšαžΌ 3D αž“αŸ…αž€αŸ’αž“αž»αž„ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž›αžΆαž™. Blender αž‚αžΊαž‡αžΆαž§αž”αž€αžšαžŽαŸαž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαž‚αŸ†αžšαžΌ 3D (αž“αž·αž„αž…αŸ’αžšαžΎαž“αž‘αŸ€αž) αžŠαŸ‚αž›αž˜αž·αž“αžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αŸ” αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž—αžΆαž–αžαž€αŸ‹αžŸαŸ’αž›αž»αžαž€αŸ†αž–αž»αž„αžšαž„αŸ‹αž…αžΆαŸ†αžαŸ’αž‰αž»αŸ† ... αžœαžΆαž”αŸ’αžšαŸ‚αžαžΆαž€αžΆαžšαž’αŸ’αžœαžΎαž‚αŸ†αžšαžΌ αž‚αŸ†αž“αžΌαžšαž‡αžΈαžœαž…αž› αžœαžΆαž™αž“αž—αžΆαž– αž‚αžΊαž‡αžΆαž”αŸ’αžšαž’αžΆαž“αž”αž‘αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžŠαŸαž’αŸ†αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αžŸαžšαžŸαŸαžšαžŸαŸ€αžœαž—αŸ…αž”αžΆαž“αŸ” αž“αŸαŸ‡αž‡αžΆαž€αžΆαžšαž–αž·αžαž‡αžΆαž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαž½αž’αž„αŸ’αž‚αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž™αž€αž‚αŸ†αžšαžΌαžαžΆαž˜αž˜αŸ’αžšαžΆαž˜αžŠαŸƒ αž’αŸ’αž˜αŸαž‰ αž—αŸ’αž“αŸ‚αž€ αž“αž·αž„αž•αŸ’αž“αŸ‚αž€αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸƒαžšαžΆαž„αž€αžΆαž™ αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž…αŸ†αžŽαŸαŸ‡αžŠαžΉαž„αž’αŸ†αž–αžΈαž€αžΆαž™αžœαž·αž—αžΆαž‚αžŸαžΆαžŸαŸ’αžαŸ’αžšαŸ” αžαžΎαžŸαžΆαž…αŸ‹αžŠαž»αŸ†αž˜αž»αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…? αžαžΎαž˜αž“αž»αžŸαŸ’αžŸαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαžŠαŸ„αž™αžšαž”αŸ€αž”αžŽαžΆ? αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœ "αž”αž‰αŸ’αž…αžΌαž›" αž†αŸ’αž’αžΉαž„αž‘αŸ…αž€αŸ’αž“αž»αž„αžŠαŸƒ αž‡αžΎαž„ αž˜αŸ’αžšαžΆαž˜αžŠαŸƒ αž€αŸ‚αž„αžŠαŸƒ!

αž™αž€αž‚αŸ†αžšαžΌαžαžΆαž˜ clavicle, levers αž†αŸ’αž’αžΉαž„αž”αž“αŸ’αžαŸ‚αž˜ αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž…αž›αž“αžΆαž˜αžΎαž›αž‘αŸ…αž’αž˜αŸ’αž˜αž‡αžΆαžαž·αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž˜αŸαžšαŸ€αž“αž”αŸ‚αž”αž“αŸαŸ‡ αž’αŸ’αž“αž€αžŠαžΉαž„αž–αžΈαž€αžΆαžšαž„αžΆαžšαžŠαŸαž’αŸ†αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαž—αžΆαž–αž™αž“αŸ’αžαž‚αŸ†αž“αžΌαžšαž‡αžΈαžœαž…αž›αž’αŸ’αžœαžΎ αžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αž„αŸ’αž€αžΎαžαžœαžΈαžŠαŸαž’αžΌαžšαž™αŸˆαž–αŸαž› 30 αžœαž·αž“αžΆαž‘αžΈαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž—αžΆαž–αž™αž“αŸ’αž 3D αž˜αžΆαž“αžšαž™αŸˆαž–αŸαž›αžšαžΆαž”αŸ‹αž˜αŸ‰αŸ„αž„! αž αžΎαž™β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€ αž™αžΎαž„β€‹αž…αŸαž‰β€‹αž–αžΈβ€‹αžšαŸ„αž„β€‹αž—αžΆαž–αž™αž“αŸ’αž αž αžΎαž™β€‹αž“αž·αž™αžΆαž™β€‹αžšαžΏαž„β€‹αž˜αž½αž™β€‹αžŠαžΌαž…β€‹αž‡αžΆαŸ– β€œαžαžΆ αžšαžΌαž”β€‹αžαŸ’αž›αž»αž€/αž—αžΆαž–αž™αž“αŸ’αžβ€‹αžŠαŸβ€‹αž’αžΆαž€αŸ’αžšαž€αŸ‹! αž–αž½αž€αž‚αŸαž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“αž›αŸ’αž’αž‡αžΆαž„αž“αŸαŸ‡β€¦β€ αž˜αž“αž»αžŸαŸ’αžŸαž›αŸ’αž„αžΈαž›αŸ’αž„αžΎ!

αž αžΎαž™αžšαžΏαž„αž˜αž½αž™αž‘αŸ€αžαž’αŸ†αž–αžΈαž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αŸ” αžŠαžΌαž…αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž”αŸ’αžšαŸ‚αž€αŸ’αž›αžΆαž™αž•αŸ’αž“αŸ‚αž€αžŠαŸ‚αž›αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž”αŸ†αž•αž»αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ†αž‚αžΊαž‚αžŽαž·αžαžœαž·αž‘αŸ’αž™αžΆαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž“αŸ’αž›αŸ‚αž„αž€αžΎαžαž αŸαžαž» (αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αžƒαŸ’αž›αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž‚αž˜αŸ’αžšαŸ„αž„) αž’αŸ’αž“αž€αž“αžΉαž„αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžƒαžΎαž‰αžαžΆαž€αžΆαž˜αŸαžšαŸ‰αžΆαž”αž„αŸ’αžœαž·αž›αž‡αž»αŸ†αžœαž·αž‰αžαž½αžŸαŸ’αžšαžΈαž€αŸ’αž“αž»αž„αžšαž„αŸ’αžœαž„αŸ‹αž˜αž½αž™αŸ” αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αžšαŸ€αž”αž…αŸ†β€‹αž€αžΆαžšβ€‹αž”αž„αŸ’αžœαž·αž›β€‹αž€αžΆαž˜αŸαžšαŸ‰αžΆβ€‹αž”αŸ‚αž”β€‹αž“αŸαŸ‡ αžŠαŸ†αž”αžΌαž„β€‹αžαŸ’αž‰αž»αŸ†β€‹αžαŸ’αžšαžΌαžœβ€‹αž‚αžŽαž“αžΆβ€‹αž€αžΌαž’αžšαžŠαŸ„αž“αŸβ€‹αž“αŸƒβ€‹αž…αŸ†αžŽαž»αž…β€‹αž‘αžΈαžαžΆαŸ†αž„β€‹αž“αŸ…β€‹αž›αžΎβ€‹αžšαž„αŸ’αžœαž„αŸ‹ (2D) αž αžΎαž™β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€β€‹αž“αŸ…β€‹αž›αžΎβ€‹αžŸαŸ’αžœαŸŠαŸ‚αžš (3D)αŸ” αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž‚αž½αžšβ€‹αž±αŸ’αž™β€‹αž’αžŸαŸ‹β€‹αžŸαŸ†αžŽαžΎαž…β€‹αž“αŸ„αŸ‡β€‹αž‚αžΊβ€‹αžαžΆ αžαŸ’αž‰αž»αŸ†β€‹αžŸαŸ’αž’αž”αŸ‹β€‹αž‚αžŽαž·αžαžœαž·αž‘αŸ’αž™αžΆβ€‹αž“αŸ…β€‹αžŸαžΆαž›αžΆ αž αžΎαž™β€‹αžŸαŸ’αž‚αžΆαž›αŸ‹β€‹αžœαžΆβ€‹αžŠαŸ„αž™β€‹αžŠαž€αŸ” αž˜αž½αž™αž•αŸ’αž“αŸ‚αž€ αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž“αŸ…αžŸαžΆαž›αžΆ αž–αž½αž€αž‚αŸαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž˜αž·αž“αž–αž“αŸ’αž™αž›αŸ‹αž’αŸ’αž“αž€αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž‚αžŽαž·αžαžœαž·αž‘αŸ’αž™αžΆαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž€αŸ’αž“αž»αž„αž‡αžΈαžœαž·αžαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž–αŸαž›β€‹αžŠαŸ‚αž›β€‹αž’αŸ’αž“αž€β€‹αžˆαŸ’αž›αž€αŸ‹β€‹αžœαž„αŸ’αžœαŸαž„β€‹αž“αžΉαž„β€‹αž‚αŸ„αž›αžŠαŸ…β€‹αžšαž”αžŸαŸ‹β€‹αž’αŸ’αž“αž€ αž€αŸ’αžαžΈβ€‹αžŸαž»αž”αž·αž“β€‹αž“αŸ„αŸ‡β€‹αž…αž·αžαŸ’αžβ€‹αž€αŸβ€‹αž”αžΆαž“β€‹αžŸαŸ’αžšαž‘αŸ‡β€‹αž…αŸαž‰β€‹αžœαž·αž‰β€‹αž αžΎαž™! αž αžΎαž™β€‹αž’αŸ’αž“αž€β€‹αž…αžΆαž”αŸ‹β€‹αž•αŸ’αžŠαžΎαž˜β€‹αž™αž›αŸ‹β€‹αžαžΆβ€‹αž€αž·αž…αŸ’αž…αž€αžΆαžšβ€‹αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰β€‹αž‡αžΆβ€‹αžŠαŸ†αžŽαžΎαžšβ€‹αž•αŸ’αžŸαž„αž–αŸ’αžšαŸαž„β€‹αžŠαŸβ€‹αžšαŸ†αž—αžΎαž”αŸ” αž αžΎαž™β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€β€‹αž’αŸ’αž“αž€β€‹αž‚αž·αžβ€‹αžαžΆβ€‹αŸ– "αž˜αŸ‚αž“β€‹αž αžΎαž™ αž αŸαžαž»β€‹αž’αŸ’αžœαžΈβ€‹αž”αžΆαž“β€‹αž‡αžΆβ€‹αž’αŸ’αž“αž€β€‹αž‚αžŽαž·αžβ€‹αžœαž·αž‘αŸ’αž™αžΆβ€‹αžŠαŸ‚αž›β€‹αž‡αžΆβ€‹αž‘αžΈβ€‹αžŸαŸ’αžšαž‘αžΆαž‰αŸ‹* αž˜αž·αž“β€‹αž’αžΆαž…β€‹αž”αŸ’αžšαžΆαž”αŸ‹β€‹αž–αžΈβ€‹αž€αž“αŸ’αž›αŸ‚αž„β€‹αžŠαŸ‚αž›β€‹αžšαžΌαž”αž˜αž“αŸ’αžβ€‹αž‘αžΆαŸ†αž„β€‹αž“αŸαŸ‡β€‹αž’αžΆαž…β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‚αŸβ€‹αž•αŸ’αž’αŸ€αž„?

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αž€αžΆαžšαž‚αžŽαž“αžΆαžšαžΌαž”αž˜αž“αŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αžŽαž“αžΆαž€αžΌαž’αžšαžŠαŸ„αž“αŸαž“αŸƒαž…αŸ†αžŽαž»αž…αž˜αž½αž™αž“αŸ…αž›αžΎαžšαž„αŸ’αžœαž„αŸ‹αž˜αž½αž™ αž“αž·αž„αž“αŸ…αž›αžΎαžŸαŸ’αžœαŸŠαŸ‚αžš (αž–αžΈαžŸαŸ€αžœαž—αŸ…αž€αžαŸ‹αžαŸ’αžšαžΆαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†)

αž αŸ’αž‚αŸαž˜ 1

  • αžœαŸαž‘αž·αž€αžΆαŸ– Windows (αžŸαžΆαž€αž›αŸ’αž”αž„αž›αžΎ Windows 7, 10)
  • Π―Π·Ρ‹ΠΊ: αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‡αžΆ C
  • αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž αŸ’αž‚αŸαž˜αŸ– αž€αž»αž„αžŸαžΌαž›αžœαžΈαž“αžŠαžΌ
  • αž€αžΆαžšαž”αŸ†αž•αž»αžŸαž‚αŸ†αž“αž·αžαŸ– javidx9
  • αžƒαŸ’αž›αžΆαŸ†αž„αŸ– GitHub

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αž›αŸ’αž”αŸ‚αž„αž–αžŸαŸ‹αžŸαžΆαž˜αž‰αŸ’αž‰

ឈុត 3D αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž αŸ’αž‚αŸαž˜αž‘αŸαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αž€αžΆαžšαž’αŸ’αžœαžΎαž‚αŸ†αžšαžΌ αž“αž·αž„αž…αž›αž“αžΆαžœαžαŸ’αžαž» 3D (αž‡αžΆαž–αž·αžŸαŸαžŸαžαž½αž’αž€αŸ’αžŸαžš) αž‚αžΊαžœαŸ‚αž„ αž“αž·αž„αž–αž·αž”αžΆαž€αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž›αŸαž„αž‡αžΆαž˜αž½αž™ Unity αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαžΉαž„αžαžΆαžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαžαŸ‚αž”αž“αŸ’αž αž¬αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž–αžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ” αž’αŸ’αžœαžΈαž˜αž½αž™αžŠαŸ‚αž›αžŸαžΆαž˜αž‰αŸ’αž‰ αž“αž·αž„αž›αžΏαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αž“αž»αž„αž–αŸαž›αžαŸ‚αž˜αž½αž™αž‡αžΆαžŸαž€αž› αžŠαžΎαž˜αŸ’αž”αžΈαž™αž›αŸ‹αž–αžΈαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž“αŸƒαž αŸ’αž‚αŸαž˜αŸ”

αž αžΎαž™αžαžΎαž™αžΎαž„αž˜αžΆαž“αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŸαžΆαž˜αž‰αŸ’αž‰αž“αž·αž„αž›αžΏαž“? αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž αžΎαž™ αž€αž»αž„αžŸαžΌαž› αž“αž·αž„ 2D αŸ” αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹ αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž€αž»αž„αžŸαžΌαž› αž“αž·αž„αž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαŸ” αž‡αžΆαžαŸ’αž˜αžΈαž˜αŸ’αžαž„αž‘αŸ€αž αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αžΆαžšαž”αŸ†αž•αž»αžŸαž‚αŸ†αž“αž·αžαž“αŸ…αž›αžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž (αž‡αžΆαž‘αžΌαž‘αŸ…αžαŸ’αž‰αž»αŸ†αž…αžΆαžαŸ‹αž‘αž»αž€αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαžαžΆαž‡αžΆαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž”αžŠαž·αžœαžαŸ’αžαž“αŸ αž“αž·αž„αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹αž”αŸ†αž•αž»αžαž“αŸƒαžŸαžαžœαžαŸ’αžŸαž‘αžΈ XNUMX)αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‘αžΆαž‰αž™αž€αžœαžΈαžŠαŸαž’αžΌαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αŸ’αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž€αž»αž„αžŸαžΌαž› Tetris αŸ” αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαž–αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸƒαž›αŸ’αž”αŸ‚αž„αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αž‚αžΆαžαŸ‹αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž€αžΆαžαŸ‹ "αž–αžŸαŸ‹" αŸ” αž–αžΈαžœαžΈαžŠαŸαž’αžΌ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžšαŸ€αž“αž’αŸ†αž–αžΈαžšαžΏαž„αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž…αŸ†αž“αž½αž“αž–αžΈαžš - αžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†αž αŸ’αž‚αŸαž˜ (αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž˜αž»αžαž„αžΆαžšαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž…αŸ†αž“αž½αž“αž”αžΈ/αž•αŸ’αž“αŸ‚αž€) αž“αž·αž„αž‘αž·αž“αŸ’αž“αž•αž›αž‘αŸ…αž€αžΆαž“αŸ‹αžŸαžαž·αž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αŸ”

αžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†αž αŸ’αž‚αŸαž˜αž’αžΆαž…αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ–

int main()
   {
      Setup();
      // a game loop
      while (!quit)
      {
          Input();
          Logic();
          Draw();
          Sleep(gameSpeed);  // game timing
      }
      return 0;
   }

αž€αžΌαžŠαž”αž„αŸ’αž αžΆαž‰αž˜αž»αžαž„αžΆαžš main() αž‘αžΆαŸ†αž„αž˜αžΌαž›αž€αŸ’αž“αž»αž„αž–αŸαž›αžαŸ‚αž˜αž½αž™αŸ” αž αžΎαž™αžœαžŠαŸ’αžαž“αŸƒαž αŸ’αž‚αŸαž˜αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž˜αžαž·αž™αŸ„αž”αž›αŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαŸ” αž˜αžΆαž“αž˜αž»αžαž„αžΆαžšαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž…αŸ†αž“αž½αž“αž”αžΈαž“αŸ…αž€αŸ’αž“αž»αž„αžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†αŸ– Input(), Logic(), Draw()αŸ” αžŠαŸ†αž”αžΌαž„αž”αž‰αŸ’αž…αžΌαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αž‰αŸ’αž…αžΌαž› (αž‡αžΆαž…αž˜αŸ’αž”αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž…αž»αž…αž‚αŸ’αžšαžΆαž”αŸ‹αž…αž»αž…) αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž› αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž›αžΎαž’αŸαž€αŸ’αžšαž„αŸ‹ - αž‚αžΌαžšαŸ” αž αžΎαž™αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžšαžΆαž›αŸ‹αžŸαŸŠαž»αž˜αŸ” αž…αž›αž“αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžαžΆαž˜αžšαž”αŸ€αž”αž“αŸαŸ‡αŸ” αžœαžΆαžŠαžΌαž…αž‡αžΆαžαž»αž€αŸ’αž€αžαžΆαŸ” αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αž‰αŸ’αž…αžΌαž›αžαŸ’αžšαžΌαžœαž…αŸ†αžŽαžΆαž™αž–αŸαž›αž…αŸ’αžšαžΎαž“αž”αŸ†αž•αž»αž αž αžΎαž™αžαžΆαž˜αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αžŠαžΉαž„ αž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžšαžΆαžŸαŸŠαž»αž˜αž“αŸƒαž αŸ’αž‚αŸαž˜αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž˜αž»αžαž„αžΆαžš Logic() αž›αžΏαž“αžŽαžΆαžŸαŸ‹αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αžαŸ’αžšαžΆαžŸαŸŠαž»αž˜αžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαŸ„αž™αž˜αž»αžαž„αžΆαžš Sleep() αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš gameSpeed β€‹β€‹β€‹β€‹αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžšαžΆαž“αŸαŸ‡αŸ”

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αžœαžŠαŸ’αžαž αŸ’αž‚αŸαž˜αŸ” αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž–αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ notepad

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž”αž„αŸ’αž€αžΎαžαž αŸ’αž‚αŸαž˜αž€αž»αž„αžŸαžΌαž›αž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆ αž“αŸ„αŸ‡αž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž›αžΎαž’αŸαž€αŸ’αžšαž„αŸ‹αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‘αž·αž“αŸ’αž“αž•αž›αžŸαŸ’αž‘αŸ’αžšαžΈαž˜αž’αž˜αŸ’αž˜αžαžΆ 'cout' αž“αžΉαž„αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ - αžœαžΆαž™αžΊαžαžŽαžΆαžŸαŸ‹αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž›αž‘αŸ’αž’αž•αž›αžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαžαž·αž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αž’αŸαž€αŸ’αžšαž„αŸ‹αŸ” αž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“ αž αžΎαž™αž αŸ’αž‚αŸαž˜αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαŸ” αž“αž·αž™αžΆαž™αž±αŸ’αž™αžαŸ’αžšαž„αŸ‹αž‘αŸ… αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž™αž›αŸ‹αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαž’αŸ’αžœαžΈαž‡αžΆαžŸαžαž·αž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αž’αŸαž€αŸ’αžšαž„αŸ‹ αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž•αŸ’αžαž›αŸ‹αž§αž‘αžΆαž αžšαžŽαŸαž€αžΌαžŠαž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž αžΎαž™αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αž“αžΉαž„αž’αžΆαž…αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΈαžŸαŸ’αžαžΆαž“αž—αžΆαž–αŸ”

αž‘αž‘αž½αž›αž”αžΆαž“αžŸαžαž·αž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αž’αŸαž€αŸ’αžšαž„αŸ‹ (αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžαŸ’αž‰αž»αŸ†αž’αžΆαž…αž“αž·αž™αžΆαž™αžŠαžΌαž…αŸ’αž“αŸαŸ‡)αŸ–

// create screen buffer for drawings
   HANDLE hConsole = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, 0,
 							   NULL, CONSOLE_TEXTMODE_BUFFER, NULL);
   DWORD dwBytesWritten = 0;
   SetConsoleActiveScreenBuffer(hConsole);

αž›αž‘αŸ’αž’αž•αž›αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž‘αŸ…αž’αŸαž€αŸ’αžšαž„αŸ‹αž“αŸƒαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αž·αž“αŸ’αž‘αž»αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ (αž”αž“αŸ’αž‘αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž αžΆαž‰αž–αž·αž“αŸ’αž‘αž»):

// draw the score
   WriteConsoleOutputCharacter(hConsole, scoreLine, GAME_WIDTH, {2,3}, &dwBytesWritten);

αžαžΆαž˜αž‘αŸ’αžšαžΉαžŸαŸ’αžαžΈ αž˜αž·αž“αž˜αžΆαž“αž’αŸ’αžœαžΈαžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž αŸ’αž‚αŸαž˜αž“αŸαŸ‡αž‘αŸ αžœαžΆαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžαŸ’αž‰αž»αŸ†αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαžŠαŸαž›αŸ’αž’αž“αŸƒαž αŸ’αž‚αŸαž˜αž€αž˜αŸ’αžšαž·αžαž…αžΌαž›αŸ” αž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž˜αž½αž™ αž αžΎαž™αžšαŸ€αž”αž…αŸ†αž€αŸ’αž“αž»αž„αž˜αž»αžαž„αžΆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αž‚αŸ’αž˜αžΆαž“αžαŸ’αž“αžΆαž€αŸ‹ αž‚αŸ’αž˜αžΆαž“αž˜αžšαžαž€αŸ” αž’αŸ’αž“αž€β€‹αžαŸ’αž›αž½αž“β€‹αž―αž„β€‹αž’αžΆαž…β€‹αž˜αžΎαž›β€‹αžƒαžΎαž‰β€‹αž’αŸ’αžœαžΈβ€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž™αŸ‰αžΆαž„β€‹αž“αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΌαžŠβ€‹αž”αŸ’αžšαž—αž–β€‹αž“αŸƒβ€‹αž αŸ’αž‚αŸαž˜β€‹αžŠαŸ„αž™β€‹αž…αžΌαž›β€‹αž‘αŸ…β€‹αž€αžΆαž“αŸ‹β€‹αžƒαŸ’αž›αžΆαŸ†αž„β€‹αž“αŸ…β€‹αž›αžΎ GitHub αŸ”

αž αŸ’αž‚αŸαž˜ 2 Crazy Tanks

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αž αŸ’αž‚αŸαž˜ Crazy Tanks

αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αžαž½αž’αž€αŸ’αžŸαžšαž‘αŸ…αž€αž»αž„αžŸαžΌαž›αž‚αžΊαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžšαžΏαž„αžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαŸ‚αž€αŸ’αž›αžΆαž™αž‘αŸ…αž‡αžΆαž αŸ’αž‚αŸαž˜αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αž‰αŸ’αž αžΆαž˜αž½αž™αž›αŸαž…αž‘αžΎαž„: αžαž½αž’αž€αŸ’αžŸαžšαž˜αžΆαž“αž€αž˜αŸ’αž–αžŸαŸ‹αž“αž·αž„αž‘αž‘αžΉαž„αžαž»αžŸαž‚αŸ’αž“αžΆ (αž€αž˜αŸ’αž–αžŸαŸ‹αž‚αžΊαž’αŸ†αž‡αžΆαž„αž‘αž‘αžΉαž„) αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αŸ’αžœαžΈαŸ—αž“αžΉαž„αž˜αžΎαž›αž‘αŸ…αž˜αž·αž“αžŸαž˜αžΆαž˜αžΆαžαŸ’αžš αž αžΎαž™αž€αžΆαžšαžšαŸ†αž€αž·αž›αž…αž»αŸ‡αž€αŸ’αžšαŸ„αž˜ αž¬αž‘αžΎαž„αž›αžΎαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαž›αžΏαž“αž‡αžΆαž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αž†αŸ’αžœαŸαž„ αž¬αžŸαŸ’αžαžΆαŸ†αŸ” αž₯αž‘αŸ’αž’αž·αž–αž›αž“αŸαŸ‡αž‚αžΊαž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ "αž–αžŸαŸ‹" (αž αŸ’αž‚αŸαž˜ 1) αŸ” "αž’αž»αž„" (αž αŸ’αž‚αŸαž˜αž‘αžΈ 2) αž˜αž·αž“αž˜αžΆαž“αž‚αž»αžŽαžœαž·αž”αžαŸ’αžαž·αž”αŸ‚αž”αž“αŸαŸ‡αž‘αŸαž–αŸ’αžšαŸ„αŸ‡αž›αž‘αŸ’αž’αž•αž›αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžŠαŸ„αž™αž€αžΆαžšαž‚αžΌαžšαž—αžΈαž€αžŸαŸ‚αž›αž’αŸαž€αŸ’αžšαž„αŸ‹αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž–αžŽαŸŒαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ” αž’αŸ’αž“αž€β€‹αž’αžΆαž…β€‹αž“αž·αž™αžΆαž™β€‹αžαžΆβ€‹αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αžŸαžšαžŸαŸαžš renderer αŸ” αž–αž·αž αž“αŸαŸ‡β€‹αž‚αžΊβ€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰β€‹αž”αž“αŸ’αžαž·αž…β€‹αžšαž½αž…β€‹αž‘αŸ…β€‹αž αžΎαž™ αž‘αŸ„αŸ‡β€‹αž”αžΈβ€‹αž‡αžΆβ€‹αž‚αž½αžšβ€‹αž±αŸ’αž™β€‹αž…αžΆαž”αŸ‹β€‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸβ€‹αž‡αžΆαž„β€‹αž“αŸαŸ‡β€‹αž€αŸβ€‹αžŠαŸ„αž™αŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž αŸ’αž‚αŸαž˜αž“αŸαŸ‡ αžœαžΆαž“αžΉαž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž αžΆαž‰αž—αžΈαž€αžŸαŸ‚αž›αž“αŸ…αž›αžΎαž’αŸαž€αŸ’αžšαž„αŸ‹αŸ” αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆαž“αŸαŸ‡αž‚αžΊαž‡αžΆαž•αŸ’αž“αŸ‚αž€αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαž αŸ’αž‚αŸαž˜αŸ” αž αžΎαž™αž’αŸ’αžœαžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž˜αž€αž‡αžΆαž˜αž½αž™αžαŸ’αž›αž½αž“αž’αŸ’αž“αž€αŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αžƒαžΎαž‰αž“αŸ…αž›αžΎαž’αŸαž€αŸ’αžšαž„αŸ‹αž‚αžΊαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž…αžαž»αž€αŸ„αžŽαž–αžŽαŸŒαžŠαŸ‚αž›αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αž€αŸ†αžŽαžαŸ‹αž…αžαž»αž€αŸ„αžŽ

αž…αžαž»αž€αŸ„αžŽαž€αŸ‚αž„αž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ†αžŽαžΆαž„αžŠαŸ„αž™αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαžŠαŸ‚αž›αž”αŸ†αž–αŸαž‰αžŠαŸ„αž™αž›αŸαžαŸ” αž“αž·αž™αžΆαž™αž’αžΈαž‰αŸ’αž…αžΉαž„ αžαŸ’αž‰αž»αŸ†αž’αžΆαž…αžšαŸ†αž›αŸαž…αž…αŸ†αžŽαž»αž…αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž˜αž½αž™ - αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž αŸ’αž‚αŸαž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αžΆαž’αžΆαžšαŸαž˜αž½αž™αžœαž·αž˜αžΆαžαŸ’αžšαŸ” αž˜αž·αž“β€‹αž˜αŸ‚αž“β€‹αž–αžΈαžšβ€‹αžœαž·αž˜αžΆαžαŸ’αžšβ€‹αž‘αŸβ€‹αž‚αžΊβ€‹αž˜αž½αž™β€‹αžœαž·αž˜αžΆαžαŸ’αžšβ€‹! αž’αžΆαžšαŸαž˜αž½αž™αžœαž·αž˜αžΆαžαŸ’αžšαž˜αžΆαž“αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž› αž“αž·αž„αž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αŸ”

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž’αž»αž„αž αŸ’αž‚αŸαž˜

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αžαŸ†αžŽαžΆαž„αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž“αŸƒαž’αž»αž„αž αŸ’αž‚αŸαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž’αžΆαžšαŸαž˜αž½αž™αžœαž·αž˜αžΆαžαŸ’αžš

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αž§αž‘αžΆαž αžšαžŽαŸαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž“αŸƒαž€αžΆαžšαžαŸ†αžŽαžΆαž„αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαžŠαŸ„αž™αž’αžΆαžšαŸαž˜αž½αž™αžœαž·αž˜αžΆαžαŸ’αžš

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αž’αžΆαžαž»αž“αŸƒαž’αžΆαžšαŸαž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†αž‘αŸ’αžœαŸ αž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžœαžΆαž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαžœαž·αž˜αžΆαžαŸ’αžšαž˜αž½αž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαž’αžΆαžšαŸαž–αžΈαžšαžœαž·αž˜αžΆαžαŸ’αžšαŸ” αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž™αžΎαž„αž“αŸ…αžαŸ‚αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαŸ”

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž’αžΆαžšαŸαž˜αž½αž™αžœαž·αž˜αžΆαžαŸ’αžšαž€αŸ’αž“αž»αž„αžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†αž‘αŸ’αžœαŸαŸ” Y αž‚αžΊαž‡αžΆαž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž‡αž½αžšαžŠαŸαž€ X αž‚αžΊαž‡αžΆαž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž‡αž½αžšαžˆαžš

αžŸαžΌαž˜αž…αŸ†αžŽαžΆαŸ†αžαžΆαž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž’αž˜αŸ’αž˜αžαžΆ i, j, αžαŸ’αž‰αž»αŸ†αž”αŸ’αžšαžΎ identifiers x αž“αž·αž„ y αŸ” αž’αž‰αŸ’αž…αžΉαž„β€‹αžœαžΆβ€‹αž αžΆαž€αŸ‹β€‹αžŠαžΌαž…β€‹αž‡αžΆβ€‹αžαŸ’αž‰αž»αŸ†β€‹αž€αžΆαž“αŸ‹β€‹αžαŸ‚β€‹αž‚αžΆαž”αŸ‹β€‹αž—αŸ’αž“αŸ‚αž€ αž“αž·αž„β€‹αž…αŸ’αž”αžΆαžŸαŸ‹β€‹αž‡αžΆαž„β€‹αž˜αž»αž“β€‹αžŠαž›αŸ‹β€‹αžαž½αžšαž€αŸ’αž”αžΆαž›αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αžŸαž‰αŸ’αž‰αžΆαžŽαž”αŸ‚αž”αž“αŸαŸ‡αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž‰αŸ’αž…αžΆαŸ†αž„αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎαž‘αŸ…αž›αžΎαž’αŸαž€αŸ’αžŸαž€αžΌαž’αžšαžŠαŸ„αž“αŸαž“αŸƒαžšαžΌαž”αž—αžΆαž–αž–αžΈαžšαžœαž·αž˜αžΆαžαŸ’αžšαŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αŸ†αž–αžΈαž—αžΈαž€αžŸαŸ‚αž› αž–αžŽαŸŒ αž“αž·αž„αž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αŸ” αž˜αž»αžαž„αžΆαžš StretchDIBits (αž”αž‹αž˜αž€αžαžΆαŸ– windows.h; αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αŸ– gdi32.lib) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αž‘αŸ’αž’αž•αž›αŸ” αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αžšαž”αžŸαŸ‹αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ…αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αŸ– αž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αžšαžΌαž”αž—αžΆαž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰ (αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αž»αž„αžŸαžΌαž›αžœαžΈαž“αžŠαžΌ) αž€αžΌαž’αžšαžŠαŸ„αž“αŸαž“αŸƒαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αž„αŸ’αž αžΆαž‰αžšαžΌαž”αž—αžΆαž– αž‘αž‘αžΉαž„/αž€αž˜αŸ’αž–αžŸαŸ‹αžšαž”αžŸαŸ‹αžœαžΆ αž“αž·αž„αžšαžΌαž”αž—αžΆαž–αŸ” αžαŸ’αž›αž½αž“αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸƒαž•αŸ‚αž“αž‘αžΈαž”αŸŠαžΈαž (αž”αŸŠαžΈαžαž•αŸ‚αž“αž‘αžΈ) αžŠαŸ‚αž›αžαŸ†αžŽαžΆαž„αžŠαŸ„αž™αž’αžΆαžšαŸαž“αŸƒαž”αŸƒαŸ” Bitmap αž‡αžΆαž’αžΆαžšαŸαž“αŸƒαž”αŸƒ!

αž˜αž»αžαž„αžΆαžš StretchDIBits() αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αž’αŸ’αžœαžΎαž€αžΆαžšαŸ–

// screen output for game field
   StretchDIBits(
               deviceContext,
               OFFSET_LEFT, OFFSET_TOP,
               PMATRIX_WIDTH, PMATRIX_HEIGHT,
               0, 0,
               PMATRIX_WIDTH, PMATRIX_HEIGHT,
               m_p_bitmapMemory, &bitmapInfo,
               DIB_RGB_COLORS,
               SRCCOPY
               );

αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€αž‡αžΆαž˜αž»αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ‚αž“αž‘αžΈαž”αŸŠαžΈαžαž“αŸαŸ‡αžŠαŸ„αž™αž”αŸ’αžšαžΎαž˜αž»αžαž„αžΆαžš VirtualAlloc() αŸ” αž“αŸ„αŸ‡αž‚αžΊαž…αŸ†αž“αž½αž“αž”αŸƒαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž—αžΈαž€αžŸαŸ‚αž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž›αžΎαž’αŸαž€αŸ’αžšαž„αŸ‹αŸ”

αž”αž„αŸ’αž€αžΎαž m_p_bitmap Memory bitmapαŸ–

// create bitmap
   int bitmapMemorySize = (PMATRIX_WIDTH * PMATRIX_HEIGHT) * BYTES_PER_PIXEL;
   void* m_p_bitmapMemory = VirtualAlloc(0, bitmapMemorySize, MEM_COMMIT, PAGE_READWRITE);

αž“αž·αž™αžΆαž™αž±αŸ’αž™αž…αŸ†αž‘αŸ… αž•αŸ‚αž“αž‘αžΈαž”αŸŠαžΈαžαž˜αžΆαž“αžŸαŸ†αžŽαž»αŸ†αž—αžΈαž€αžŸαŸ‚αž›αŸ” αžšαžΆαž›αŸ‹αž”αž½αž“αž”αŸƒαž€αŸ’αž“αž»αž„αž’αžΆαžšαŸαž‚αžΊαž‡αžΆαž—αžΈαž€αžŸαŸ‚αž› RGB αŸ” αž˜αž½αž™αž”αŸƒαž€αŸ’αž“αž»αž„αž˜αž½αž™αžαž˜αŸ’αž›αŸƒαž€αŸ’αžšαž αž˜ αž˜αž½αž™αž”αŸƒαž€αŸ’αž“αž»αž„αž˜αž½αž™αžαž˜αŸ’αž›αŸƒαž–αžŽαŸŒαž”αŸƒαžαž„ (G) αž“αž·αž„αž˜αž½αž™αž”αŸƒαž€αŸ’αž“αž»αž„αž˜αž½αž™αž–αžŽαŸŒαžαŸ€αžœ (B) αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž˜αžΆαž“αž˜αž½αž™αž”αŸƒαž€αŸ’αž“αž»αž„αž˜αž½αž™αž€αžΆαžšαž…αžΌαž›αž”αž“αŸ’αž‘αžΆαžαŸ‹αŸ” αž–αžŽαŸŒαž‘αžΆαŸ†αž„αž”αžΈαž“αŸαŸ‡ - αž€αŸ’αžšαž αž˜ / αž”αŸƒαžαž„ / αžαŸ€αžœ (RGB) - αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΆαž™αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž€αŸ’αž“αž»αž„αžŸαž˜αžΆαž˜αžΆαžαŸ’αžšαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆ - αž αžΎαž™αž–αžŽαŸŒαž—αžΈαž€αžŸαŸ‚αž›αž›αž‘αŸ’αž’αž•αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αž½αž›αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž‡αžΆαžαŸ’αž˜αžΈαž˜αŸ’αžαž„αž‘αŸ€αž αž…αžαž»αž€αŸ„αžŽαž€αŸ‚αž„αž“αžΈαž˜αž½αž™αŸ— αž¬αžœαžαŸ’αžαž»αž αŸ’αž‚αŸαž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ†αžŽαžΆαž„αžŠαŸ„αž™αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž›αŸαžαŸ” αžœαžαŸ’αžαž»αž αŸ’αž‚αŸαž˜αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžαž»αŸ†αž˜αž½αž™αŸ” αž αžΎαž™β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€β€‹αž–αž½αž€β€‹αžœαžΆβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‚αŸβ€‹αžŠαžΆαž€αŸ‹β€‹αž“αŸ…β€‹αž›αžΎβ€‹αž‘αžΈαž›αžΆαž“β€‹αž”αŸ’αžšαž€αž½αžβ€‹αžŠαŸ‚αž›β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž‡αžΆβ€‹αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸβ€‹αž›αŸαžβ€‹αž’αŸ†β€‹αž˜αž½αž™αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‚αžΌαžŸαž•αŸ‚αž“αž‘αžΈαž›αŸαžαž“αžΈαž˜αž½αž™αŸ—αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž‘αŸ…αž‡αžΆαž–αžŽαŸŒαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž›αŸαž 8 αž˜αžΆαž“αž–αžŽαŸŒαžαŸ€αžœ αž›αŸαž 9 αž˜αžΆαž“αž–αžŽαŸŒαž›αžΏαž„ αž›αŸαž 10 αž˜αžΆαž“αž–αžŽαŸŒαž”αŸ’αžšαž•αŸαŸ‡αž„αž„αžΉαžαŸ”αž›αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αž’αžΆαž…αž“αž·αž™αžΆαž™αž”αžΆαž“αžαžΆαž™αžΎαž„αž˜αžΆαž“αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž“αŸƒαžœαžΆαž›αž›αŸαž„ αžŠαŸ‚αž›αž›αŸαžαž“αžΈαž˜αž½αž™αŸ—αž‚αžΊαž‡αžΆαž”αŸ’αžšαž—αŸαž‘αž–αžŽαŸŒαž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸβ€‹αž‡αžΆβ€‹αž›αŸαžβ€‹αž“αŸƒβ€‹αžœαžΆαž›β€‹αž›αŸαž„β€‹αž‘αžΆαŸ†αž„β€‹αž˜αžΌαž›β€‹αž“αŸ…β€‹αž›αžΎβ€‹αžŠαŸƒβ€‹αž˜αŸ’αžαžΆαž„ αž“αž·αž„β€‹αž•αŸ‚αž“αž‘αžΈβ€‹αž”αŸŠαžΈαžβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž”αž„αŸ’αž αžΆαž‰β€‹αžšαžΌαž”αž—αžΆαž–β€‹αž“αŸ…β€‹αž˜αŸ’αžαžΆαž„β€‹αž‘αŸ€αžαŸ” αžšαž αžΌαžαž˜αž€αžŠαž›αŸ‹αž–αŸαž›αž“αŸαŸ‡ αž•αŸ‚αž“αž‘αžΈαž”αŸŠαžΈαžαž‚αžΊ "αž‘αž‘αŸ" - αžœαžΆαž˜αž·αž“αž‘αžΆαž“αŸ‹αž˜αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž—αžΈαž€αžŸαŸ‚αž›αž“αŸƒαž–αžŽαŸŒαžŠαŸ‚αž›αž…αž„αŸ‹αž”αžΆαž“αž“αŸ„αŸ‡αž‘αŸαŸ” αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαž‡αŸ†αž αžΆαž“αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αŸ†αž–αŸαž‰αž•αŸ‚αž“αž‘αžΈαž”αŸŠαžΈαžαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž—αžΈαž€αžŸαŸ‚αž›αž“αžΈαž˜αž½αž™αŸ—αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž›αŸαžαž“αŸƒαžœαžΆαž›αž›αŸαž„αŸ” αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αŸ‚αž”αž“αŸαŸ‡αž‚αžΊαž“αŸ…αž€αŸ’αž“αž»αž„αžšαžΌαž”αž—αžΆαž–αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ”

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž€αžΆαžšαž”αŸ†αž–αŸαž‰αž•αŸ‚αž“αž‘αžΈαž”αŸŠαžΈαž (αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž—αžΈαž€αžŸαŸ‚αž›) αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž–αŸαžαŸŒαž˜αžΆαž“αž•αŸ’αž’αŸ‚αž€αž›αžΎαž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž›αŸαž (αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαžŒαžΈαž‡αžΈαžαž›) αž“αŸƒαžœαžΆαž›αž›αŸαž„ (αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαž–αžŽαŸŒαž˜αž·αž“αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αžΉαž„αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαž“αŸ…αž€αŸ’αž“αž»αž„αž αŸ’αž‚αŸαž˜αž‘αŸ)

αžαŸ’αž‰αž»αŸ†β€‹αž€αŸβ€‹αž“αžΉαž„β€‹αž”αž„αŸ’αž αžΆαž‰β€‹αž€αžΌαžŠβ€‹αž–αž·αžβ€‹αž˜αž½αž™β€‹αž–αžΈβ€‹αž αŸ’αž‚αŸαž˜β€‹αž•αž„β€‹αžŠαŸ‚αžšαŸ” colorIndex αž’αžαŸαžšβ€‹αž“αŸ…β€‹αž–αŸαž›β€‹αž€αžΆαžšβ€‹αž’αŸ’αžœαžΎβ€‹αž‘αžΎαž„αžœαž·αž‰β€‹αž“αžΈαž˜αž½αž™αŸ—β€‹αž“αŸƒβ€‹αžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž•αŸ’αžαž›αŸ‹β€‹αžαž˜αŸ’αž›αŸƒ (αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸβ€‹αž–αžŽαŸŒ) αž–αžΈβ€‹αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸβ€‹αž‡αžΆβ€‹αž›αŸαžβ€‹αž“αŸƒβ€‹αžœαžΆαž›β€‹αž›αŸαž„ (mainDigitalMatrix)αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž–αžŽαŸŒαžαŸ’αž›αž½αž“αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‘αŸ…αž’αžαŸαžšαž–αžŽαŸŒαžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž›αž·αž”αž·αž€αŸ’αžšαž˜αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αžαž–αžŽαŸŒαž›αž‘αŸ’αž’αž•αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€αž‘αŸ…αž‡αžΆαžŸαž˜αžΆαž˜αžΆαžαŸ’αžšαž“αŸƒαž–αžŽαŸŒαž€αŸ’αžšαž αž˜αž”αŸƒαžαž„αž“αž·αž„αž–αžŽαŸŒαžαŸ€αžœ (RGB) αŸ” αž αžΎαž™αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž€αžΆαžšαž…αžΌαž›αž”αž“αŸ’αž‘αžΆαžαŸ‹ (pixelPadding) αž–αŸαžαŸŒαž˜αžΆαž“αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‘αŸ…αž—αžΈαž€αžŸαŸ‚αž›αž˜αŸ’αžαž„αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αž αž”αž„αŸ’αž€αžΎαžαž‡αžΆαžšαžΌαž”αž—αžΆαž–αž–αžŽαŸŒαž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ‚αž“αž‘αžΈαž”αŸŠαžΈαžαŸ”

αž€αžΌαžŠαž”αŸ’αžšαžΎαž‘αŸ’αžšαž“αž·αž… αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž”αŸŠαžΈαž αžŠαŸ‚αž›αž’αžΆαž…αž–αž·αž”αžΆαž€αž™αž›αŸ‹αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αžŽαŸ‚αž“αžΆαŸ†αž’αŸ’αž“αž€αž±αŸ’αž™αž’αžΆαž“αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž–αžΈαž‚αŸ’αž“αžΆαž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆαž˜αž½αž™αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž”αŸ‚αž”αž“αŸαŸ‡αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αž€αžΆαžšαž”αŸ†αž–αŸαž‰αž•αŸ‚αž“αž‘αžΈαž”αŸŠαžΈαžαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž–αŸαžαŸŒαž˜αžΆαž“αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž›αŸαžαž“αŸƒαžœαžΆαž›αž›αŸαž„αŸ–

// set pixel map variables
   int colorIndex;
   COLORREF color;
   int pitch;
   uint8_t* p_row;
 
   // arrange pixels for game field
   pitch = PMATRIX_WIDTH * BYTES_PER_PIXEL;     // row size in bytes
   p_row = (uint8_t*)m_p_bitmapMemory;       //cast to uint8 for valid pointer arithmetic
   							(to add by 1 byte (8 bits) at a time)   
   for (int y = 0; y < PMATRIX_HEIGHT; ++y)
   {
       uint32_t* p_pixel = (uint32_t*)p_row;
       for (int x = 0; x < PMATRIX_WIDTH; ++x)
       {
           colorIndex = mainDigitalMatrix[y * PMATRIX_WIDTH + x];
           color = Utils::GetColor(colorIndex);
           uint8_t blue = GetBValue(color);
           uint8_t green = GetGValue(color);
           uint8_t red = GetRValue(color);
           uint8_t pixelPadding = 0;
 
           *p_pixel = ((pixelPadding << 24) | (red << 16) | (green << 8) | blue);
           ++p_pixel;
       }
       p_row += pitch;
   }

αž™αŸ„αž„αžαžΆαž˜αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαžαžΆαž„αž›αžΎ αžšαžΌαž”αž—αžΆαž–αž˜αž½αž™ (ស៊ុម) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž αŸ’αž‚αŸαž˜ Crazy Tanks αž αžΎαž™αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž›αžΎαž’αŸαž€αŸ’αžšαž„αŸ‹αž€αŸ’αž“αž»αž„αž˜αž»αžαž„αžΆαžš Draw()αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αž€αžΆαžšαž…αž»αž…αž‚αŸ’αžšαžΆαž”αŸ‹αž…αž»αž…αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αž»αžαž„αžΆαžš Input() αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αž»αžαž„αžΆαžš Logic() αžšαžΌαž”αž—αžΆαž–αžαŸ’αž˜αžΈαž˜αž½αž™ (ស៊ុម) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αŸ” αž–αž·αžαž˜αŸ‚αž“ αžœαžαŸ’αžαž»αž αŸ’αž‚αŸαž˜αž’αžΆαž…αž˜αžΆαž“αž‘αžΈαžαžΆαŸ†αž„αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαž“αŸ…αž›αžΎαž‘αžΈαž›αžΆαž“αž”αŸ’αžšαž€αž½αž αž αžΎαž™αžαžΆαž˜αž“αŸ„αŸ‡ αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΌαžšαž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αžŸαŸαž„αŸ” αž“αŸαŸ‡αž‡αžΆαžšαž”αŸ€αž”αžŠαŸ‚αž›αž…αž›αž“αžΆ (αž…αž›αž“αžΆ) αž€αžΎαžαž‘αžΎαž„αŸ”

αžαžΆαž˜αž‘αŸ’αžšαžΉαžŸαŸ’αžŠαžΈ (αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αž‘αžΆαž“αŸ‹αž—αŸ’αž›αŸαž…αž’αŸ’αžœαžΈαž‘αŸ) αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αž’αŸ†αž–αžΈαžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†αž αŸ’αž‚αŸαž˜αž–αžΈαž αŸ’αž‚αŸαž˜αžŠαŸ†αž”αžΌαž„ ("αž–αžŸαŸ‹") αž“αž·αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž αžΆαž‰αž—αžΈαž€αžŸαŸ‚αž›αž“αŸ…αž›αžΎαž’αŸαž€αŸ’αžšαž„αŸ‹αž–αžΈαž αŸ’αž‚αŸαž˜αž‘αžΈαž–αžΈαžš ("αž’αž»αž„") αž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαžŸαžšαžŸαŸαžšαžŽαžΆαž˜αž½αž™αŸ” αž“αŸƒαž αŸ’αž‚αŸαž˜ 2D αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Windows αŸ” αž’αžαŸ‹αžŸαŸ†αž‘αŸαž„! πŸ˜‰ αž•αŸ’αž“αŸ‚αž€αžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž€αžΆαžšαž αŸ„αŸ‡αž αžΎαžšαžŠαŸαž”αŸ’αžšαžŽαž·αžαŸ”

αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹αž αŸ’αž‚αŸαž˜ "αž’αž»αž„" αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αž™αŸ‰αžΆαž„αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž‡αžΆαž„ "αž–αžŸαŸ‹" αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αŸ’αžšαžΎαž—αžΆαžŸαžΆ C++ αžšαž½αž…αž αžΎαž™ αž–αŸ„αž›αž‚αžΊαžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαžœαžαŸ’αžαž»αž αŸ’αž‚αŸαž˜αž•αŸ’αžŸαŸαž„αŸ—αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαŸ’αž“αžΆαž€αŸ‹αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž”αžŽαŸ’αžαž»αŸ†αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† - αž’αŸ’αž“αž€αž’αžΆαž…αžƒαžΎαž‰αž€αžΌαžŠαž“αŸ…αž€αŸ’αž“αž»αž„αž”αž‹αž˜αž€αžαžΆ/Box.hαŸ” αžŠαŸ„αž™αžœαž·αž’αžΈαž“αŸαŸ‡ αž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αž‘αŸ†αž“αž„αž‡αžΆαž˜αžΆαž“αž€αžΆαžšαž›αŸαž…αž’αŸ’αž›αžΆαž™αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αŸ” αž‘αŸ’αžšαž“αž·αž…αžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎαŸ” αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αžΆαžšαž…αž„αž…αžΆαŸ†αŸ” αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαžαŸ‚αž“αž·αž™αžΆαž™αžαžΆαžŸαŸ€αžœαž—αŸ…αž”αžΆαž“αž‡αž½αž™αžαŸ’αž‰αž»αŸ†αž…αŸ’αžšαžΎαž“αŸ” αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ C++ αžαžΆαž˜αžšαž™αŸˆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž αŸ’αž‚αŸαž˜. αž“αŸαŸ‡αž‡αžΆαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸαž›αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αž”αžΌαž„αž€αŸ’αž“αž»αž„ C++ αŸ” αžœαžΆαžαžΌαž… αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸ αž“αž·αž„αžšαŸ€αž”αž…αŸ†αž”αžΆαž“αž›αŸ’αž’αŸ”

αžœαžΆαžαŸ’αžšαžΌαžœαž…αŸ†αžŽαžΆαž™αž–αŸαž›αž”αŸ’αžšαž αŸ‚αž›αž”αŸ’αžšαžΆαŸ†αž˜αž½αž™αžαŸ‚αžŠαžΎαž˜αŸ’αž”αžΈαž’αž—αž·αžœαžŒαŸ’αžαž αŸ’αž‚αŸαž˜αž“αŸαŸ‡αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαžšαžŸαŸαžšαž‡αžΆαž…αž˜αŸ’αž”αž„αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž’αžΆαž αžΆαžšαžαŸ’αž„αŸƒαžαŸ’αžšαž„αŸ‹ αž“αž·αž„αž’αžΆαž αžΆαžšαžŸαž˜αŸ’αžšαž“αŸ‹αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αž’αŸ’αžœαžΎαž€αžΆαžšαŸ” αž‚αžΆαžαŸ‹β€‹αž’αž„αŸ’αž‚αž»αž™β€‹αž€αŸ’αž“αž»αž„β€‹αž•αŸ’αž‘αŸ‡αž”αžΆαž™β€‹αž€αžΆαžšαž·αž™αžΆαž›αŸαž™ αžŠαžΎαžšβ€‹αž‡αžΆαž“αŸ‹β€‹αž’αžΆαž αžΆαžš αž“αž·αž„β€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ” αž¬αž“αŸ…αž•αŸ’αž‘αŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžΆαž αžΆαžšαž–αŸαž›αž›αŸ’αž„αžΆαž…αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž‘αž‘αž½αž›αž”αžΆαž“ "αžŸαž„αŸ’αž‚αŸ’αžšαžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž”αŸ‚αž”αž“αŸαŸ‡αŸ” αžŠαžΌαž…αžšαžΆαž›αŸ‹αžŠαž„ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αŸ’αžšαžΎαžŸαŸ€αžœαž—αŸ…αž€αžαŸ‹αžαŸ’αžšαžΆαž™αŸ‰αžΆαž„αžŸαž€αž˜αŸ’αž˜ αž αžΎαž™αž‚αŸ’αžšαž”αŸ‹αž‚αŸ†αž“αž·αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž”αžΆαž“αž€αžΎαžαž“αŸ…αž€αŸ’αž“αž»αž„αž“αŸ„αŸ‡αŸ”

αž“αŸ…αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž•αŸ’αž“αŸ‚αž€αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž‘αžΆαž‰αž€αžΆαžšαžŸαŸ’αž€αŸαž“αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸƒαžŸαŸ€αžœαž—αŸ…αž€αžαŸ‹αžαŸ’αžšαžΆαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž€αŸ†αž–αž»αž„αžŸαžšαžŸαŸαžš αž‚αžΌαžš αžšαžΆαž”αŸ‹ αžšαž…αž“αžΆβ€¦

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αž€αžΆαžšαžšαž…αž“αžΆαžšαžΌαž”αž—αžΆαž–αž’αž»αž„αŸ” αž“αž·αž„αž“αž·αž™αž˜αž“αŸαž™αž“αŸƒαž…αŸ†αž“αž½αž“αž—αžΈαž€αžŸαŸ‚αž›αžŠαŸ‚αž›αž’αž»αž„αž“αžΈαž˜αž½αž™αŸ—αž‚αž½αžšαž€αžΆαž“αŸ‹αž€αžΆαž”αŸ‹αž“αŸ…αž›αžΎαž’αŸαž€αŸ’αžšαž„αŸ‹

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αž€αžΆαžšαž‚αžŽαž“αžΆαž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž“αž·αž„αžšαžΌαž”αž˜αž“αŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž„αŸ’αžœαž·αž›αž’αž»αž„αž‡αž»αŸ†αžœαž·αž‰αž’αŸαž€αŸ’αžŸαžšαž”αžŸαŸ‹αžœαžΆαŸ”

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αžŠαŸ’αž™αžΆαž€αŸ’αžšαžΆαž˜αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† (αžŠαŸ‚αž›αž›αŸαž…αž’αŸ’αž›αžΆαž™αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αž‘αŸ†αž“αž„αž‡αžΆ)αŸ” αž”αžŽαŸ’αžαž»αŸ†αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‡αžΆαž”αž‰αŸ’αž‡αžΈαž—αŸ’αž‡αžΆαž”αŸ‹

DevOps C++ αž“αž·αž„ "αžŸαž„αŸ’αžšαŸ’αž‚αžΆαž˜αž•αŸ’αž‘αŸ‡αž”αžΆαž™" αž¬αžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžšαžŸαŸαžšαž αŸ’αž‚αŸαž˜αž–αŸαž›αž€αŸ†αž–αž»αž„αž‰αŸ‰αžΆαŸ†
αž αžΎαž™αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž”αŸ‰αž»αž“αž”αŸ‰αž„αž₯αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž‡αžΌαž›αž”αž‰αŸ’αž‰αžΆαžŸαž·αž”αŸ’αž”αž“αž·αž˜αŸ’αž˜αž·αžαž‘αŸ…αž€αŸ’αž“αž»αž„αž αŸ’αž‚αŸαž˜

αž‘αŸ’αžšαžΉαžŸαŸ’αžαžΈ

"αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž€αžΆαžšαž’αŸ’αžœαžΎαžŠαŸ†αžŽαžΎαžšαž˜αž½αž™αž–αžΆαž“αŸ‹αž˜αŸ‰αžΆαž™αž€αŸαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ„αž™αž‡αŸ†αž αžΆαž“αžŠαŸ†αž”αžΌαž„" (αž”αŸ’αžšαžΆαž‡αŸ’αž‰αžΆαž…αž·αž“αž”αž»αžšαžΆαžŽ)

αžαŸ„αŸ‡αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž–αžΈαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‘αŸ…αž‘αŸ’αžšαžΉαžŸαŸ’αžαžΈ! αžαžΎαž’αŸ’αž“αž€αžšαž€αž–αŸαž›αžœαŸαž›αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αŸ†αžŽαž„αŸ‹αž…αŸ†αžŽαžΌαž›αž…αž·αžαŸ’αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ„αž™αžšαž”αŸ€αž”αžŽαžΆ?

  1. αž€αŸ†αžŽαžαŸ‹αž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αž–αž·αžαž‡αžΆαž…αž„αŸ‹αž”αžΆαž“ (αž’αžΆαž‘αŸ„αŸ‡αž’αžΆαž›αŸαž™ αž“αŸαŸ‡αž‡αžΆαž€αžΆαžšαž›αŸ†αž”αžΆαž€αž”αŸ†αž•αž»αž)αŸ”
  2. αž€αŸ†αžŽαžαŸ‹αž’αžΆαž‘αž·αž—αžΆαž–αŸ”
  3. αž›αŸ‡αž”αž„αŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ "ហួសហេតុ" αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αžΆαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸƒαž’αžΆαž‘αž·αž—αžΆαž–αžαŸ’αž–αžŸαŸ‹αŸ”
  4. αž†αŸ’αž–αŸ„αŸ‡αž‘αŸ…αžšαž€αž‚αŸ„αž›αžŠαŸ…αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‡αžΆαžšαŸ€αž„αžšαžΆαž›αŸ‹αžαŸ’αž„αŸƒαŸ”
  5. αž€αž»αŸ†αžšαŸ†αž–αžΉαž„αžαžΆαž“αžΉαž„αž˜αžΆαž“αž–αŸαž›αž‘αŸ†αž“αŸαžšαž–αžΈαžšαž¬αž”αžΈαž˜αŸ‰αŸ„αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αŸ†αžŽαž„αŸ‹αž…αŸ†αžŽαžΌαž›αž…αž·αžαŸ’αžαŸ”

αž˜αŸ‰αŸ’αž™αžΆαž„αžœαž·αž‰αž‘αŸ€αž αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αž„αŸ‹αž”αžΆαž“ αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αž’αžΆαž‘αž·αž—αžΆαž–αŸ” αž˜αŸ’αž™αŸ‰αžΆαž„αžœαž·αž‰αž‘αŸ€αž αž‚αŸαž’αžΆαž…αž”αŸ„αŸ‡αž”αž„αŸ‹αž…αŸ„αž›αž€αžšαžŽαžΈ/αž‚αž˜αŸ’αžšαŸ„αž„αž˜αž½αž™αž…αŸ†αž“αž½αž“ αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αŸαž‰αž…αž·αžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αž’αžΆαž‘αž·αž—αžΆαž–αž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ” αž˜αŸ’αž™αŸ‰αžΆαž„β€‹αž‘αŸ€αž αž’αŸ’αž“αž€β€‹αž“αžΉαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž›αŸ‡αž”αž„αŸ‹β€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž™αŸ‰αžΆαž„ "αž›αžΎαžŸβ€‹αž…αŸ†αžŽαž»αŸ‡"αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž›αžΊαž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆαž˜αž½αž™αžαžΆ αž€αŸ’αž“αž»αž„αž‡αžΈαžœαž·αžαž‚αž½αžšαžαŸ‚αž˜αžΆαž“αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αž…αŸ†αž“αž½αž“αž”αžΈαŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž’αŸ’αž“αž€αž“αžΉαž„αž’αžΆαž…αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž–αž½αž€αž‚αŸαžαžΆαž˜αžšαž”αŸ€αž”αžŠαŸ‚αž›αž›αŸ’αž’αž”αŸ†αž•αž»αžαŸ” αž αžΎαž™αž‚αž˜αŸ’αžšαŸ„αž„/αž‘αž·αžŸαžŠαŸ…αž”αž“αŸ’αžαŸ‚αž˜αž“αžΉαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž•αŸ’αž‘αž»αž€αž›αžΎαžŸαž‘αž˜αŸ’αž„αž“αŸ‹αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αž‚αžΊαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž”αŸ’αžšαž’αžΆαž“αž”αž‘ αž“αž·αž„αž”αž»αž‚αŸ’αž‚αž›αŸ”

αž˜αžΆαž“αž…αŸ’αž”αžΆαž”αŸ‹αž˜αžΆαžŸαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ– αž€αž»αŸ†αž˜αžΆαž“αžαŸ’αž„αŸƒ 0%! αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžšαŸ€αž“αž’αŸ†αž–αžΈαžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž˜αž½αž™αžŠαŸ„αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž’αŸŠαžΈαž“αžŒαžΈαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎαž‚αž˜αŸ’αžšαŸ„αž„αž˜αž½αž™ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž˜αž½αž™αž’αŸ†αž–αžΈαžœαžΆαž‡αžΆαžšαŸ€αž„αžšαžΆαž›αŸ‹αžαŸ’αž„αŸƒαŸ” αž αžΎαž™αžœαžΆαž˜αž·αž“αžŸαŸ†αžαžΆαž“αŸ‹αž‘αŸαžαžΆαžαžΎαž’αŸ’αž“αž€αžšαž€αž”αžΆαž“αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αŸ” αžŸαžšαžŸαŸαžšβ€‹αž–αžΆαž€αŸ’αž™β€‹αž˜αž½αž™β€‹αžƒαŸ’αž›αžΆ αž¬β€‹αž˜αž½αž™β€‹αž”αž“αŸ’αž‘αžΆαžαŸ‹β€‹αž“αŸƒβ€‹αž€αžΌαžŠ αž˜αžΎαž›β€‹αžœαžΈαžŠαŸαž’αžΌβ€‹αž”αž„αŸ’αžšαŸ€αž“β€‹αž˜αž½αž™ αž¬β€‹αž‰αž‰αž½αžšβ€‹αž€αŸ’αžšαž…αž€β€‹αž˜αž½αž™β€‹αž‘αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αž€αŸ’αžŠαžΆαžšαžαŸ€αž“β€”αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚β€‹αž’αŸ’αžœαžΎβ€‹αž’αŸ’αžœαžΈβ€‹αž˜αž½αž™αŸ” αž•αŸ’αž“αŸ‚αž€αžŠαŸαž›αŸ†αž”αžΆαž€αž”αŸ†αž•αž»αžαž‚αžΊαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž’αŸ’αž“αž€αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž“αžΉαž„αž’αŸ’αžœαžΎαž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αž„αŸ‹αž’αŸ’αžœαžΎαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž“αžΉαž„αž”αž“αŸ’αžαž†αŸ’αž–αŸ„αŸ‡αž‘αŸ…αžšαž€αž‚αŸ„αž›αžŠαŸ…αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž αžΎαž™αž‡αžΏαžαŸ’αž‰αž»αŸ†αž™αŸ‰αžΆαž„αž›αžΏαž“αŸ” αž™αŸ‰αžΆαž„αžŽαžΆαž˜αž·αž‰ αž αŸ’αžœαŸ’αžšαžΆαŸ†αž„αžŸαŸ†αžαžΆαž“αŸ‹αž›αžΎαž’αŸ’αžœαžΈαŸ—αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αžΊαž€αžΆαžšαž–αž“αŸ’αž™αžΆαžšαž–αŸαž›αŸ”

αž αžΎαž™αžœαžΆαž‡αžΆαž€αžΆαžšαžŸαŸ†αžαžΆαž“αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αž„αž…αžΆαŸ†αžαžΆαž’αŸ’αž“αž€αž˜αž·αž“αž‚αž½αžšαž˜αžΎαž›αžŸαŸ’αžšαžΆαž›αž“αž·αž„αž˜αž·αž“αž’αžΎαž–αžΎαž“αžΉαž„ " sawdust" αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαž“αŸƒαž–αŸαž›αžœαŸαž›αžΆαž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž› 5, 10, 15 αž“αžΆαž‘αžΈαžšαž„αŸ‹αž…αžΆαŸ† "αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»" αž’αŸ† αŸ— αž˜αžΆαž“αžšαž™αŸˆαž–αŸαž›αž˜αž½αž™αž˜αŸ‰αŸ„αž„αž¬αž–αžΈαžšαŸ” αžαžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αžˆαžšαž‡αžΆαž‡αž½αžšαž‘αŸ? αž‚αž·αžαž’αŸ†αž–αžΈαž’αŸ’αžœαžΈαž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αžαžΎαž’αŸ’αž“αž€αž‘αžΎαž„αž‡αžŽαŸ’αžαžΎαžšαž™αž“αŸ’αžαž‘αŸ? αžŸαžšαžŸαŸαžšαž’αŸ’αžœαžΈαž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ€αžœαž—αŸ…αž€αžαŸ‹αžαŸ’αžšαžΆαŸ” αžαžΎαž’αŸ’αž“αž€αž‰αŸ‰αžΆαŸ†αž“αŸ…αž›αžΎαž‘αžΆαž“αž€αŸ’αžšαž»αž„αž‘αŸ? αž˜αž·αž“αž’αžΈαž‘αŸ αž’αžΆαž“αž’αžαŸ’αžαž”αž‘αžαŸ’αž›αŸ‡αŸ” αž”αŸ’αžšαžΎαž‚αŸ’αžšαž”αŸ‹αž±αž€αžΆαžŸαŸ” αžˆαž”αŸ‹αž˜αžΎαž›αž†αŸ’αž˜αžΆ αž“αž·αž„αž†αŸ’αž€αŸ‚αž“αŸ…αž›αžΎ YouTube! αž€αž»αŸ†αž…αŸ’αžšαž›αŸ†αžαž½αžšαž€αŸ’αž”αžΆαž›!

αž αžΎαž™αž…αž»αž„αž€αŸ’αžšαŸ„αž™αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž’αžΆαž“αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡ αž’αŸ’αž“αž€αž…αžΌαž›αž…αž·αžαŸ’αžαž‚αŸ†αž“αž·αžαž”αž„αŸ’αž€αžΎαžαž αŸ’αž‚αŸαž˜αžŠαŸ„αž™αž˜αž·αž“αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž αŸ’αž‚αŸαž˜ αž“αŸ„αŸ‡αž…αžΆαŸ†αžˆαŸ’αž˜αŸ„αŸ‡ Casey Muratori αŸ” αž”αž»αžšαžŸαž“αŸαŸ‡αž˜αžΆαž“ αžœαŸαž”αžŸαžΆαž™. αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€ "αž˜αžΎαž› -> αžœαž‚αŸ’αž‚αž˜αž»αž“" αž’αŸ’αž“αž€αž“αžΉαž„αžƒαžΎαž‰αž€αžΆαžšαž”αž„αŸ’αžšαŸ€αž“αžœαžΈαžŠαŸαž’αžΌαž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαžαž αŸ’αž‚αŸαž˜αž’αžΆαž‡αžΈαž–αž–αžΈαžŠαŸ†αž”αžΌαž„αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸαžšαŸ€αž“ Intro to C αž…αŸ†αž“αž½αž“αž”αŸ’αžšαžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Windows αž‡αžΆαž‡αžΆαž„αžšαž™αŸˆαž–αŸαž›αž”αŸ’αžšαžΆαŸ†αž†αŸ’αž“αžΆαŸ†αž“αŸƒαž€αžΆαžšαžŸαž·αž€αŸ’αžŸαžΆαž“αŸ…αžŸαžΆαž€αž›αžœαž·αž‘αŸ’αž™αžΆαž›αŸαž™ (αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž”αžΆαž“αžŸαžšαžŸαŸαžšαž’αŸ†αž–αžΈαžšαžΏαž„αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αž“αŸ…αž€αŸ’αžšαŸ„αž˜αžœαžΈαžŠαŸαž’αžΌ)αŸ”

Casey αž€αŸαž–αž“αŸ’αž™αž›αŸ‹αžαžΆ αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž αŸ’αž‚αŸαž˜αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž’αŸ’αž“αž€αž“αžΉαž„αž™αž›αŸ‹αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹αž’αŸ†αž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αžŽαžΆαž˜αž½αž™αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž·αž—αž–αž“αŸƒαž€αŸ’αžšαž”αžαŸαžŽαŸ’αžŒ αžŠαŸ‚αž›αž˜αž“αž»αžŸαŸ’αžŸαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆαž€αŸ†αž–αž»αž„αž–αŸ’αž™αžΆαž™αžΆαž˜αž’αŸ’αžœαžΎαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜ αž’αŸ’αž“αž€αž“αžΉαž„αžšαŸ€αž“αž–αžΈαžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž αž˜αž·αž“αž˜αŸ‚αž“αž”αŸ’αžšαžΎαž‘αŸαŸ” αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž–αžΈαž’αž˜αŸ’αž˜αž‡αžΆαžαž·αž“αŸƒαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαŸ” αž αžΎαž™β€‹αž’αŸ’αž“αž€β€‹αž€αŸβ€‹αž“αžΉαž„β€‹αž€αŸ’αž›αžΆαž™β€‹αž‡αžΆβ€‹αž’αŸ’αž“αž€β€‹αžŸαžšαžŸαŸαžšβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž—αžΆαž–β€‹αž†αŸ’αž›αžΆαžβ€‹αžœαŸƒ αž“αž·αž„β€‹αž…αžΆαžŸαŸ‹β€‹αž‘αž»αŸ†β€‹αž‡αžΆαž„β€‹αž“αŸαŸ‡β€‹αžŠαŸ‚αžš - αž‡αžΆβ€‹αž’αŸ’αž“αž€β€‹αž‚αžΆαŸ†αž‘αŸ’αžšαŸ”

αžŸαžΌαž˜αžŸαŸ†αžŽαžΆαž„αž›αŸ’αž’αž“αŸ…αž›αžΎαž•αŸ’αž›αžΌαžœαžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ! αž αžΎαž™αžŸαžΌαž˜αž’αŸ’αžœαžΎαž±αŸ’αž™αž–αž·αž—αž–αž›αŸ„αž€αž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž‡αŸ†αž“αžΆαž‰αžœαž·αž‡αŸ’αž‡αžΆαž‡αžΈαžœαŸˆαŸ”

αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’: Grankin Andrey, DevOps



αž”αŸ’αžšαž—αž–: www.habr.com