Minimum result genarate

 Here's how you can implement the logic in PHP:


### **PHP Code Implementation:**


```php

<?php


// Sample results array

$results = ["JS", "JC", "JD", "JH", "QS", "QC", "QD", "QH", "KS", "KC", "KD", "KH"];


// Function to simulate getting result based on gameId (for demo purposes)

function getResultBasedOnGameId($gameId) {

    // This is just a placeholder. Replace with actual logic.

    $gameResultMap = [

        101 => "JS",

        102 => "QC",

        103 => "KD"

    ];

    

    return isset($gameResultMap[$gameId]) ? $gameResultMap[$gameId] : null;

}


// Function to get the minimum bid amount result (for demo purposes)

function getMinimumBidResult($gameId, $jodiBids) {

    $filteredBids = array_filter($jodiBids, function($bid) use ($gameId) {

        return $bid[0] == $gameId;

    });


    if (!empty($filteredBids)) {

        $minBid = array_reduce($filteredBids, function($carry, $item) {

            return ($carry === null || $item[1] < $carry[1]) ? $item : $carry;

        });


        return $minBid[2]; // Return the result associated with the minimum bid

    }


    return null;

}


// Function to generate a random unique result based on last 2 results

function getRandomUniqueResult($lastTwoResults, $results) {

    $possibleResults = array_diff($results, $lastTwoResults);

    return $possibleResults[array_rand($possibleResults)];

}


// Main function

function determineResult($gameId, $jodiBids, $lastTwoResults) {

    global $results;


    // Step 1: Check if there is a specific result for the gameId

    $result = getResultBasedOnGameId($gameId);

    if ($result !== null) {

        return $result;

    }


    // Step 2: Check if there is any Jodi bid for the gameId

    $result = getMinimumBidResult($gameId, $jodiBids);

    if ($result !== null) {

        return $result;

    }


    // Step 3: Return a random unique result based on last 2 results

    return getRandomUniqueResult($lastTwoResults, $results);

}


// Example Usage

$gameId = 104;

$jodiBids = [

    [104, 100, "JC"],

    [104, 50, "QC"],

    [104, 150, "KS"]

];

$lastTwoResults = ["JS", "KC"];


$result = determineResult($gameId, $jodiBids, $lastTwoResults);

echo "Determined Result: " . $result;

```


### **Explanation:**


1. **getResultBasedOnGameId($gameId):**

   - This function simulates fetching a specific result based on the `gameId`. You'd replace the `$gameResultMap` array with actual logic that fetches results from a database or other source.


2. **getMinimumBidResult($gameId, $jodiBids):**

   - Filters the bids to those matching the `gameId` and returns the result with the lowest bid amount.


3. **getRandomUniqueResult($lastTwoResults, $results):**

   - Excludes the last two results and picks a random result from the remaining possible results.


4. **determineResult($gameId, $jodiBids, $lastTwoResults):**

   - This is the main function that checks the conditions in sequence and returns the appropriate result.


### **How It Works:**

- If there's a direct result tied to `gameId`, it's returned.

- If not, it checks if any bids exist and returns the one with the lowest amount.

- If neither condition is met, a random result is chosen, ensuring it's not one of the last two results.


This PHP function mirrors the logic you requested, providing a structured approach to determine the result based on the given conditions.



Code Adjustment for First-Time Scenario:

function determineResult($gameId, $jodiBids, $lastTwoResults) {

    global $results;


    // Step 1: Check if there is a specific result for the gameId

    $result = getResultBasedOnGameId($gameId);

    if ($result !== null) {

        return $result;

    }


    // Step 2: Check if there is any Jodi bid for the gameId

    $result = getMinimumBidResult($gameId, $jodiBids);

    if ($result !== null) {

        return $result;

    }


    // Step 3: Return a random unique result based on last 2 results

    // If it's the first time and lastTwoResults is empty, pick any random result

    if (empty($lastTwoResults)) {

        return $results[array_rand($results)];

    } else {

        return getRandomUniqueResult($lastTwoResults

, $results);

    }

}



$gameId = 104;

$jodiBids = []; // No bids

$lastTwoResults = []; // No previous results


$result = determineResult($gameId, $jodiBids, $lastTwoResults);

echo "Determined Result: " . $resu

lt;

Previous
Next Post »