এই সাইটটি বার পঠিত
ভাটিয়ালি | টইপত্তর | বুলবুলভাজা | হরিদাস পাল | খেরোর খাতা | বই
  • টইপত্তর  আলোচনা   সমাজ

  • পশ্চিমবঙ্গে মৌলবাদী শক্তি 

    দীপ
    আলোচনা | সমাজ | ০১ জানুয়ারি ২০২৬ | ২৬৭ বার পঠিত
  • মৌলবাদকে তোষণ করে কখনো শান্ত করা যায়না, সে আরো শক্তিশালী হয়ে ওঠে। বাংলাদেশের সাম্প্রতিক ঘটনাবলী তার প্রমাণ।
    পশ্চিমবঙ্গেও এই মৌলবাদী শক্তি ক্রমশ শক্তিশালী হয়ে উঠেছে। সন্দেশখালি থেকে মুর্শিদাবাদ দাঙ্গা; সর্বত্র এই ভয়ঙ্কর শক্তি ক্রিয়াশীল।‌ ২০২১ সালে এই গোষ্ঠী সরিষা রামকৃষ্ণ মিশনের জমি বেদখল করার চেষ্টা করেছিলো। মালদা, মুর্শিদাবাদ, উত্তর ও দক্ষিণ চব্বিশ পরগণা; এসব অঞ্চলে এরা খুবই সক্রিয়। 
    সম্প্রতি মেদিনীপুরে এক জনপ্রিয় গায়িকা এই অপশক্তির দ্বারা নির্যাতিত হয়েছেন।
    মৌলবাদকে কঠোর হাতে দমন করতে হবে, যে কাজ একশো বছর আগে তুরস্কে কামাল পাশা করেছিলেন।

    এটাই একমাত্র পথ, এছাড়া আর কোন পথ নেই!

    লিখেছেন মাননীয় ওসমান মল্লিক।
    --------------------------------------------------

    এইভাবেই পশ্চিমবঙ্গে অল্পদিনের মধ্যেই ইসলামীকরন সম্পন্ন হবে। হিজাব বুরখাতে ইতিমধ্যেই ঢাকতে শুরু করেছে স্কুল, কলেজ, বিশ্ববিদ্যালয়। যাদবপুরও বাকী থাকবে না। কোথায় যাবে হিন্দু বাঙালি, নাস্তিক বাঙালি, মুক্তমনা বাঙালি। পালানোর জন্য থাকবে অবশিষ্ট ভারত।

    অনেকেই মাথা ঢেকে হেডফোন ব্যবহার করে পরীক্ষা হলে চিটিং করে থাকে। এরকম  সন্দেহে একজন পরীক্ষার্থীকে হিজাব খুলতে বলা হয়েছিল। এমন নয় যারা যারা হিজাব পরে এসেছিল - তাদের সকলকে হিজাব খুলতে বলা হয়েছে! এই কিছুদিন আগেও এস এস সি পরীক্ষার সময়ে বিবাহিত মহিলাদের হাতের নোয়া খুলে রাখতে হয়েছিল। বিতর্ক হয়েছিল। কিন্তু তারজন্য কী ইনভিজিলেটরের এরকম পরিস্থিতি হয়েছিল?

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

    ধীরে ধীরে ইউরোপের বহু দেশেই পাবলিক প্লেসে, সরকারি প্রতিষ্ঠানে, হিজাব বুরখা নিষিদ্ধ হচ্ছে। কোথাও কোথাও  পাবলিক প্লেসে হিজাব বুরখা পরার জন্য ফাইন চালু হয়েছে। ভারতে কী হবে - ভবিষৎই বলবে।

    অনেকেই এখানে  হিন্দু মেয়েদের কথা বলবে। হ্যাঁ আগে তারাও ঘোমটা দিয়ে স্কুলে যেত। সেসব এখন অতীত। হিন্দু মেয়েরা স্কুল কলেজে ঘোমটা পরে যাচ্ছে, এদৃশ্য বিরল।
  • মতামত দিন
  • বিষয়বস্তু*:
  • দীপ | 2402:3a80:1975:91d7:678:5634:1232:***:*** | ০২ জানুয়ারি ২০২৬ ১৯:১৮746464
  • ২০২৬ কেমন যাবে বুঝতে পারছি। বামেদের নয়নের মণি মামদানি কোরান হাতে শপথ নিচ্ছে এখানের কচি আবালদের উৎসাহ দিতে। কারণ কোরআন একটি ধর্মনিরপেক্ষ বই। গীতা চরম সাম্প্রদায়িক। বাইবেল মাঝামাঝি। চরম উদ্দীপনার মধ্যে আবার ইরানে লোকজন বিদ্রোহ করছে দেখে চাড্ডিরা প্রচণ্ড উত্তেজিত। এসব বিদ্রোহ খুব বাজে ভাবে দমন করা হয় সেখানে। যে নারী হিজাব, বোরখা খুলে প্রকাশ্যে চলে এসেছিল তার গ্রেফতারির পরে কী হয়েছে কেউ জানে না। তোলার লোকজন প্রচণ্ড খুশি। নির্বাচন কমিশনের লোক হাসানো এক এক দিনের এক এক নতুন ফরমানে তোলা রাজনীতি পাল খাটিয়ে উজানের পথে। সাধারণ পাব্লিক দিশেহারা। ভোগান্তি চরমে। সুতরাং ভোটে বিশেষ কষ্ট এবছরে আর তাদের কে করতে হবে না। গিফ্ট অফ দা ম্যাজাই পেয়েছে। বিশাল কিছু দাঙ্গা, জঙ্গি আক্রমণ টন না হলে চাড্ডিরা কটা সিট এখানে পাবে নিজেরাই বুঝে যাওয়া উচিৎ। বাম এসবের ধার ধারে না। তারা মামদানির জামদানির জকির গন্ধে বিভোর।  আমি আর কাউকেই এখন খিস্তি দেই না। ইনফ্যাক্ট রাজনীতি জিনিসটাই আর ভালো লাগছে না। কাল থেকে আরও চুপচাপ হয়ে যেতে হবে।
  • দীপ | 2402:3a80:1975:91d7:678:5634:1232:***:*** | ০২ জানুয়ারি ২০২৬ ১৯:১৯746465
  • ২০২৬ কেমন যাবে বুঝতে পারছি। বামেদের নয়নের মণি মামদানি কোরান হাতে শপথ নিচ্ছে এখানের কচি আবালদের উৎসাহ দিতে। কারণ কোরআন একটি ধর্মনিরপেক্ষ বই। গীতা চরম সাম্প্রদায়িক। বাইবেল মাঝামাঝি। চরম উদ্দীপনার মধ্যে আবার ইরানে লোকজন বিদ্রোহ করছে দেখে চাড্ডিরা প্রচণ্ড উত্তেজিত। এসব বিদ্রোহ খুব বাজে ভাবে দমন করা হয় সেখানে। যে নারী হিজাব, বোরখা খুলে প্রকাশ্যে চলে এসেছিল তার গ্রেফতারির পরে কী হয়েছে কেউ জানে না। তোলার লোকজন প্রচণ্ড খুশি। নির্বাচন কমিশনের লোক হাসানো এক এক দিনের এক এক নতুন ফরমানে তোলা রাজনীতি পাল খাটিয়ে উজানের পথে। সাধারণ পাব্লিক দিশেহারা। ভোগান্তি চরমে। সুতরাং ভোটে বিশেষ কষ্ট এবছরে আর তাদের কে করতে হবে না। গিফ্ট অফ দা ম্যাজাই পেয়েছে। বিশাল কিছু দাঙ্গা, জঙ্গি আক্রমণ টন না হলে চাড্ডিরা কটা সিট এখানে পাবে নিজেরাই বুঝে যাওয়া উচিৎ। বাম এসবের ধার ধারে না। তারা মামদানির জামদানির জকির গন্ধে বিভোর।  আমি আর কাউকেই এখন খিস্তি দেই না। ইনফ্যাক্ট রাজনীতি জিনিসটাই আর ভালো লাগছে না। কাল থেকে আরও চুপচাপ হয়ে যেতে হবে।
  • ধোরবা | 2001:67c:e60:c0c:192:42:116:***:*** | ০২ জানুয়ারি ২০২৬ ১৯:৪২746466
  • ধুর্স্লা খানচোতের বাচ্চা কপি মেরেই চলেচে। সেই ফেসবুক থেকে কপি মারবার জন্য পরের পর টই খুলে চলেচে গাধাচোদ। একটাতে জঞ্জাল ফেলে হচ্চে না গিদ্ধড়টার 
  • দীপ | 2402:3a80:197f:28a4:878:5634:1232:***:*** | ১৩ ফেব্রুয়ারি ২০২৬ ১৪:৫২746786
  • মৌলবাদকে তোষণ করে কোনো লাভ হয়না, মৌলবাদী শক্তি আরো শক্তিশালী হয়ে ওঠে। বাংলাদেশের সাম্প্রতিক ঘটনাবলী তার অন্যতম প্রমাণ।

    পশ্চিমবঙ্গে বর্তমান রাজ্য সরকার নিজস্ব রাজনৈতিক স্বার্থে মৌলবাদী শক্তিকে সাহায্য করে চলেছে। এর ফলাফল বিষময় হতে বাধ্য।

    এখনো সচেতন হোন, সব মৌলবাদী শক্তিকে প্রতিহত করুন। নাহলে পশ্চিমবঙ্গের রাজনৈতিক পরিস্থিতি আরো জটিল হয়ে উঠবে।

    সম্পূর্ণ মিথ্যা অভিযোগে আমীর চাঁদ শেখকে গ্রেফতার করা হয়েছে। পুলিশপ্রশাসনকে  তীব্র ঘৃণা ও ধিক্কার!
    এদের কঠোর শাস্তি প্রয়োজন!
  • albert banerjee | ১৩ ফেব্রুয়ারি ২০২৬ ২১:৪৮746789
  • মৌলবাদী তৈরি করা প্রলাবলে সি ++ সিমুলেশন 
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <time.h>
    #include <stdbool.h>
    #include <math.h>

    // মোট জনসংখ্যা (ব্যক্তি সংখ্যা)
    #define MAX_PEOPLE 100

    // নামের তালিকা (এলোমেলো নাম জেনারেশনের জন্য)
    char *firstNames[] = {"Ramesh", "Suresh", "Dinesh", "Mahesh", "Ganesh", "Rajesh", "Mukesh", "Lokesh", "Rakesh", "Naresh",
                          "Amit", "Sumit", "Vikas", "Sanjay", "Vijay", "Anil", "Sunil", "Pankaj", "Deepak", "Manoj"};
    #define NUM_NAMES (sizeof(firstNames)/sizeof(firstNames[0]))

    // ধর্মের তালিকা (বাস্তবতার জন্য বৈচিত্র্য)
    char *religions[] = {"Hindu", "Muslim", "Christian", "Sikh", "Other"};
    #define NUM_RELIGIONS (sizeof(religions)/sizeof(religions[0]))

    // শিক্ষার স্তর
    typedef enum {
        ILLITERATE,
        PRIMARY,
        SECONDARY,
        HIGHER_SECONDARY,
        GRADUATE,
        POST_GRADUATE
    } EducationLevel;

    char *eduLevelStr[] = {"অশিক্ষিত", "প্রাথমিক", "মাধ্যমিক", "উচ্চমাধ্যমিক", "স্নাতক", "স্নাতকোত্তর"};

    // ব্যক্তির কাঠামো
    typedef struct Person {
        int id;
        char name[50];
        int age;
        char religion[20];
        EducationLevel education;
        bool isUnemployed;
        float income;          // মাসিক আয় (হাজার টাকায়)
        bool isAngry;          // সামাজিক/অর্থনৈতিক ক্ষোভ
        bool usesSocialMedia;  // সামাজিক মাধ্যম ব্যবহার করে?
        int familyHeadId;      // পরিবারের প্রধান ব্যক্তির আইডি (যদি থাকে), -1 যদি প্রধান হয়
        int familySize;        // পরিবারের সদস্য সংখ্যা
        bool familyHasMember;  // পরিবারের কেউ সদস্য আছে?
        // রিক্রুটমেন্ট ট্র্যাকিং
        bool isInfluenced;     
        bool isMember;
        int stage;             // 0..3
        int monthsActive;      // কত মাস ধরে সক্রিয়
        // যোগাযোগ নেটওয়ার্ক (কাদের সাথে কথা বলে)
        int friends[MAX_PEOPLE/2]; // বন্ধুদের আইডি (সিম্পল রাখতে অ্যারে)
        int friendCount;
    } Person;

    // গোষ্ঠীর কাঠামো (সংগঠনের তথ্য)
    typedef struct {
        int memberIds[MAX_PEOPLE];
        int memberCount;
        float funds;           // সংগঠনের তহবিল (হাজার টাকা)
        int outreachCenters;   // সাংস্কৃতিক কেন্দ্রের সংখ্যা
        int socialMediaPresence; // সোশ্যাল মিডিয়ায় উপস্থিতি (0-10 স্কেল)
    } Organization;

    // ফাংশন প্রোটোটাইপ
    void initializePeople(Person people[], int count);
    void assignFamily(Person people[], int count);
    void assignFriends(Person people[], int count);
    void printPerson(Person p);
    void updateAnger(Person *p, float economicIndex);
    void socialMediaCampaign(Person people[], int count, Organization *org, int month);
    void familyInfluence(Person people[], int count, int index);
    void culturalOutreach(Person *p, Organization *org, int month);
    void ideologicalTraining(Person *p, Organization *org, int month);
    void createEnemyImage(Person *p, Organization *org, int month);
    void assignDuties(Person *p, Organization *org, int month);
    void recruit(Person people[], int count, int index, Organization *org, int month);
    void simulateMonth(Person people[], int count, Organization *org, int month);
    void saveResultsToCSV(Person people[], int count, int month);
    void printStatistics(Person people[], int count, Organization *org, int month);

    // সম্ভাব্যতা হিসাবের জন্য হেল্পার ফাংশন
    float clamp(float x, float min, float max) {
        if (x < min) return min;
        if (x > max) return max;
        return x;
    }

    int main() {
        srand(time(NULL));

        Person people[MAX_PEOPLE];
        Organization org = { .memberCount = 0, .funds = 100.0, .outreachCenters = 1, .socialMediaPresence = 1 };

        // প্রাথমিক জনসংখ্যা তৈরি
        initializePeople(people, MAX_PEOPLE);
        assignFamily(people, MAX_PEOPLE);
        assignFriends(people, MAX_PEOPLE);

        // কিছু প্রাথমিক সদস্য (গুটি কয়েক) যোগ করা (সংগঠনের মূল কার্যকর্তা)
        for (int i = 0; i < 3; i++) {
            int idx = rand() % MAX_PEOPLE;
            people[idx].isMember = true;
            people[idx].stage = 3;
            people[idx].monthsActive = 12; // পুরনো সদস্য
            org.memberIds[org.memberCount++] = idx;
        }

        printf("========== শুরুতে পরিস্থিতি ==========\n");
        printStatistics(people, MAX_PEOPLE, &org, 0);

        // সিমুলেশন চালানো (১২ মাস)
        for (int month = 1; month <= 12; month++) {
            simulateMonth(people, MAX_PEOPLE, &org, month);
            // প্রতিমাস শেষে পরিসংখ্যান প্রিন্ট
            printf("\n--- মাস %d শেষে ---\n", month);
            printStatistics(people, MAX_PEOPLE, &org, month);
            // ফাইল সেভ (প্রতি মাসের তথ্য সংরক্ষণ)
            saveResultsToCSV(people, MAX_PEOPLE, month);
        }

        printf("\n========== চূড়ান্ত ফলাফল ==========\n");
        for (int i = 0; i < MAX_PEOPLE; i++) {
            printPerson(people[i]);
        }
        printStatistics(people, MAX_PEOPLE, &org, 12);

        return 0;
    }

    void initializePeople(Person people[], int count) {
        for (int i = 0; i < count; i++) {
            people[i].id = i + 1;
            // নাম এলোমেলো
            strcpy(people[i].name, firstNames[rand() % NUM_NAMES]);
            // বয়স (১৮-৬৫)
            people[i].age = 18 + (rand() % 48);
            // ধর্ম এলোমেলো (বাস্তবতার জন্য হিন্দু অধিক)
            int relRand = rand() % 100;
            if (relRand < 70) strcpy(people[i].religion, "Hindu");
            else if (relRand < 85) strcpy(people[i].religion, "Muslim");
            else if (relRand < 95) strcpy(people[i].religion, "Christian");
            else strcpy(people[i].religion, "Other");

            // শিক্ষার স্তর
            int eduRand = rand() % 100;
            if (eduRand < 15) people[i].education = ILLITERATE;
            else if (eduRand < 35) people[i].education = PRIMARY;
            else if (eduRand < 60) people[i].education = SECONDARY;
            else if (eduRand < 80) people[i].education = HIGHER_SECONDARY;
            else if (eduRand < 95) people[i].education = GRADUATE;
            else people[i].education = POST_GRADUATE;

            // বেকারত্ব (শিক্ষার সাথে সম্পর্কিত)
            if (people[i].education <= SECONDARY) {
                people[i].isUnemployed = (rand() % 100 < 50); // কম শিক্ষায় বেকারত্ব বেশি
            } else {
                people[i].isUnemployed = (rand() % 100 < 20);
            }

            // আয় (শিক্ষা ও বেকারত্বের ভিত্তিতে)
            if (people[i].isUnemployed) {
                people[i].income = 0;
            } else {
                float base = 5.0;
                if (people[i].education == ILLITERATE) base = 3.0;
                else if (people[i].education == PRIMARY) base = 5.0;
                else if (people[i].education == SECONDARY) base = 8.0;
                else if (people[i].education == HIGHER_SECONDARY) base = 12.0;
                else if (people[i].education == GRADUATE) base = 20.0;
                else base = 30.0;
                // এলোমেলো ভিন্নতা
                people[i].income = base + (rand() % (int)(base));
            }

            // সামাজিক মাধ্যম ব্যবহার (বয়স ও শিক্ষার উপর নির্ভরশীল)
            if (people[i].age < 30 && people[i].education >= SECONDARY) {
                people[i].usesSocialMedia = (rand() % 100 < 80);
            } else if (people[i].age < 45) {
                people[i].usesSocialMedia = (rand() % 100 < 50);
            } else {
                people[i].usesSocialMedia = (rand() % 100 < 20);
            }

            // ক্ষোভ (আয়ের উপর ভিত্তি করে)
            people[i].isAngry = (people[i].income < 5.0) || (people[i].isUnemployed && rand() % 100 < 70);

            // পরিবার সম্পর্কিত তথ্য (পরবর্তীতে অ্যাসাইন হবে)
            people[i].familyHeadId = -1;
            people[i].familySize = 1;
            people[i].familyHasMember = false;

            // রিক্রুটমেন্ট স্টেটাস
            people[i].isInfluenced = false;
            people[i].isMember = false;
            people[i].stage = 0;
            people[i].monthsActive = 0;

            // বন্ধু তালিকা খালি
            people[i].friendCount = 0;
        }
    }

    void assignFamily(Person people[], int count) {
        // খুব সহজ মডেল: কিছু পরিবার প্রধান তৈরি করে তাদের সাথে কয়েকজন করে নির্ভরশীল যুক্ত করা
        int i = 0;
        while (i < count) {
            int head = i;
            people[head].familyHeadId = -1; // নিজেই প্রধান
            int familySize = 2 + (rand() % 4); // 2-5 সদস্য
            if (head + familySize > count) familySize = count - head;
            people[head].familySize = familySize;
            for (int j = 1; j < familySize; j++) {
                int member = head + j;
                people[member].familyHeadId = head;
                people[member].familySize = familySize;
            }
            i += familySize;
        }
    }

    void assignFriends(Person people[], int count) {
        // প্রতিটি ব্যক্তির জন্য ২-৫ জন বন্ধু নির্ধারণ (এলোমেলো)
        for (int i = 0; i < count; i++) {
            int numFriends = 2 + (rand() % 4);
            for (int f = 0; f < numFriends; f++) {
                int friendId;
                do {
                    friendId = rand() % count;
                } while (friendId == i || people[i].friendCount >= MAX_PEOPLE/2);
                // বন্ধুর তালিকায় যোগ
                bool already = false;
                for (int k = 0; k < people[i].friendCount; k++) {
                    if (people[i].friends[k] == friendId) already = true;
                }
                if (!already) {
                    people[i].friends[people[i].friendCount++] = friendId;
                }
            }
        }
    }

    void updateAnger(Person *p, float economicIndex) {
        // অর্থনৈতিক সূচকের সাথে সাথে ক্ষোভ আপডেট (যেমন বেকারত্ব বা মূল্যস্ফীতি)
        // এখানে শুধু আয়ের উপর ভিত্তি করি
        if (p->income < 3.0) p->isAngry = true;
        else if (p->income > 15.0) p->isAngry = false;
        // এলোমেলো কারণেও বাড়তে পারে
        if (!p->isAngry && (rand() % 100 < 5)) p->isAngry = true; // ৫% সুযোগে নতুন ক্ষোভ
    }

    // সামাজিক মাধ্যম প্রচারণা (সংগঠনের পক্ষ থেকে)
    void socialMediaCampaign(Person people[], int count, Organization *org, int month) {
        // সংগঠনের সোশ্যাল মিডিয়া উপস্থিতি বাড়ার সাথে সাথে প্রভাব বাড়ে
        float baseProb = 0.05 + 0.02 * org->socialMediaPresence; // ৫% + ২%/পয়েন্ট
        for (int i = 0; i < count; i++) {
            if (people[i].isMember || people[i].stage >= 2) continue; // ইতিমধ্যে সক্রিয়
            if (people[i].usesSocialMedia) {
                float prob = baseProb;
                // বন্ধুদের মধ্যে সদস্য থাকলে প্রভাব বাড়ে
                for (int f = 0; f < people[i].friendCount; f++) {
                    int fid = people[i].friends[f];
                    if (people[fid].isMember) prob += 0.1;
                }
                if ((float)rand() / RAND_MAX < prob) {
                    // প্রভাবিত (শুরুতে অন্তত সাংস্কৃতিক সংস্পর্শে আসে)
                    if (people[i].stage == 0) {
                        people[i].isInfluenced = true;
                        people[i].stage = 1;
                        printf("মাস %d: %s সামাজিক মাধ্যমে প্রভাবিত হয়ে সাংস্কৃতিক সংস্পর্শে এল।\n", month, people[i].name);
                    }
                }
            }
        }
    }

    // পরিবারের প্রভাব (যদি পরিবারের কেউ সদস্য হয়, তবে অন্য সদস্যদের প্রভাবিত করার সম্ভাবনা)
    void familyInfluence(Person people[], int count, int index) {
        Person *p = &people[index];
        if (p->familyHeadId == -1) {
            // নিজে প্রধান, পুরো পরিবারের দায়িত্ব
            int head = index;
            for (int i = 1; i < people[head].familySize; i++) {
                int memberIdx = head + i;
                if (memberIdx >= count) break;
                if (people[memberIdx].stage == 0 && !people[memberIdx].isInfluenced) {
                    // পরিবারের প্রধান সদস্য হলে প্রভাব ফেলতে পারে
                    if (p->isMember && (rand() % 100 < 40)) {
                        people[memberIdx].isInfluenced = true;
                        people[memberIdx].stage = 1;
                        printf("পরিবারের প্রভাবে %s প্রভাবিত।\n", people[memberIdx].name);
                    }
                }
            }
        } else {
            // নিজে নির্ভরশীল, পরিবারের প্রধান যদি সদস্য হয় তবে প্রভাব পড়তে পারে
            int head = p->familyHeadId;
            if (people[head].isMember && p->stage == 0 && !p->isInfluenced) {
                if (rand() % 100 < 30) {
                    p->isInfluenced = true;
                    p->stage = 1;
                    printf("পরিবারের প্রভাবে %s প্রভাবিত।\n", p->name);
                }
            }
        }
    }

    void culturalOutreach(Person *p, Organization *org, int month) {
        // বেস সম্ভাবনা সংগঠনের আউটরিচ সেন্টারের উপর নির্ভর করে
        float base = 0.1 + 0.05 * org->outreachCenters;
        // ব্যক্তির বৈশিষ্ট্যের উপর ভিত্তি করে সম্ভাবনা সমন্বয়
        float prob = base;
        if (p->isUnemployed) prob += 0.2;
        if (p->isAngry) prob += 0.2;
        if (p->income < 5.0) prob += 0.1;
        if (p->education >= GRADUATE) prob -= 0.2;
        if (p->age > 50) prob -= 0.1;
        prob = clamp(prob, 0.0, 0.95);

        if ((float)rand() / RAND_MAX < prob) {
            p->isInfluenced = true;
            p->stage = 1;
            printf("মাস %d: %s সাংস্কৃতিক অনুষ্ঠানে এসে প্রভাবিত (সম্ভাবনা %.2f)\n", month, p->name, prob);
        }
    }

    void ideologicalTraining(Person *p, Organization *org, int month) {
        float prob = 0.7; // বেস
        if (p->education >= GRADUATE) prob -= 0.3;
        if (p->isAngry) prob += 0.1;
        if (p->familyHasMember) prob += 0.1; // পরিবারের সদস্য থাকলে বিশ্বাস বাড়ে
        prob = clamp(prob, 0.0, 0.95);

        if ((float)rand() / RAND_MAX < prob) {
            p->stage = 2;
            printf("মাস %d: %s মতাদর্শ গ্রহণ করেছে (স্তর ২)\n", month, p->name);
        } else {
            // ব্যর্থ, কিন্তু stage 1-এ থাকবে (পরে আবার চেষ্টা হতে পারে)
            printf("মাস %d: %s মতাদর্শ গ্রহণে ব্যর্থ\n", month, p->name);
        }
    }

    void createEnemyImage(Person *p, Organization *org, int month) {
        float prob = 0.8;
        if (p->education >= GRADUATE) prob -= 0.2;
        if (strcmp(p->religion, "Hindu") != 0) prob -= 0.3; // সংখ্যালঘুরা নিজেদের উপর আক্রমণাত্মক প্রচার কম বিশ্বাস করে
        prob = clamp(prob, 0.0, 0.95);

        if ((float)rand() / RAND_MAX < prob) {
            p->stage = 3;
            printf("মাস %d: %s শত্রুতা তৈরি করেছে (স্তর ৩)\n", month, p->name);
        }
    }

    void assignDuties(Person *p, Organization *org, int month) {
        float prob = 0.8;
        if (p->age < 25) prob += 0.1; // তরুণরা বেশি উৎসাহী
        if (p->isUnemployed) prob += 0.1; // সময় বেশি
        prob = clamp(prob, 0.0, 0.95);

        if ((float)rand() / RAND_MAX < prob) {
            p->isMember = true;
            p->monthsActive = 0;
            org->memberIds[org->memberCount++] = p->id - 1; // index
            printf("মাস %d: %s সক্রিয় সদস্য হয়েছে (স্তর ৩->সদস্য)\n", month, p->name);
            // পরিবারের সদস্যদের জানানো
            p->familyHasMember = true;
            if (p->familyHeadId != -1) {
                people[p->familyHeadId].familyHasMember = true;
            } else {
                // নিজে প্রধান, পুরো পরিবারের জন্য true
                for (int i = 1; i < p->familySize; i++) {
                    int midx = p->id -1 + i;
                    if (midx < MAX_PEOPLE) people[midx].familyHasMember = true;
                }
            }
        } else {
            printf("মাস %d: %s দায়িত্ব নিতে অস্বীকার করেছে\n", month, p->name);
        }
    }

    // মূল রিক্রুটমেন্ট ফাংশন (এক ব্যক্তির জন্য মাসিক প্রক্রিয়া)
    void recruit(Person people[], int count, int index, Organization *org, int month) {
        Person *p = &people[index];

        // ধাপ 0: সাধারণ মানুষ -> সাংস্কৃতিক প্রভাব
        if (p->stage == 0) {
            culturalOutreach(p, org, month);
        }
        // ধাপ 1: প্রভাবিত -> মতাদর্শ
        if (p->stage == 1) {
            ideologicalTraining(p, org, month);
        }
        // ধাপ 2: মতাদর্শ বিশ্বাসী -> শত্রুতা
        if (p->stage == 2) {
            createEnemyImage(p, org, month);
        }
        // ধাপ 3: শত্রুতা তৈরি -> সদস্য পদ
        if (p->stage == 3 && !p->isMember) {
            assignDuties(p, org, month);
        }

        // যদি সদস্য হয়, তবে মাস গোনা
        if (p->isMember) {
            p->monthsActive++;
        }
    }

    // এক মাসের সিমুলেশন
    void simulateMonth(Person people[], int count, Organization *org, int month) {
        // প্রথমে অর্থনৈতিক পরিবর্তন (এলোমেলোভাবে ক্ষোভ আপডেট)
        float economicIndex = 0.5 + (float)rand() / RAND_MAX * 0.2; // 0.5-0.7
        for (int i = 0; i < count; i++) {
            updateAnger(&people[i], economicIndex);
        }

        // সংগঠনের সম্পদ ও উপস্থিতি আপডেট (সদস্য সংখ্যার ভিত্তিতে)
        org->outreachCenters = 1 + org->memberCount / 20; // প্রতি ২০ সদস্যে ১টি সেন্টার
        org->socialMediaPresence = 1 + org->memberCount / 15; // প্রতি ১৫ সদস্যে ১ পয়েন্ট

        // সামাজিক মাধ্যম প্রচারণা
        socialMediaCampaign(people, count, org, month);

        // পরিবারের প্রভাব
        for (int i = 0; i < count; i++) {
            familyInfluence(people, count, i);
        }

        // প্রতিটি ব্যক্তির জন্য রিক্রুটমেন্ট প্রক্রিয়া চালানো
        for (int i = 0; i < count; i++) {
            // শুধুমাত্র হিন্দুদের উপর লক্ষ্য (সংগঠনের টার্গেট)
            if (strcmp(people[i].religion, "Hindu") != 0) continue;
            // যে ইতিমধ্যে সদস্য নয় বা stage 3-এ নয় কিন্তু সদস্য হতে পারে
            if (!people[i].isMember) {
                recruit(people, count, i, org, month);
            }
        }
    }

    void printPerson(Person p) {
        printf("ID:%d | %s | বয়স:%d | ধর্ম:%s | শিক্ষা:%s | বেকার:%s | আয়:%.1fk | ক্ষোভ:%s | সামাজিক মাধ্যম:%s | পরিবারে সদস্য:%s | স্তর:%d | সদস্য:%s | সক্রিয় মাস:%d\n",
               p.id, p.name, p.age, p.religion, eduLevelStr[p.education],
               p.isUnemployed ? "হ্যাঁ" : "না", p.income,
               p.isAngry ? "হ্যাঁ" : "না",
               p.usesSocialMedia ? "হ্যাঁ" : "না",
               p.familyHasMember ? "হ্যাঁ" : "না",
               p.stage,
               p.isMember ? "হ্যাঁ" : "না",
               p.monthsActive);
    }

    void printStatistics(Person people[], int count, Organization *org, int month) {
        int totalHindu = 0, totalMuslim = 0, totalChristian = 0;
        int hinduMembers = 0, muslimMembers = 0, christianMembers = 0;
        int stage1 = 0, stage2 = 0, stage3 = 0, members = 0;

        for (int i = 0; i < count; i++) {
            if (strcmp(people[i].religion, "Hindu") == 0) {
                totalHindu++;
                if (people[i].isMember) hinduMembers++;
            } else if (strcmp(people[i].religion, "Muslim") == 0) {
                totalMuslim++;
                if (people[i].isMember) muslimMembers++;
            } else if (strcmp(people[i].religion, "Christian") == 0) {
                totalChristian++;
                if (people[i].isMember) christianMembers++;
            }
            if (people[i].stage == 1) stage1++;
            else if (people[i].stage == 2) stage2++;
            else if (people[i].stage == 3 || people[i].isMember) stage3++;
            if (people[i].isMember) members++;
        }

        printf("মোট হিন্দু: %d, সদস্য: %d\n", totalHindu, hinduMembers);
        printf("মোট মুসলিম: %d, সদস্য: %d\n", totalMuslim, muslimMembers);
        printf("মোট খ্রিস্টান: %d, সদস্য: %d\n", totalChristian, christianMembers);
        printf("স্তর ১: %d, স্তর ২: %d, স্তর ৩/সদস্য: %d\n", stage1, stage2, stage3);
        printf("সংগঠনের তথ্য: সদস্য সংখ্যা %d, আউটরিচ সেন্টার %d, সোশ্যাল মিডিয়া উপস্থিতি %d\n",
               org->memberCount, org->outreachCenters, org->socialMediaPresence);
    }

    void saveResultsToCSV(Person people[], int count, int month) {
        char filename[50];
        sprintf(filename, "month_%02d.csv", month);
        FILE *fp = fopen(filename, "w");
        if (!fp) return;

        fprintf(fp, "ID,Name,Age,Religion,Education,Unemployed,Income,Angry,SocialMedia,FamilyHasMember,Stage,IsMember,MonthsActive\n");
        for (int i = 0; i < count; i++) {
            fprintf(fp, "%d,%s,%d,%s,%d,%d,%.2f,%d,%d,%d,%d,%d,%d\n",
                    people[i].id, people[i].name, people[i].age, people[i].religion,
                    people[i].education, people[i].isUnemployed, people[i].income,
                    people[i].isAngry, people[i].usesSocialMedia, people[i].familyHasMember,
                    people[i].stage, people[i].isMember, people[i].monthsActive);
        }
        fclose(fp);
    }
     
    কোড ব্যাখ্যা
    1. MAX_PEOPLE 100 করা হয়েছে –  বাস্তবসম্মত জনসংখ্যা।
    2. শিক্ষার স্তর enum – ILLITERATE থেকে POST_GRADUATE পর্যন্ত সূক্ষ্ম স্তর।
    3. পরিবার ব্যবস্থা – familyHeadId ও familySize দ্বারা পরিবারের কাঠামো তৈরি। familyHasMember ট্র্যাক করে পরিবারে কোনো সদস্য আছে কিনা।
    4. বন্ধু তালিকা – friends অ্যারে প্রতিটি ব্যক্তির পরিচিতজন সংরক্ষণ করে। সামাজিক মাধ্যম প্রচারণায় বন্ধুদের প্রভাব যুক্ত হয়েছে।
    5. সামাজিক মাধ্যম প্রচারণা – socialMediaCampaign() ফাংশন সংগঠনের পক্ষ থেকে মাসিক প্রচারণা চালায়। বন্ধুদের মধ্যে সদস্য থাকলে প্রভাব বাড়ে।
    6. পরিবারের প্রভাব – familyInfluence() ফাংশন পরিবারের সদস্যদের মাধ্যমে প্রভাব বিস্তার করে।
    7. আপডেট ক্ষোভ – updateAnger() অর্থনৈতিক অবস্থার সাথে সাথে ক্ষোভ পরিবর্তন করে।
    8. সংগঠনের তথ্য – Organization স্ট্রাকচার সদস্য সংখ্যা, তহবিল, আউটরিচ সেন্টার ও সোশ্যাল মিডিয়া উপস্থিতি ট্র্যাক করে। প্রতি মাসে সদস্য সংখ্যার ভিত্তিতে এগুলো বাড়ে।
    9. মাসিক সিমুলেশন – simulateMonth() প্রথমে অর্থনৈতিক অবস্থা আপডেট করে, তারপর সামাজিক মাধ্যম প্রচারণা, পরিবারের প্রভাব এবং প্রতিটি ব্যক্তির জন্য রিক্রুটমেন্ট প্রক্রিয়া চালায়।
    10. CSV আউটপুট – প্রতিটি মাস শেষে month_01.csv, month_02.csv ইত্যাদি ফাইলে ডাটা সংরক্ষণ করে, যা পরে স্প্রেডশিটে এনে বিশ্লেষণ করা যায়।
    11. পরিসংখ্যান – ধর্মভিত্তিক সদস্য সংখ্যাসহ নানা তথ্য প্রিন্ট করে।
    কীভাবে চালাবেন
    • কোডটি C কম্পাইলার দিয়ে কম্পাইল করুন (যেমন gcc program.c -o program -lm)।
    • রান করলে ১২ মাসের সিমুলেশন হবে এবং প্রতি মাসের পরিসংখ্যান দেখা যাবে।
    • CSV ফাইলগুলো চেক করুন।
    ফলাফল ও পর্যবেক্ষণ
    এই সিমুলেশন থেকে দেখা যাবে:
    • বেকার, ক্ষুব্ধ, কম শিক্ষিত হিন্দু তরুণরা সবচেয়ে বেশি রিক্রুট হচ্ছে।
    • পরিবারে সদস্য থাকলে অন্যদের রিক্রুট হওয়ার সম্ভাবনা বাড়ে।
    • সামাজিক মাধ্যমের প্রচারণা তরুণ প্রজন্মকে দ্রুত প্রভাবিত করছে।
    • সংখ্যালঘুদের  সদস্য হওয়ার সম্ভাবনা কমানো , কারণ সংগঠনের টার্গেট হিন্দু এবং তাদের প্রচার সংখ্যালঘুদের বিশ্বাসযোগ্য নয়।
    এটি একটি শিক্ষামূলক সিমুলেশন মডেল, বাস্তবতা পুরোপুরি প্রতিফলিত নাও করতে পারে, তবে হিন্দু মৌলবাদী সংগঠনগুলোর কৌশল বোঝার জন্য একটি ভালো উদাহরণ।
    ট্রাই করতে পারেন। 
  • albert banerjee | ১৩ ফেব্রুয়ারি ২০২৬ ২২:০৯746790
  • যদি আরো ভালো করে বোজতে চান 
    #include <stdio.h>
    #include <stdlib.h>
    #include <stdbool.h>

    // ---------- ধ্রুবকসমূহ ----------
    #define MAX_PEOPLE 1000
    #define MAX_MEMBERS 500
    #define ATTRITION_RATE 3      // ৩% (২.৫% টিউন করা যায়)
    #define REPRESSION_BASE 0.03   // দমনের বেস ফ্যাক্টর
    #define REPRESSION_THRESHOLD 8 // এই সংখ্যার বেশি সদস্য হলে দমন কার্যকর

    // শিক্ষার স্তর
    typedef enum {
        NO_EDUCATION,
        SCHOOL,
        GRADUATE
    } EducationLevel;

    // ব্যক্তির অবস্থা
    typedef struct {
        int id;
        bool isMember;
        int stage;               // 0: সাধারণ, 1: সক্রিয়, 2: প্রাক্তন
        int monthsActive;
        int friendCount;
        int *friends;            // বন্ধুদের আইডির অ্যারে
        bool isUnemployed;
        bool isAngry;
        EducationLevel education;
        // অন্যান্য প্রয়োজনীয় তথ্য
    } Person;

    // সংগঠন
    typedef struct {
        int memberIds[MAX_MEMBERS];
        int memberCount;
        float socialMediaPresence;  // 0.0 - 1.0
        int outreachCenters;
    } Organization;

    // ---------- ফাংশন প্রোটোটাইপ ----------
    float clamp(float value, float min, float max);
    float socialMediaCampaign(Person *people, int personIndex, Organization *org, float repression);
    bool familyInfluence(Person *people, int personIndex, float repression);
    float culturalOutreach(Person *p, Organization *org, float repression);
    float ideologicalTraining(Person *p, float repression);
    float createEnemyImage(Person *p, float repression);
    float assignDuties(Person *p, float repression);
    void simulateMonth(Person *people, int totalPeople, Organization *org);

    // ---------- প্রধান ফাংশন ----------
    int main() {
        // উদাহরণ ডেটা
        Person people[MAX_PEOPLE];
        Organization org = { .memberCount = 0, .socialMediaPresence = 0.5, .outreachCenters = 2 };
        
        // সিমুলেশন লুপ
        for (int month = 0; month < 12; month++) {
            simulateMonth(people, MAX_PEOPLE, &org);
        }
        return 0;
    }

    // ---------- ইউটিলিটি ফাংশন ----------
    float clamp(float value, float min, float max) {
        if (value < min) return min;
        if (value > max) return max;
        return value;
    }

    // ---------- রিক্রুটমেন্ট ফাংশনসমূহ ----------

    // সোশ্যাল মিডিয়া ক্যাম্পেইন
    float socialMediaCampaign(Person *people, int personIndex, Organization *org, float repression) {
        // বেস সম্ভাবনা: 0.008 + 0.008 * socialMediaPresence
        float baseProb = 0.008f + 0.008f * org->socialMediaPresence;
        float prob = baseProb;
        
        Person *p = &people[personIndex];
        // বন্ধুদের প্রভাব: প্রতি সদস্য বন্ধুর জন্য +0.05
        for (int f = 0; f < p->friendCount; f++) {
            int fid = p->friends[f];
            if (people[fid].isMember) {
                prob += 0.05f;
            }
        }
        // দমন প্রভাব বিয়োগ
        prob -= repression;
        return clamp(prob, 0.0f, 1.0f);
    }

    // পরিবারের প্রভাব
    bool familyInfluence(Person *people, int personIndex, float repression) {
        // এখানে সরাসরি bool ফেরত দেওয়া হচ্ছে (সফল/ব্যর্থ)
        // ধরে নিচ্ছি ফাংশনটি নির্দিষ্ট ব্যক্তির উপর পরিবারের প্রভাব বিস্তার করছে
        // দমন প্রভাব বিবেচনায় নেওয়া হচ্ছে
        float prob;
        Person *p = &people[personIndex];
        if (p->isMember) {
            prob = 12.0f; // ১২%
        } else {
            prob = 8.0f;  // ৮%
        }
        // দমন প্রভাব বিয়োগ (শতাংশ হিসেবে)
        prob -= repression * 100.0f;
        if (prob < 0) prob = 0;
        
        return (rand() % 100 < (int)prob);
    }

    // সাংস্কৃতিক প্রচারণা
    float culturalOutreach(Person *p, Organization *org, float repression) {
        // বেস: 0.025 + 0.015 * outreachCenters
        float base = 0.025f + 0.015f * org->outreachCenters;
        float prob = base;
        if (p->isUnemployed) prob += 0.08f;
        if (p->isAngry) prob += 0.12f;
        prob -= repression;
        return clamp(prob, 0.0f, 0.4f);  // সর্বোচ্চ ৪০%
    }

    // আদর্শগত প্রশিক্ষণ
    float ideologicalTraining(Person *p, float repression) {
        float prob = 0.28f; // ২৮% বেস
        if (p->education == GRADUATE) {
            prob -= 0.18f;   // শিক্ষিতরা কম প্রভাবিত
        }
        prob -= repression;
        return clamp(prob, 0.0f, 0.45f);
    }

    // শত্রুচিত্র নির্মাণ
    float createEnemyImage(Person *p, float repression) {
        float prob = 0.32f;
        prob -= repression;
        return clamp(prob, 0.0f, 0.5f);
    }

    // দায়িত্ব বণ্টন
    float assignDuties(Person *p, float repression) {
        float prob = 0.22f;
        prob -= repression;
        return clamp(prob, 0.0f, 0.4f);
    }

    // মাসিক সিমুলেশন
    void simulateMonth(Person *people, int totalPeople, Organization *org) {
        // ---------- সদস্য হ্রাস (Attrition) ----------
        for (int m = org->memberCount - 1; m >= 0; m--) {
            int idx = org->memberIds[m];
            // ৩% সম্ভাবনায় সদস্য পদ ছেড়ে দেয়
            if (rand() % 100 < ATTRITION_RATE) {
                people[idx].isMember = false;
                people[idx].stage = 2;   // প্রাক্তন
                people[idx].monthsActive = 0;
                
                // memberIds অ্যারে থেকে সরানো
                for (int k = m; k < org->memberCount - 1; k++) {
                    org->memberIds[k] = org->memberIds[k+1];
                }
                org->memberCount--;
            }
        }
        
        // ---------- দমন ফ্যাক্টর গণনা ----------
        float repression = 0.0f;
        if (org->memberCount > REPRESSION_THRESHOLD) {
            repression = REPRESSION_BASE * (org->memberCount / (float)REPRESSION_THRESHOLD);
        }
        
        // ---------- নতুন সদস্য সংগ্রহ (প্রত্যেক ব্যক্তির জন্য) ----------
        for (int i = 0; i < totalPeople; i++) {
            if (people[i].isMember) continue; // ইতিমধ্যে সদস্য
            
            float totalProb = 0.0f;
            
            // বিভিন্ন প্রচেষ্টা থেকে সম্ভাবনা সংগ্রহ
            totalProb += socialMediaCampaign(people, i, org, repression);
            if (familyInfluence(people, i, repression)) {
                // পরিবারের প্রভাব সরাসরি সিদ্ধান্ত নেয়, তাই আলাদা যোগ নয়
                // ধরে নিচ্ছি এটি সফল হলে সদস্য করা হবে
                people[i].isMember = true;
                people[i].stage = 1;
                people[i].monthsActive = 1;
                org->memberIds[org->memberCount++] = i;
                continue; // পরবর্তী ব্যক্তিতে চলে যান
            }
            totalProb += culturalOutreach(&people[i], org, repression);
            totalProb += ideologicalTraining(&people[i], repression);
            totalProb += createEnemyImage(&people[i], repression);
            totalProb += assignDuties(&people[i], repression);
            
            // গড় সম্ভাবনা (মোট প্রচেষ্টার সংখ্যা দিয়ে ভাগ) – অথবা অন্য কোনো নিয়ম
            // এখানে সরলতার জন্য আমরা একটি থ্রেশহোল্ড ব্যবহার করছি
            float avgProb = totalProb / 6.0f; // ৬টি ফাংশন (familyInfluence ছাড়া)
            if ((rand() % 1000) < (int)(avgProb * 1000)) {
                people[i].isMember = true;
                people[i].stage = 1;
                people[i].monthsActive = 1;
                org->memberIds[org->memberCount++] = i;
            }
        }
    }
     
    ব্যাখ্যা (Explanation)
    •  (#define): কোডের শুরুতে সব ম্যাজিক নাম্বারগুলো সংজ্ঞায়িত করা হয়েছে, যা পরিবর্তন সহজ করে।
    • এনাম ও স্ট্রাকচার: EducationLevel এবং Person স্ট্রাকচার ডেটা সংগঠিত রাখতে সাহায্য করে।
    • clamp ফাংশন: মান নির্দিষ্ট সীমার মধ্যে রাখে।
    • প্রত্যেক রিক্রুটমেন্ট ফাংশন: এখন repression প্যারামিটার নেয় এবং সম্ভাবনা থেকে তা বিয়োগ করে। আউটপুট clamp করা হয়।
    • familyInfluence: এটিকে বুলিয়ান ফাংশন বানানো হয়েছে, কারণ এটি সরাসরি সিদ্ধান্ত দেয় (অন্য ফাংশনের মতো সম্ভাবনা ফেরত না দিয়ে)।
    • simulateMonth:
      • প্রথমে attrition প্রক্রিয়া সম্পন্ন হয়।
      • তারপর repression ফ্যাক্টর গণনা করা হয়।
      • প্রতিটি অ-সদস্য ব্যক্তির জন্য বিভিন্ন প্রচেষ্টার সম্ভাবনা যোগ করে গড় বের করে সিদ্ধান্ত নেওয়া হয়।
  • albert banerjee | ১৩ ফেব্রুয়ারি ২০২৬ ২২:১২746791
  • বাস্তবতা: পশ্চিম বাংলায় - গ্রিভ্যান্স আছে, কিন্তু অর্গানাইজড এক্সট্রামিজম স্লো।
  • albert banerjee | ১৩ ফেব্রুয়ারি ২০২৬ ২২:২৬746792
  • ইসলামিক সিমুলেশন 
    // ─────────────────────────────────────────────── // নতুন/পরিবর্তিত স্ট্রাকচার ও ডিফাইন // ─────────────────────────────────────────────── typedef struct { int memberIds[MAX_PEOPLE]; int memberCount; float funds; int outreachCenters; // মাদ্রাসা/মক্তব/দাওয়াহ সেন্টার int socialMediaPresence; // Telegram/WhatsApp/YouTube int mosqueInfluence; // মসজিদ-কেন্দ্রিক প্রভাব (0-10) } IslamistOrganization; // নতুন গ্লোবাল IslamistOrganization islamistOrg = { .memberCount = 0, .funds = 80.0, .outreachCenters = 1, .socialMediaPresence = 1, .mosqueInfluence = 2 }; // ─────────────────────────────────────────────── // ইসলামিক সাইডের জন্য নতুন ফাংশনস // ─────────────────────────────────────────────── void islamist_dawah_outreach(Person *p, IslamistOrganization *org, int month) { if (strcmp(p->religion, "Muslim") != 0) return; float base = 0.03 + 0.015 * org->outreachCenters + 0.008 * org->mosqueInfluence; float prob = base; if (p->isUnemployed) prob += 0.07; if (p->isAngry) prob += 0.09; if (p->income < 4.0) prob += 0.05; if (p->education >= GRADUATE) prob -= 0.18; // উচ্চশিক্ষিতরা কম সহজে প্রভাবিত if (p->age > 45) prob -= 0.12; prob = clamp(prob, 0.0, 0.22); if ((float)rand() / RAND_MAX < prob) { p->isInfluenced = true; // আপনার আসল Person স্ট্রাকচার রিইউজ করা হচ্ছে p->stage = 1; // stage 1 = Dawah contact // printf("মাস %d: %s দাওয়াহ সংস্পর্শে এসেছে\n", month, p->name); } } void islamist_aqeedah_strengthening(Person *p, IslamistOrganization *org, int month) { if (p->stage != 1) return; float prob = 0.32; if (p->isAngry) prob += 0.08; if (p->education <= SECONDARY) prob += 0.10; if (p->education >= GRADUATE) prob -= 0.22; prob = clamp(prob, 0.0, 0.58); if ((float)rand() / RAND_MAX < prob) { p->stage = 2; // Aqeedah → Jihad consciousness // printf("মাস %d: %s আকিদা মজবুত হয়েছে\n", month, p->name); } } void islamist_jihad_consciousness(Person *p, IslamistOrganization *org, int month) { if (p->stage != 2) return; float prob = 0.40; if (org->socialMediaPresence >= 5) prob += 0.06; if (p->usesSocialMedia) prob += 0.05; prob = clamp(prob, 0.0, 0.65); if ((float)rand() / RAND_MAX < prob) { p->stage = 3; // printf("মাস %d: %s জিহাদী চেতনা তৈরি হয়েছে\n", month, p->name); } } void islamist_activist_assignment(Person *p, IslamistOrganization *org, int month) { if (p->stage != 3 || p->isMember) return; float prob = 0.38; if (p->age < 30) prob += 0.07; if (p->isUnemployed) prob += 0.06; prob = clamp(prob, 0.0, 0.62); if ((float)rand() / RAND_MAX < prob) { p->isMember = true; p->monthsActive = 0; org->memberIds[org->memberCount++] = p->id - 1; // printf("মাস %d: %s সক্রিয় কর্মী হয়েছে\n", month, p->name); // ফান্ড ও প্রভাব বাড়ানো org->funds += 2.5; org->mosqueInfluence = 2 + org->memberCount / 12; } } //
     // মাসিক ইসলামিক সিমুলেশন  //
     void simulateIslamistMonth(Person people[], int count, IslamistOrganization *org, int month) { // অর্গানাইজেশন স্কেলিং org->outreachCenters = 1 + org->memberCount / 28; org->socialMediaPresence = 1 + org->memberCount / 18; org->mosqueInfluence = 2 + org->memberCount / 15; float repression = (org->memberCount > 15) ? 0.65 : 1.0; // দাওয়াহ → মূল প্রবেশপথ for (int i = 0; i < count; i++) { if (strcmp(people[i].religion, "Muslim") == 0 && !people[i].isMember) { islamist_dawah_outreach(&people[i], org, month); } } // পরবর্তী স্টেজ for (int i = 0; i < count; i++) { Person *p = &people[i]; if (strcmp(p->religion, "Muslim") != 0 || p->isMember) continue; if (p->stage == 1) islamist_aqeedah_strengthening(p, org, month); if (p->stage == 2) islamist_jihad_consciousness(p, org, month); if (p->stage == 3) islamist_activist_assignment(p, org, month); // অ্যাট্রিশন (ইসলামিক সাইডে কিছুটা কম) if (p->isMember && (rand() % 100 < 2.2)) { p->isMember = false; p->stage = (p->stage > 0) ? p->stage - 1 : 0; org->memberCount--; } // রিপ্রেশন অ্যাপ্লাই (প্রবাবিলিটি কমানো) // আপনি চাইলে প্রত্যেক prob *= repression; যোগ করতে পারেন } // ফ্যামিলি ইনফ্লুয়েন্স (ইসলামিক সাইডে কিছুটা বেশি) for (int i = 0; i < count; i++) { if (strcmp(people[i].religion, "Muslim") == 0 && people[i].isMember) { // আপনার familyInfluence ফাংশনকে মডিফাই করে 0.18 প্রবাবিলিটি } } } // ─────────────────────────────────────────────── // main()-এ যোগ করার অংশ (উদাহরণ) // ─────────────────────────────────────────────── // ... আপনার হিন্দু সিমুলেশনের পর ... printf("\n========== ইসলামিক মিরর সিমুলেশন শুরু ==========\n"); // ইনিশিয়াল ২-৩ সীড মেম্বার (ইসলামিক সাইড) for (int i = 0; i < 2; i++) { int idx = rand() % MAX_PEOPLE; while (strcmp(people[idx].religion, "Muslim") != 0) { idx = rand() % MAX_PEOPLE; } people[idx].isMember = true; people[idx].stage = 3; people[idx].monthsActive = 10; islamistOrg.memberIds[islamistOrg.memberCount++] = idx; } for (int month = 1; month <= 12; month++) { simulateIslamistMonth(people, MAX_PEOPLE, &islamistOrg, month); // স্ট্যাটিসটিক্স প্রিন্ট (আপনার printStatistics-এর মতো একটা ফাংশন বানান) int muslimMembers = 0; for (int j = 0; j < MAX_PEOPLE; j++) { if (strcmp(people[j].religion, "Muslim") == 0 && people[j].isMember) muslimMembers++; } printf("মাস %2d | মুসলিম সদস্য: %2d / %d মুসলিম\n", month, muslimMembers, totalMuslim); }
    চালিয়ে খেলুনঃ পাশে আছি 
  • albert banerjee | ১৩ ফেব্রুয়ারি ২০২৬ ২২:৩০746793
  • ইসলামিক সাইডের গ্রোথ ধীর কারণ:
    • রাষ্ট্রীয় নজরদারি বেশি
    • WB-তে সালাফি/জিহাদি নেটওয়ার্ক তুলনামূলকভাবে ছোট
  • দীপ | 2402:3a80:198f:2ed1:878:5634:1232:***:*** | ১৩ ফেব্রুয়ারি ২০২৬ ২৩:০৩746794
  • কতোবড় উন্মাদ ছাগল হলে এইভাবে স্প্যাম করতে থাকে!
  • মতামত দিন
  • বিষয়বস্তু*:
  • কি, কেন, ইত্যাদি
  • বাজার অর্থনীতির ধরাবাঁধা খাদ্য-খাদক সম্পর্কের বাইরে বেরিয়ে এসে এমন এক আস্তানা বানাব আমরা, যেখানে ক্রমশ: মুছে যাবে লেখক ও পাঠকের বিস্তীর্ণ ব্যবধান। পাঠকই লেখক হবে, মিডিয়ার জগতে থাকবেনা কোন ব্যকরণশিক্ষক, ক্লাসরুমে থাকবেনা মিডিয়ার মাস্টারমশাইয়ের জন্য কোন বিশেষ প্ল্যাটফর্ম। এসব আদৌ হবে কিনা, গুরুচণ্ডালি টিকবে কিনা, সে পরের কথা, কিন্তু দু পা ফেলে দেখতে দোষ কী? ... আরও ...
  • আমাদের কথা
  • আপনি কি কম্পিউটার স্যাভি? সারাদিন মেশিনের সামনে বসে থেকে আপনার ঘাড়ে পিঠে কি স্পন্ডেলাইটিস আর চোখে পুরু অ্যান্টিগ্লেয়ার হাইপাওয়ার চশমা? এন্টার মেরে মেরে ডান হাতের কড়ি আঙুলে কি কড়া পড়ে গেছে? আপনি কি অন্তর্জালের গোলকধাঁধায় পথ হারাইয়াছেন? সাইট থেকে সাইটান্তরে বাঁদরলাফ দিয়ে দিয়ে আপনি কি ক্লান্ত? বিরাট অঙ্কের টেলিফোন বিল কি জীবন থেকে সব সুখ কেড়ে নিচ্ছে? আপনার দুশ্‌চিন্তার দিন শেষ হল। ... আরও ...
  • বুলবুলভাজা
  • এ হল ক্ষমতাহীনের মিডিয়া। গাঁয়ে মানেনা আপনি মোড়ল যখন নিজের ঢাক নিজে পেটায়, তখন তাকেই বলে হরিদাস পালের বুলবুলভাজা। পড়তে থাকুন রোজরোজ। দু-পয়সা দিতে পারেন আপনিও, কারণ ক্ষমতাহীন মানেই অক্ষম নয়। বুলবুলভাজায় বাছাই করা সম্পাদিত লেখা প্রকাশিত হয়। এখানে লেখা দিতে হলে লেখাটি ইমেইল করুন, বা, গুরুচন্ডা৯ ব্লগ (হরিদাস পাল) বা অন্য কোথাও লেখা থাকলে সেই ওয়েব ঠিকানা পাঠান (ইমেইল ঠিকানা পাতার নীচে আছে), অনুমোদিত এবং সম্পাদিত হলে লেখা এখানে প্রকাশিত হবে। ... আরও ...
  • হরিদাস পালেরা
  • এটি একটি খোলা পাতা, যাকে আমরা ব্লগ বলে থাকি। গুরুচন্ডালির সম্পাদকমন্ডলীর হস্তক্ষেপ ছাড়াই, স্বীকৃত ব্যবহারকারীরা এখানে নিজের লেখা লিখতে পারেন। সেটি গুরুচন্ডালি সাইটে দেখা যাবে। খুলে ফেলুন আপনার নিজের বাংলা ব্লগ, হয়ে উঠুন একমেবাদ্বিতীয়ম হরিদাস পাল, এ সুযোগ পাবেন না আর, দেখে যান নিজের চোখে...... আরও ...
  • টইপত্তর
  • নতুন কোনো বই পড়ছেন? সদ্য দেখা কোনো সিনেমা নিয়ে আলোচনার জায়গা খুঁজছেন? নতুন কোনো অ্যালবাম কানে লেগে আছে এখনও? সবাইকে জানান। এখনই। ভালো লাগলে হাত খুলে প্রশংসা করুন। খারাপ লাগলে চুটিয়ে গাল দিন। জ্ঞানের কথা বলার হলে গুরুগম্ভীর প্রবন্ধ ফাঁদুন। হাসুন কাঁদুন তক্কো করুন। স্রেফ এই কারণেই এই সাইটে আছে আমাদের বিভাগ টইপত্তর। ... আরও ...
  • ভাটিয়া৯
  • যে যা খুশি লিখবেন৷ লিখবেন এবং পোস্ট করবেন৷ তৎক্ষণাৎ তা উঠে যাবে এই পাতায়৷ এখানে এডিটিং এর রক্তচক্ষু নেই, সেন্সরশিপের ঝামেলা নেই৷ এখানে কোনো ভান নেই, সাজিয়ে গুছিয়ে লেখা তৈরি করার কোনো ঝকমারি নেই৷ সাজানো বাগান নয়, আসুন তৈরি করি ফুল ফল ও বুনো আগাছায় ভরে থাকা এক নিজস্ব চারণভূমি৷ আসুন, গড়ে তুলি এক আড়ালহীন কমিউনিটি ... আরও ...
গুরুচণ্ডা৯-র সম্পাদিত বিভাগের যে কোনো লেখা অথবা লেখার অংশবিশেষ অন্যত্র প্রকাশ করার আগে গুরুচণ্ডা৯-র লিখিত অনুমতি নেওয়া আবশ্যক। অসম্পাদিত বিভাগের লেখা প্রকাশের সময় গুরুতে প্রকাশের উল্লেখ আমরা পারস্পরিক সৌজন্যের প্রকাশ হিসেবে অনুরোধ করি। যোগাযোগ করুন, লেখা পাঠান এই ঠিকানায় : guruchandali@gmail.com ।


মে ১৩, ২০১৪ থেকে সাইটটি বার পঠিত
পড়েই ক্ষান্ত দেবেন না। ঝপাঝপ মতামত দিন