সি শার্প প্রোজেক্ট [পর্ব-০৭] :: তৈরি করুন মজার Tic-Tac-Toe গেম

সি শার্প প্রোজেক্ট

Hello Guys,  আজ আমরা একটি অতি পরিচিত গেম তৈরি করবো। যে গেমটি আমরা ছোটবেলায় কাগজ কলম ব্যবহার করে খেলতাম। গেমটির নাম Tic-Tac-Toe গেম। যাকে বাংলায় বলে কাটাকাটি খেলা। যেহেতু আমারা আধুনিক জুগে বাস করি তাই এখন আর কাগজে কলমে খেলবো না। আমরা নিজেরা Tic-Tac-Toe গেমটি তৈরি করবো।

চলুন তাহলে শুরু করা যাক।

Create a new Windows application project. এবং অ্যাপ্লিকেশানটির একটি নাম দিন।

এখন ৯ টি বাটন যোগ করুন।

এখন বাটনগুলো এর টেক্সট পরিবর্তন করে ফাঁকা রাখি.

এখন টুলবক্স থেকে একটি লেভেল নেই এবং প্রোপার্টিজ থেকে ব্যাকগ্রাউন্ড রঙ ইচ্ছা মত যে কোন একটা দেই। লেভেলটির textalign টি middlecenter এবং  text পরিবর্তন করে "Turn" লিখি. আসলে আমরা লেভেলটিতে কখন কোন প্লেয়ারদের খেলবে সেটা দেখাব।

এখন আরও একটি  Label নেই। এবং এর প্রোপার্টিজ থেকে টেক্সটটি মুছে ফেলি, এই লেভেল এর টেক্সট ফাঁকা থাকবে. এই লেভেলটির name পরিবর্তন করে displayturn লিখি. এখন অ্যাপ্লিকেশান টি দেখতে নিচের ছবির মত লাগবে।

এখন উপরের লেভেল দুটির মত আরও চারটি লেবেল নেই. আমি এখন  player1 এবং player2 এর জন্য স্কোর কার্ড তৈরি করেছি। আমি এদের প্রোপার্টিজ থেকে name পরিবর্তন করে  playerscore1 এবং  playerscore2 দিলাম এবং এদের টেক্সট ফাঁকা করে দিলাম. নিচের ছবির মত।

আমি এই গেমটি বানিয়েছি দুজন খেলয়ারদের উপযোগী করে। অর্থাৎ একসাথে দুজন খেলয়ার খেলতে পারবে। সুতরাং আমি ধরে নেই  Player1 symbol হোল "X" এবং Player2 Symbol হোল "O".

এখন আমি চাইতেছি যে player1 যখন কোন বাটন এ ক্লিক করবে তখন ওই বাটন টি "X" symbol দেখাবে এবং ওই বাটন আর Player2 সিলেক্ট করতে পারবে না যখন Player2 অন্য কোন বাটন এ ক্লিক করবে তখন সেটি "O" Symbol দেখাবে সেই বাটন টি আর player1 সিলেক্ট করতে পারবে না।

এখন আমরা কিছু privet function তৈরি করবো।

ফর্ম এর কোড ভিউ এর মধ্যে


public Form1()

{

InitializeComponent();

}

এই কোডটুকুর কেবলই নিচে


public void player_turn_check()
 {
 if(click1==0)
 {
 if(turn%2!=0)
 {
 button1.Text="X";
 }
 else
 {
 button1.Text="O";
 }
 turn++;
 click1++;
 }
 else
 {
 button1.Text=button1.Text;
 }
 display();
 checkit();
 }

public void display()
 {
 if(turn%2!=0)
 {
 displayturn.Text="Player 1";
 }
 else
 {
 displayturn.Text="Player 2";
 }
 }

public void checkit()
 {
 if(button1.Text!="" && button2.Text!="" && button3.Text!="")
 {
 if(button1.Text==button2.Text && button1.Text==button3.Text)
 {
 button1.BackColor=Color.Green;
 button1.ForeColor=Color.White;
 button2.BackColor=Color.Green;
 button2.ForeColor=Color.White;
 button3.BackColor=Color.Green;
 button3.ForeColor=Color.White;
 if(button1.Text=="X")
 {
 MessageBox.Show("Player 1 Wins!");
 player1++;
 player1score.Text=player1.ToString();
 }
 else
 {
 MessageBox.Show("Player 2 Wins!");
 player2++;
 player2score.Text=player2.ToString();
 }
 cleargame();
 }
 }
 }

এই কোডটুকু হুবহু লিখি।

এখন Button1, Button2,  Button3,  Button4,  Button5,  Button6,  Button7,  Button8,  Button9 এর ক্লিক Event এর মধ্যে

player_turn_check();

এই কোড গুলো লিখি।

এখন F5 বাটন টি চেপে প্রোগ্রামটি রান করুন এবং গেমটি মজা করে খেলুন।

গেমটি রান করার পর

