সুচিপত্র:

ম্যাট্রিক্স কোড - ভিজ্যুয়াল বেসিক: 7 টি ধাপ
ম্যাট্রিক্স কোড - ভিজ্যুয়াল বেসিক: 7 টি ধাপ

ভিডিও: ম্যাট্রিক্স কোড - ভিজ্যুয়াল বেসিক: 7 টি ধাপ

ভিডিও: ম্যাট্রিক্স কোড - ভিজ্যুয়াল বেসিক: 7 টি ধাপ
ভিডিও: কিভাবে এক্সেলে লিডারবোর্ড দিয়ে আপনার নিজের টুর্নামেন্ট জেনারেটর তৈরি করবেন 2024, জুলাই
Anonim
ম্যাট্রিক্স কোড - ভিসুয়াল বেসিক
ম্যাট্রিক্স কোড - ভিসুয়াল বেসিক

নতুন এবং উন্নত ভিসুয়াল বেসিক কোড একটি "ম্যাট্রিক্স" -এর মত প্রভাব প্রদর্শন করবে, যার সাহায্যে ওয়ান এবং জিরো স্ক্রোল করা হবে। এটি তখন ম্যাট্রিক্স "ওয়েক আপ নিও" সিকোয়েন্সে কেটে যায়, এবং তারপর সংখ্যাগুলি স্ক্রোল করা অব্যাহত রাখে। আমি বুঝতে পারি যে সিনেমার মধ্যে এই ক্রমটি ঠিক কীভাবে হয় না, কিন্তু সেখানে লোকেরা এই কার্যকারিতা সম্পর্কে জিজ্ঞাসা করছিল, তাই আমি এটি যোগ করেছি। আমি মনে করি যেভাবে আমি ওয়ান এবং জিরো এর কলামগুলির প্রদর্শনকে এলোমেলো করেছিলাম তা হল কোডের সবচেয়ে সুন্দর অংশ। আমি পরবর্তীতে ঠিক কি করেছি তা নিয়ে আলোচনা করেছি। এই নির্দেশনাটি Brennn10 এর "কমান্ড প্রম্পটে ইন ম্যাট্রিক্সে স্বাগতম" নির্দেশের প্রতিক্রিয়ায়। যে কোডটি এই নির্দেশযোগ্য তৈরি করে তা প্রাথমিকভাবে উপরের নির্দেশাবলীর উপর ডার্কজোকারের একটি মন্তব্যে পোস্ট করা কোডের উপর ভিত্তি করে ছিল। এই সমাধান পোস্ট।

ধাপ 1: আমার কোড ধরুন

আমি নিচে আমার কোড সংযুক্ত করেছি। আপনার মেশিনে একই ফোল্ডারের মধ্যে উভয় ফাইল (startMatrix.itsabat এবং matrix.itsavbs) সংরক্ষণ করুন, এবং ফাইলের নামের "itsa" অংশটি সরান, অর্থাত্ startMatrix.bat এবং matrix.vbs এ ফাইলগুলির নাম পরিবর্তন করুন। ব্যাট ফাইল এবং ভিবিএস ফাইলগুলি এক্সিকিউটেবল, এবং সেইজন্য আমি সেগুলি এখানে সেই এক্সটেনশানগুলির সাথে আপলোড করতে পারি না। এজন্য আপনাকে সেগুলি স্থানীয়ভাবে সংরক্ষণ এবং নামকরণ করতে হবে।

ধাপ 2: কোড কার্যকর করা

আপনি যদি আমার কোডটি চালাতে চান তবে নীচের নির্দেশাবলী অনুসরণ করুন। আপনি যদি আপনার মেশিনে এমন কিছু চালাতে না চান যা সম্পর্কে আপনি কিছুই জানেন না, আপনি স্মার্ট। আপনার পরবর্তী ধাপে যাওয়া উচিত, যেখানে আমি কোডটি দিয়ে হাঁটছি এবং আপনাকে দেখিয়েছি যে আমি কোনও ভ্রান্ত কাজ করিনি। যাইহোক, যদি আপনি এটি পেতে চান (অথবা আপনি অন্য কারও মেশিনে আছেন এবং করবেন না যত্ন), কোডটি কীভাবে বন্ধ করা যায় তা এখানে: ধাপ 1: "startMatrix.bat" এ ডাবল ক্লিক করুন। এটাই। এখন আপনি যে শীতলতা দেখেছেন তা পড়তে পরবর্তী ধাপে যান।

