উবুন্টু টাচ [কিউএমএল] - [অংশ 3] এর জন্য একটি অ্যাপ তৈরি করা হচ্ছে

উবুন্টু টাচের জন্য একটি অ্যাপ তৈরি করা

এই পোস্ট সিরিজের তৃতীয় অংশ (প্রথম অংশ, দ্বিতীয় অংশ) যেখানে আমরা একটি অ্যাপ্লিকেশন তৈরি করছি উবুন্টু টাচ বা একই জন্য উবুন্টু ডেস্কটপ. আমি আগের পোস্টে আমার সাথে ঘটে যাওয়া একটি অংশ যুক্ত করতে যাচ্ছি, এবং এটি হ'ল যদিও আমরা ব্যর্থতা, হিট এবং পয়েন্টগুলির ভেরিয়েবলগুলি বাড়িয়েছি, তবে সেগুলি স্ক্রিনে প্রদর্শিত হয়নি, কারণ আমরা লেবেলের পাঠ্য সম্পত্তি পরিবর্তন করি নি:

                লেবেল আইডি: ব্যর্থতা পাঠ্য: "ব্যর্থতা:" + এনফাল্ট রঙ: "লাল" el লেবেল {আইডি: হিট পাঠ্য: "হিট:" + জন্ম} লেবেল {আইডি: পয়েন্ট পাঠ্য: "পয়েন্টস:" + এনপয়েন্টস ফন্টসাইজ: "মাঝারি "

গেম যুক্তি অব্যাহত

সময়

ঠিক আছে, যেমনটি আমরা ইতিমধ্যে জানি, প্রগতি বারটি একটি প্রশ্নের উত্তর দেওয়ার সময় দেখায়। টাইমার ব্যবহারের সময়টি পরিচালনা করতে, টাইমার এমন একটি উপাদান যা এক্স মিলিসেকেন্ডের ব্যবধানে পুনরাবৃত্তি হয়, এক্ষেত্রে প্রতিটি বিরতিতে আমরা প্রগতিবারের অগ্রগতি বাড়াতে বলব; তবে এটি শেষের দিকে পৌঁছেছে কি না তা দেখার আগে, এটি শেষের দিকে পৌঁছানোর ক্ষেত্রে আমাদের অবশ্যই একটি জীবন বিয়োগ করতে হবে।

আপনি কোডের একটি লাইন দেখতে পারেন যা আমরা এখনও প্রয়োগ করি নি (পপআপ ইউটিস.ওপেন (কথোপকথন)), এই লাইনটি যদি আমাদের আর জীবন না থাকে (3 বাগ মুছে ফেলা হয়), তবে শেষের দিকের সংলাপটি খুলতে হবে, পরে এই পোস্টে আমরা কীভাবে এই সংলাপটি করব তা দেখতে পাব।

টাইমার কোড (আমরা এটি অগ্রগতি বারের নীচে রাখতে পারি):

       প্রগতিবার {আইডি: টাইম অ্যাঙ্কারস হরিজেন্টাল সেন্টার: প্যারেন্ট হোরাইজেন্টাল সেন্টার ন্যূনতম মূল্য: 0 সর্বাধিক মূল্য: 300} টাইমার {আইডি: সরলতার গ: 100 পুনরাবৃত্তি: সত্য চলমান: সত্য অন ট্রিজারড: {যদি (সময়.মূল্য <সময়.ম্যাকিমিমালভ্যালু) সময়.মূল্য + = 1.0 অন্য fa nfaults = nfaults + 1 যদি (nfaults <3) {num = num + 1 Logic.nextQuestion (num) time.value = time.minimumValue} else {simpletimer.stop () PopupUtils.open (কথোপকথন)}} }}

যেমনটি আমরা দেখতে পাচ্ছি, অন ট্রাইজেডে আমরা এমন কোড রেখেছি যা প্রগতিবারকে বাড়িয়ে দেবে প্রতি ১০০ ইউনিট যুক্ত করে (অন্তর) মিলি-সেকেন্ড। নোট করুন যে আমরা প্রগ্রেসবার, মিনিমামভ্যালু এবং ম্যাক্সিমালভ্যালুতে দুটি বৈশিষ্ট্য যুক্ত করেছি, যা আপনি দেখতে পাচ্ছেন, সর্বাধিক মান এবং সর্বনিম্ন মান।

