শব্দ গেম - বোর্ড বাস্তবায়ন?


12

আমি অ্যান্ড্রয়েডের জন্য বগল টাইপ গেমটিতে লিবিজিডিএক্স ব্যবহার করে কাজ করছি। ব্যবহারকারীর একটি 4x4 বর্ণের গ্রিড উপস্থাপিত হয় এবং অক্ষরের উপরে তাদের আঙুল টেনে শব্দগুলি খুঁজে পেতে হবে।

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

একটি উদাহরণ:

d g a o
u o r T
h v R I
d G n a

আমি যদি GRIT শব্দটি নির্বাচিত করি, তবে সেই অক্ষরগুলি অদৃশ্য হয়ে যাবে এবং বাকী অংশটি নীচে পড়ে যাবে:

d
u g a
h o r o
d v n a

এবং তারপরে নতুন অক্ষর দ্বারা প্রতিস্থাপন করুন

d w x y
u g a z
h o r o
d v n a

বোর্ড এবং টাইলগুলি কীভাবে উপস্থাপন করা যায় তা নির্ধারণ করতে আমি আটকে আছি।

আমি বোর্ডকে ম্যাট্রিক্স হিসাবে প্রতিনিধিত্ব করে চেষ্টা করেছি টাইলসকে নির্বাচিত এবং বৈধ মুভগুলি এবং ম্যাট্রিক্সে টাইলস সংরক্ষণ করা যাতে একটি সহজ ম্যাপিং হয়। এটি কাজ করে, তবে বোর্ডটি ঘোরানোর জন্য আমাকে কয়েকটি বিভক্ত কোড লিখতে হয়েছিল।

অন্যান্য গেমস কীভাবে এই সমস্যাটি পরিচালনা করে?

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


1
আপনি যে দিকটি বোঝাচ্ছেন, কোন অক্ষরগুলি হ্রাস পাচ্ছে, তা ডিভাইসের অভিযোজনের উপর নির্ভর করে? আপনি কি এইটি ব্যাখ্যা করতে পারেন যে "আমি টাইলগুলি ঘোরানোতে চাইলে" খারাপ হয়েছি "তার অর্থ কি ?
পেটর আবদুলিন

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

আপডেটের জন্য ধন্যবাদ. প্রশ্নটি নিজেই আপডেট করা সাধারণত ভাল, তাই অন্যকে মূল্যবান তথ্যের জন্য মন্তব্যগুলি খননের প্রয়োজন হবে না। কীভাবে ঘোরানো হয় (এখন) এটি কী ফলাফল এবং এটি কীভাবে ট্র্যাকিংকে কঠিন করে তোলে তা এখনও আমার কাছে পরিষ্কার নয়। এটি পুরো স্পষ্ট নয় যে পুরো বোর্ডটি ঘোরানো হয় বা শুধুমাত্র পৃথক টাইলস। সাধারণত কোড টুকরা যুক্ত করা সমস্যাটি বুঝতে সাহায্য করে help
পেটর আব্দুলিন

আমি মনে করি যে আমি সমস্যাটি ভুল করে যাচ্ছিলাম, ঘূর্ণন অনুসারে ব্যবহারকারীদের টাচ পয়েন্টটি প্রক্রিয়া করা আমাকে বোর্ডকে স্ট্যাটিক অবজেক্ট হিসাবে ভাবতে সহায়তা করবে।
অ্যান্ডি মেসভয়

দয়া করে এটিকে একটি উত্তরে রাখুন এবং যদি আপনি আপনার সমস্যার সমাধান খুঁজে পেয়ে থাকেন তবে আপনার উত্তরটি স্বীকার করুন; অন্যথায় আপনি যদি 100% নিশ্চিত না হন তবে আপনি এটি খোলা রাখতে পারেন। আপনার প্রস্তাবিত সমাধানটি বর্ণনা করার শব্দটি হ'ল "স্পেস ট্রান্সলেশন", অর্থাৎ আপনি আপনার স্পর্শ পয়েন্টটি স্ক্রিন স্পেস এবং (ঘোরানো) বোর্ড স্পেসের মধ্যে অনুবাদ করছেন।
ইঞ্জিনিয়ার

উত্তর:


1

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

আপনার প্রান্তের নোডগুলিতে প্রতিবেশী সেট আপ থাকবে null, সুতরাং নোড শ্রেণিতে আপনার পদ্ধতি অনুসারে প্রতিবেশীদের উল্লেখ করতে হবে তা হ্যান্ডেল করার বিষয়টি নিশ্চিত করুন।

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

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

এখানে চিত্র বর্ণনা লিখুন


-2

হ্যাঁ সমাধানটি হ'ল আপনি নিজের ম্যাট্রিক্স বা অ্যারে থেকে মান পান এবং টেম্পল অ্যারে বা ম্যাট্রিক্সের জন্য সেই মানটি সেট করে এবং সেখান থেকে মান সেট করে এটি আপনাকে আপনার ঘোরানো মানের গিড় দেখায়। আমি নীচে কোড যুক্ত করেছি আমি মনে করি এটি আপনাকে সহায়তা করে

    int MAX_GRID = 4;
    int[][] main_array = new int[MAX_GRID][MAX_GRID];
    int[][] temp_array = new int[MAX_GRID][MAX_GRID];

    /** This method for clockwise **/
    int mainRow = MAX_GRID - 1;
    for (int c = 0; c < MAX_GRID; c++) {
        for (int r = 0; r < MAX_GRID; r++) {
            temp_array [mainRow][c] = main_array [r][c];
            Log.i("TAG", "R C : [ " + mainRow + " " + c + " ]" + " => [ "
                    + r + " " + c + " ]");
            mainRow--;
        }
    }
    main_array = temp_array;

    /** This method for anti-clockwise **/
    int mainCol = 0;
    for (int c = MAX_GRID - 1; c >= 0; c--) {
        for (int r = MAX_GRID - 1; r >= 0; r--) {
            temp_array [r][mainCol] = main_array [c][r];
            Log.i("TAG", "R C : [ " + r + " " + mainCol + " ]" + " => [ "
                    + c + " " + r + " ]");
        }
        mainCol++;
    }
    main_array = temp_array;

    // Now you can set main_array value then its rotate
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.