ধাপ 3: কোড বোঝা, পার্ট 1

আসুন কোডটি একবার দেখে নিই, শুরু থেকে শুরু করে। আশা করি আপনি আমার কোড থেকে VB সম্পর্কে যথেষ্ট জানতে পারবেন যে আপনি বন্ধ হয়ে যাবেন এবং VB তে কিভাবে কোডিং করবেন তা আমার চেয়ে ভাল:) তাই প্রথমে আমাদের প্রথমে 2 টি ফাইল আছে: একটি ব্যাট ফাইল এবং একটি vbs ফাইল। আপনি যদি ব্যাট ফাইলটি সম্পাদনা করেন, আপনি লক্ষ্য করবেন যে এটি উইন্ডোজ, পাঠ্য রঙ এবং উইন্ডো শিরোনাম সেট করার পরে vbs ফাইলটি চালায়। চলুন ভিবিএস ফাইলে আরও আকর্ষণীয় জিনিসের দিকে এগিয়ে যাই। । এগুলি মন্তব্য, এবং তা কার্যকর করা হবে না। matrix.vbs এর প্রথম কয়েকটি লাইন বলে "আমার ত্রুটির বার্তাগুলি স্পষ্ট স্তরে সেট করুন" কিন্তু একই সাথে "আমার করা কোনো ভুলকে মারাত্মক হতে দেবেন না।" কোন বাস্তব আলোচনার প্রয়োজন নেই। লাইন 5: এখানে আমাদের আবছা বিবৃতি সমস্ত ভেরিয়েবল সেট করে যা আমরা আমাদের ছোট্ট প্রোগ্রামের সারা জীবন ব্যবহার করব। আমাদের এই ভেরিয়েবলের জন্য প্রকারগুলি বা তাদের জন্য প্রাথমিক মানগুলি ঘোষণা করার দরকার নেই, যেমন আমরা অন্য কিছু ভাষায় হতে পারি। VB এই মত "শক্তিশালী"। আমরা এখানে বস্তু তৈরি করি, এবং লাইন 13 এ, objSysInfo. UserName বর্তমানে লগ ইন করা ব্যবহারকারীর নাম প্রদান করে যা এই কোডটি চালাচ্ছে। এটি পরে "নিও" এর জায়গায় ব্যবহার করা হবে, যাতে আমাদের স্ক্রিপ্ট বলতে পারে "ওয়েক আপ, মার্টিন …" যদি এটি আমার মেশিনে চালানো হয়, অথবা "ওয়েক আপ, ব্রেন 10 …" যদি এটি ব্রেন 10 এর মেশিনে চালানো হয় এবং যদি এটি তার ব্যবহারকারীর নাম ছিল সিস্টেমের ব্যবহারকারীর নাম ব্যবহার করলে আপনি এটি আপনার বন্ধুর আনলক করা মেশিনে ফেলে দিতে পারবেন এবং এটি কোড পরিবর্তন না করে স্বয়ংক্রিয়ভাবে তার নাম টেনে আনবে। চলুন।

ধাপ 4: কোড বোঝা, পার্ট 2