টাইমার শুরু এবং বন্ধ করতে:

সরলতা। স্টার্ট ()

বিকল্পগুলি (50%, হিমায়িত এবং পরবর্তী)

প্রথমে তিনটি ভেরিয়েবল তৈরি করুন যা নিয়ন্ত্রণ করে যে বিকল্পগুলি কেবল একবার ব্যবহার করা যেতে পারে:

    প্রপার্টি ইন্টি শতাংশ: 0 প্রপার্টি ইনট: 0 প্রোপার্টি ইনট পরবর্তী: 0

50%

বাটন {আইডি: বি 50 পাঠ্য: "50%" অন ক্লিক করা: {যদি (শতাংশ == 0) {সঠিক সঠিক = aDocament.contents.questions [সংখ্যা]। সংশোধন যদি (সঠিক == 1) {resp2.en اهل = মিথ্যা রেসেন্ট 3। সক্ষম = মিথ্যা} অন্যথায় যদি (সঠিক == 2) {resp1.en सक्षम = মিথ্যা রেস 4.ইনবলড = মিথ্যা} অন্যথায় যদি (সঠিক == 3) {resp1.en सक्षम = মিথ্যা রেস 4.অন্যাবলড = মিথ্যা} অন্য {resp2.en اهل = মিথ্যা রেসিপ 1.এনবলড = ভুয়া} শতাংশ = 1}

সক্ষম = মিথ্যা দিয়ে আমরা যা করি তা বোতামটি রেখে দেওয়া হয় যাতে এটি টিপতে না পারা যায়, এমনভাবে আমরা aDocament.contents.questions [num] দিয়ে সঠিক উত্তরটি পেয়েছি Cor সঠিক এবং এখান থেকে কোনটি সঠিক তার উপর নির্ভর করে «আমরা নির্মূল করি »দুটি বোতাম যা নয়।

বরফে পরিণত করা

                বোতাম {আইডি: বিকন পাঠ্য: "ফ্রিজ করুন" অন ক্লিক করুন: {যদি (== 0 দিয়ে) সিমিটিমার.স্টপ () = 1} with সহ

এটি সহজ উপায়গুলির মধ্যে একটি, কেবলমাত্র সরলতার সাথে আমাদের টাইমারটি থামাতে হবে st স্টপ (), হ্যাঁ, প্রশ্নটি অনুসরণ করার পরে আমাদের অবশ্যই এটি আবার চালু করতে হবে (এবং অগ্রগতি বারটি 0 তে সেট করতে হবে)।

পরবর্তী

                 বাটন {আইডি: বি নেক্সট পাঠ্য: "পরবর্তী" অন ক্লিক করা হয়েছে: {যদি (পরের == 0) {সংখ্যা = সংখ্যা + 1 লজিক.সেক্সটকিউশন (সংখ্যা) পরবর্তী = 1}}}

প্রশ্নটি পাস করার জন্য আমরা ইতিমধ্যে তৈরি করা ফাংশনটি ব্যবহার করি (পরের প্রশ্ন)।

সংলাপ

গেমটি শেষ করতে আমরা একটি ডায়ালগ ব্যবহার করব, হয় আমরা জিতেছি বলে (কোনও প্রশ্ন নেই) অথবা আমরা হেরে গেছি (আমরা 3 টি ভুল করেছি), ডায়ালগগুলি ব্যবহার করতে আমাদের অবশ্যই মডিউলটি আমদানি করতে হবে:

উবুন্টু.কম্পোন্টস.পপআপগুলি 0.1 আমদানি করুন

আমরা এমন ডায়ালগ তৈরি করতে যাচ্ছি যা আমাদের জানায় যে আমরা হেরেছি:

        উপাদান {আইডি: ডায়ালগ ডায়ালগ {আইডি: সংলাপের শিরোনাম: "গেম শেষ!" পাঠ্য: "আপনি সমস্ত জীবন হারিয়েছেন :(" বাটন {পাঠ্য: "প্রস্থান করুন" ক্লিক করুন: Qt.quit () ton বোতাম {পাঠ্য: "স্টার্ট ওভার" রঙ: উবুন্টুআরব্লিন.অরেনজ অন ক্লিক করুন: {নাম = 0; লোগিকা.নেক্সটকিউশন ( সংখ্যা) npPoint = 0 জন্ম = 0 পপআপ ইউটিলস বন্ধ (কথোপকথন)}}}}

আমাদের দুটি বাটন রয়েছে, একটি অ্যাপ্লিকেশনটি বন্ধ করার জন্য (Qt.quit ()) এবং অন্যটি গেমটি শুরু করার জন্য। আমরা ভেরিয়েবলগুলি 0-এ শুরু করি এবং ডায়ালগটি বন্ধ করি।

কথোপকথনটি খুলতে:

পপআপ ইউটিস.ওপেন (কথোপকথন)

এটি বন্ধ করতে:

পপআপ ইউটিস.কম (কথোপকথন)

আসুন খেলা শেষে সংলাপটি দেখুন:

উবুন্টু টাচ

আমরা শনাক্তকারী এবং পাঠ্য যেখানে এটি জিতেছে যে পরিবর্তনটি পরিবর্তন করে ঠিক ঠিক একইরকম একটি ডায়ালগ তৈরি করতে পারি।

প্রশ্ন সামগ্রিক নকশা

যখন আমরা এটি ডিজাইন করি দ্বারা GTK, আমরা একটি ডায়ালগ তৈরি করি, তবে এবার এটি একটি ট্যাবে করব, যাইহোক এটির একই কাঠামো থাকবে:

যেমনটি আমরা দেখতে পাচ্ছি, প্রশ্ন লিখতে আমরা একটি লেবেল, একটি টেক্সটরিয়া ব্যবহার করব, 4 টেক্সটফিল্ড এবং 4 টি স্যুইচ; অবশেষে, প্রশ্ন যুক্ত করার জন্য একটি বোতাম। আসুন শুধু কোডটি দেখুন:

আমদানি কিউটকিউইক ২.০ আমদানি করুন উবুন্টু. উপাদানসমূহ ০.১ ট্যাব {শিরোনাম: i2.0n.tr ("+ প্রশ্ন") পৃষ্ঠা {আইডি: পৃষ্ঠাআপনি কলাম {অ্যাঙ্কারস.টপ: পৃষ্ঠা অ্যাড.টপ অ্যাঙ্কারস.টপ মার্জিন: 0.1 স্পেসিং: 18 প্রস্থ: প্যারেন্ট.উইউথ উচ্চতা: প্যারেন্ট.হাইট - 50 লেবেল-আইডি: প্রশ্ন পাঠ্য: "ডাটাবেসে একটি প্রশ্ন যুক্ত করুন:" অ্যাঙ্কারস হরিজন্ট সেন্টার: প্যারেন্ট হোরাইজেন্টাল সেন্টার ফন্টসাইজ: "বড়"} টেক্সটআরিয়া {প্রস্থ: প্যারেন্ট.উইথ - 15 উচ্চতা: ইউনিট.গু (50) কন্টেন্টউইথ: ইউনিটস.গু (20) সামগ্রী হাইট: ইউনিটস.গু ()০) অ্যাঙ্কারস হোরাইজেন্টাল সেন্টার: প্যারেন্ট হোরাইজেন্টাল সেন্টার} সারি ac স্পেসিং: ১৫ অ্যাঙ্কারস হরিজন্ট সেন্টার: প্যারেন্ট হোরাইজেন্টাল সেন্টার টেক্সটফিল্ড {স্থানধারক পাঠ্য: "প্রতিক্রিয়া 12" প্রস্থ: 30 اور} স্যুইচ {চেক করা হয়েছে: ভুয়া} ow সারি {ব্যবধান: 60 অ্যাঙ্কারস হরাইজেন্টাল সেন্টার: প্যারেন্ট হোরাইজেন্টাল সেন্টার টেক্সটফিল্ড {স্থানধারক পাঠ্য: "প্রতিক্রিয়া 15" প্রস্থ: 1} স্যুইচ {চেক করা হয়েছে: মিথ্যা} ow সারি {ফাঁকা স্থান: 300 অ্যাঙ্কারস horizontalCenter: পিতা বা মাতা। অনুভূমিক কেন্দ্রের টেক্সটফিল্ড {স্থানধারক পাঠ্য: "প্রতিক্রিয়া 15" প্রস্থ: 2} স্যুইচ {চেক করা হয়েছে: মিথ্যা} ow সারি {ফাঁকা: 300 অ্যাঙ্কারস হরাইজেন্টাল সেন্টার: প্যারেন্ট হোরাইজেন্টাল সেন্টার টেক্সটফিল্ড {স্থানধারক পাঠ্য: "প্রতিক্রিয়া 15" প্রস্থ: 3} স্যুইচ {চেক করা হয়েছে: মিথ্যা} ton বোতাম {পাঠ্য: "অ্যাড + + অ্যাঙ্কারস হরাইজেন্টাল সেন্টার: প্যারেন্ট হোরাইজেন্টাল সেন্টার প্রস্থ: প্যারেন্ট.উইউথ - 300}}}}
কোড সম্পর্কে যদি কোনও সন্দেহ থাকে তবে আপনি ইতিমধ্যে মন্তব্যটি জানেন

এটি দেখতে কেমন তা দেখি:

2014-07-24 16:54:37 থেকে ক্যাপচার করুন

যদি আমরা এখন স্যুইচগুলি পরীক্ষা করি, আমরা দেখতে পাব যে আমরা সেগুলি সমস্তকে সঠিক প্রশ্ন হিসাবে চিহ্নিত করতে পারি, এবং স্বাভাবিকভাবেই কেবল একজনই হতে পারে, তাই আমরা নিম্নলিখিতটি করবো: আমরা প্রতিটি স্যুইচকে একটি সনাক্তকারী সরবরাহ করতে সক্ষম হব (পাঠ্যক্ষেত্রগুলিতেও যেহেতু এটি সংরক্ষণ করার জন্য সামগ্রীটি আমাদের পেতে হবে) আপনার উত্তর অনুসারে ডাটাবেস) এবং যখন আমরা এটি ক্লিক করব তখন আমরা অন্য সকলকে পরীক্ষিত = মিথ্যা মোডে রেখে দেব:

             সারি {ব্যবধান: 15 অ্যাঙ্কারস horizontalCenter: অভিভাবক horizontalCenter পাঠ্যফিল্ড {আইডি: res1 স্থানধারক পাঠ্য: "প্রতিক্রিয়া 1" প্রস্থ: 300} স্যুইচ {আইডি: sw1 চেক করা হয়েছে: মিথ্যা অন ক্লিক করুন: {if (sw1.checked == সত্য) {sw2। পরীক্ষিত = মিথ্যা sw3.checked = মিথ্যা sw4.checked = মিথ্যা}}}}

আমরা যদি এখনই এটি চেষ্টা করে দেখি আমরা কীভাবে কেবল একটি চিহ্নিত করতে পারি।


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।

  1.   vr_rv তিনি বলেন

    খুব ভাল এবং ভাল নিবন্ধগুলি।
    যাইহোক, আপনি উবুন্টুর কিউএমএল-তে কীভাবে বিকাশ করতে হবে তা শিখতে কিছু বই, ইউটিউব চ্যানেল বা স্প্যানিশ ভাষায় থাকা ব্লগের পরামর্শ দিচ্ছেন।

    1.    ললিম্বো তিনি বলেন

      ওয়েল, স্প্যানিশ ভাষায় অবশ্যই ইউটিউবে কিছু কিছু টিউটোরিয়াল বা অদ্ভুত ব্লগ রয়েছে তবে সত্যটি হ'ল এখানে খুব সামান্য উপাদান রয়েছে।

      আমি দেখতে পাচ্ছি যে আপনি কোনও নোকিয়ার মধ্য দিয়ে সংযোগ স্থাপন করেছেন যদি এটি শেষের প্রতীক হয় তবে আপনি কিউএমএল দিয়ে অ্যাপ্লিকেশনও তৈরি করতে পারবেন, আসলে এটি আমি কীভাবে শিখেছি, এখানে নোকিয়া বিকাশ ওয়েবসাইটটি রয়েছে: http://developer.nokia.com/ (টিউটোরিয়াল, সম্পূর্ণ প্রকল্প আছে ...)

  2.   নেস্টর তিনি বলেন

    দুর্দান্ত পোস্ট সিরিজ, ইনপুট জন্য ধন্যবাদ।

  3.   Martí তিনি বলেন

    টিউটোরিয়ালটির জন্য ধন্যবাদ,
    কিন্তু আমি কীভাবে প্রশ্ন এবং উত্তর ডাটাবেসে যুক্ত করা হয় তা বুঝতে পারি না।
    অ্যাড বাটন সহ।
    সবকিছুর জন্য ধন্যবাদ.