সোর্স কোডটি ডাউনলোড করুন।

আর যদি বুঝতে না পারেন তবে ফেসবুক । যত দ্রুত সম্ভব আপনার উত্তর দেয়ার চেষ্টা করবো।

প্রথম প্রকাশিত এইখানে

সবাইকে  ধন্যবাদ। ভালো লাগলে অবশ্যই জানাবেন। ভাইরে টিউমেন্ট না করলে আমার এই লেখা গুলো বৃথা মনে হয়। তাই একটু কষ্ট করে যদি আপনার মূল্যবান টিউমেন্টটি দেন তবে বড়ই উতসহ পাই।

Level 2

আমি ইসলাম আমিনুল। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 13 বছর 2 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 32 টি টিউন ও 27 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 4 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

Level 2

vai ami pograming gogote notun ektu bolben egulo kon software die kora jai

এটা ভিসুয়াল স্টুডিও ২০০৮ এ করা এবং সি শার্প ল্যাঙ্গুয়েজ ব্যবহার করা হয়েছে।

প্রিয় টিউনার,

আপনি ভুল ভাবে আপনার চেইন টিউনের শিরোনাম গুলো দিচ্ছেন। আপনি পর্ব হিসেবে টিউনের শিরোনাম গুলো –

চেইন টিউনের নাম [পর্ব-০১] :: চেইন টিউনের ভিতরের বিষয়বস্তু …

চেইন টিউনের নাম [পর্ব-০২] :: চেইন টিউনের ভিতরের বিষয়বস্তু ….

চেইন টিউনের নাম [পর্ব-০৩] :: চেইন টিউনের ভিতরের বিষয়বস্তু

এর অর্থ প্রথমে চেইন টিউনের নাম, এরপর (স্পেস দিয়ে) স্কয়ার ব্রাকেটের ( [ ] ) মধ্যে পর্ব হাইফেন (-) দিয়ে দুই সংখ্যায় পর্বের নম্বর। স্কয়ার ব্রাকেটের ( [ ] ) ভিতরে কোন স্পেস দিবেন না। এরপর (স্পেস দিয়ে) ডাবল কোলন (::) এর পরে (স্পেস দিয়ে) চেইন টিউনের ভিতরের বিষয়বস্তু॥ এই ফরমেটে চেইন টিউনের শিরোনাম গুলো লিখুন।

এই চেইনের পূর্বের পর্ব গুলোর শিরোনাম গুলোও যদি ‘টেকটিউনস চেইন টিউনের’ শিরোনাম মোতাবেক করা না থাকে তবে সব গুলো এখনই সংশোধন করুন ও পরবর্তী সকল চেইন টিউনে সঠিক ভাবে চেইন টিউনের শিরোনাম দিন।

টিউনের শিরোনাম গুলো ‘টেকটিউনস চেইন টিউনের’ শিরোনাম মোতাবেক সঠিক ভাবে সংশোধন করে আপডেট করে এই টিউমেন্টটির প্রতুত্তর (রিপ্লাই) দিন। টেকটিউনস থেকে আপনার টিউন গুলো চেইন করে দেওয়া হবে।

চেইন টিউন কীভাবে প্রক্রিয়া হয় তা জানতে ‘টেকটিউনস সজিপ্র’ https://www.techtunes.io/faq এর ‘চেইন টিউন’ অংশ দেখুন। ধন্যবাদ।

    @টেকটিউনস মেন্টর V: টেকটিউনস মেন্টর আমি আমার টিউনের শিরোনাম গুলো ‘টেকটিউনস চেইন টিউনের’ শিরোনাম মোতাবেক সঠিক ভাবে সংশোধন করেছি।

প্রিয় টিউনার,

আপনার টিউন যেহেতু প্রোগ্রামিং সংক্রান্ত টিউন ও টিউনে কোডের ব্যবহার রয়েছে তাই বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজের কোড যেমন HTML, CSS, JS, PHP ইত্যাদি কোড সুন্দর ও সঠিক ভাবে দেখাতে টেকটিউনসের রয়েছে নিজেস্ব “কোড হাইলাইটার”। টেকটিউনস কোড হাইলাইটার ব্যবহার করার জন্য Code Escape করার প্রয়োজন নেই।

টেকটিউনসের “কোড হাইলাইটার” কিভাবে ব্যবহার করতে হয় তা জানতে https://www.techtunes.io/web-design/tune-id/77692/ এই টিউনটি দেখুন।
নিয়মিত টিউন করুন ধন্যবাদ আপনাকে।

ভাই আমি সি# শিখতে চাই, কোথায় ভাল শেখায়, যা ভবিষ্যতে প্রোগ্রামার হিসেবে নিজের ক্যারিয়ার গড়তে সহায়ক হবে, দয়াকরে জানাবেন, কত লাগবে সেটাও জানাবেন প্লিজ।

ভাই আমার জানা মতে বাংলাদেশে ভালো সি# কেউ শেখাই না।