লাইন 16: সাব ওয়েটফোর আমাদের প্রথম সাবরুটিন। একটি সাবরুটিনকে কোডের একটি ভিন্ন জায়গা থেকে ডাকা যেতে পারে, সাবরুটিনের মূল অংশের মধ্যে কোডটি সম্পাদন করবে এবং তারপর কলিং কোডে প্রোগ্রাম নিয়ন্ত্রণ ফিরিয়ে দেবে। waitfor আমাদের জন্য আমাদের শেল সেট আপ। লুপের মধ্যে একটি "ঘুম" দিয়ে একটি লুপে এটি করার মাধ্যমে, আমরা শেলটি সক্রিয় করার অনুমতি দিচ্ছি নিয়ন্ত্রণ ফিরে আসার আগে, যা একটি খুব ভাল জিনিস। লাইন 26: সাব ম্যাট্রিক্স আমাদের দ্বিতীয় সাবরুটিন, এবং একটি লাগে "উপাদান" নামক প্যারামিটার। এই সাবরুটিন সিনেমার মতো "পতন" বলে মনে হওয়া শীতল সংখ্যার মুদ্রণ করে। আমি এখানে কিছু জিনিস গ্রহণ করেছি। আশা করি তাদের ব্যাখ্যা করে আপনি বুঝতে পারবেন আমি কোথা থেকে আসছি এবং এটি আমার চেয়ে ভাল করতে পারে। প্রথমত, আমি ধরে নিচ্ছি যে আপনি শুধুমাত্র সংখ্যার 5 টি কলাম চান এবং "উপাদানগুলি" কলামের সংখ্যা দ্বারা বিভাজ্য (5)। এটি গ্যারান্টি দেওয়া সহজ ছিল কারণ পরবর্তীতে আমি "ম্যাট্রিক্স" -এ প্রেরিত প্যারামিটারগুলি 200 এবং 100 (এটিকে দুবার বলা হয়) ঘোষণা করি। আমি মনে করি এটি ঠিক আছে, কিন্তু আপনি যদি এর মধ্যে কয়েকটি সারি বাকী হিসাবে র্যান্ডম বলে মনে করতে চান তবে আপনি এর মধ্যে কয়েকটি পরিবর্তন করতে পারেন। ঠিক আছে, তাই আমাদের 5 টি কলাম আছে, আমাদের 200 / 5 = সংখ্যার 40 লাইন প্রদর্শন করার জন্য (lineToWrite), এবং আমাদের সমস্ত কলাম ডিফল্টরূপে চালু আছে। লাইন 41: আমরা লুপগুলির জন্য দুটি "প্রবেশ" করি, যার মধ্যে প্রথমটি (লুপ A) চক্র আমাদের লাইনের মাধ্যমে ToWrite এবং দ্বিতীয়টি (লুপ বি) যে কলাম সংখ্যা মাধ্যমে চক্র। লুপ বি তে, আমরা লুপ ভেরিয়েবল লুপবি এর মান নির্বাচন করি, এবং এর মান নির্ভর করে আমরা একটি ইফ-এলস স্টেটমেন্ট মূল্যায়ন করি। যদি প্রশ্নে থাকা কলামটি সক্ষম করা হয় ("TRUE", অথবা "চালু"), আমরা "wshshell. SendKeys" এর মাধ্যমে মুদ্রণ করব, Int (Round (rnd ())) এর মান, তারপর একটি ট্যাব। অন্যথায়, আমরা কেবল একটি ট্যাব মুদ্রণ করব, যেমন কলামটি খালি দেখাচ্ছে। সুতরাং Int (Round (rnd ())) এর মান কত? rnd () 0.0 এবং 1.0 এর মধ্যে একটি এলোমেলো ভাসমান বিন্দু সংখ্যা প্রদান করে, রাউন্ড () সেই মানটি গ্রহণ করবে এবং এটিকে নিকটতম পূর্ণসংখ্যার মানে পরিণত করবে এবং Int () ফলাফলটি একটি পূর্ণসংখ্যায় ফেলে দেবে। এই শেষ ধাপটি ওভারকিল হিসাবে বিবেচিত হতে পারে, যেহেতু রাউন্ড () কলটি আমাদের 0 বা 1 দিতে হবে। আমি এটা শুধু অভ্যাসের কারণে করেছি। কোন এক সময় কেউ নিশ্চয়ই আমাকে বলেছিল যে এটি নিরাপদ, এবং আমি স্পষ্টতই এটি এখনও ভুলে যাইনি।

ধাপ 5: কোড বোঝা, পার্ট 3

ক্রমাগত সাব ম্যাট্রিক্স, এখানে VB- এর পরবর্তী কয়েকটি লাইন দেওয়া হল … 30 শতাংশ সময় বন্ধ। turnOffMax = 0.30 turnOnMax = 0.30 প্রতিটি কলাম টগল করার সময় 30% সংখ্যা কলামগুলিকে সিনেমার মতোই এলোমেলোভাবে "পড়ে" যায়। সঠিক নয়, কিন্তু কাছাকাছি। 'কলাম 1 ফ্লিপ-ফ্লপ flipMe = rnd () যদি ((col1 = turnOn) এবং (flipMe <turnOffMax)) তাহলে col1 = turnOff অন্যথায় যদি ((col1 = turnOff) এবং (flipMe <turnOnMax)) তাহলে col1 = turnOn End ifThe উপরের ব্লক হ্যান্ডেলগুলি কিভাবে আমরা নির্ধারণ করি যে আমরা পরবর্তী ক্রিয়াতে প্রদত্ত কলামে একটি সংখ্যা প্রদর্শন করতে যাচ্ছি, সংখ্যার পরবর্তী সারির জন্য। কোডটিতে লেখা আছে "যদি কলামটি চালু থাকে এবং ফ্লিপমে নামক এলোমেলো সংখ্যাটি 30%এর কম হয়, তাহলে কলামটি বন্ধ করুন। অন্যথায়, যদি কলামটি বন্ধ থাকে এবং ফ্লিপমাই 30%এর কম হয়, তাহলে কলামটি চালু করুন।" আপ ম্যাট্রিক্স। সাব কি -তে…

ধাপ 6: সাব কী ()

মূল পদ্ধতিটি হল। সাব কী (msg).sleep 250nextwscript.sleep 3000for position = 1 to length wshshell. SendKeys "{BACKSPACE}" wscript.sleep 75nextend subThis method a print out a string "msg"। আপনি যা পাস করবেন তা মুদ্রণ করবে। এই পদ্ধতিটি পরে কোডে বলা হয়। প্রথম ফর লুপ স্ট্রিংয়ের প্রতিটি অক্ষরকে এক সময়ে মুদ্রণ করে এবং প্রতিটি অক্ষরের মধ্যে 250 মিলিসেকেন্ডের জন্য বিরতি দেয়। আমরা তারপর 3000 মিলি (3 সেকেন্ড) ঘুমাই এবং আমরা পূর্বে মুদ্রিত প্রতিটি চরিত্রের জন্য একটি ব্যাকস্পেস লিখি, এই সময় একটু কম ঘুমাই। প্রোগ্রামের মূল অংশে, যেখানে সবকিছু একত্রিত হয়।

ধাপ 7: প্রধান

প্রোগ্রামের প্রধান এক্সিকিউশন ওয়েটফোর এবং ম্যাট্রিক্স (যা আমরা ইতিমধ্যে কভার করেছি) সবকিছু সেট আপ করতে এবং 200 টি বাইনারি ডিজিট লিখতে, 5 টি কলামে ছড়িয়ে। বর্তমান সিস্টেম ব্যবহারকারীর নামটি "জেগে ওঠা" ক্রমের অংশ হিসাবে মুদ্রিত হওয়ার জন্য হস্তান্তর করা হয় এবং আমরা একটি FOR লুপ প্রবেশ করি, যা আমরা জানি যে আমরা "1" এর কারণে 4 বার পুনরাবৃত্তি করব 4 "সীমাবদ্ধতা। তারপর আমরা আমাদের লুপ ভেরিয়েবল (লুপএ) নির্বাচন করি, যা প্রথম CASE স্টেটমেন্টের মাধ্যমে প্রথমবারের মতো, দ্বিতীয় CASE স্টেটমেন্ট দ্বিতীয়বার লুপের মাধ্যমে, ইত্যাদি লুপের প্রতিটি পুনরাবৃত্তি, myString এর সঠিক স্ট্রিং উপস্থাপনের জন্য সেট করা হয় আমরা যে ক্রিয়াটি মুদ্রণ করতে চাই, এবং মূল সাবরুটিনকে প্রকৃতপক্ষে মুদ্রণ করার জন্য বলা হয়। স্পষ্টতই এই লুপটি ডিজাইন করার আরও অনেক উপায় আছে, এবং আমি এটি পাঠকের কাছে একটি ব্যায়াম হিসাবে ছেড়ে দেব। একবার আমরা FOR লুপ থেকে বেরিয়ে আসার পরে, আমরা আরও সংখ্যা প্রিন্ট করার জন্য আবার ম্যাট্রিক্স সাবরুটিনকে কল করি। কোডের মন্তব্য অনুযায়ী, আপনি চাইলে এই চূড়ান্ত কলটি ম্যাট্রিক্স () এ একটি লুপে রাখতে পারেন, অথবা আপনি এটি একটি বড় নম্বর দিয়ে কল করতে পারেন, ইত্যাদি। মৃত্যুদণ্ড (সর্বদা ভাল অনুশীলন: পি) আশা করি সবাই আমার উদাহরণ গ্রহণ করে এবং এটি আরও ভাল করে মজা করবে! যদি এই নির্দেশযোগ্যটি VB এর সাথে আপনার কৌতূহলকে বাড়িয়ে তোলে, গুগল এটি সম্পর্কে আরো জানার জন্য আমি আপনাকে বলার চেয়ে অনেক ভাল সম্পদ সরবরাহ করতে পারি। শুভ কোডিং! মার্টিন

প্রস্তাবিত: