Copy and Paste  -   An Application to Copy/Paste Text  

 
S.No 5857 Name ARCode Date/Time 17-Nov-2023 02:55:42 PM

Copy text from below
import React, { useState } from 'react';
import { View, Text, TouchableOpacity, StyleSheet } from 'react-native';

const CricketGame = () => {
  const players = ['Player 1', 'Player 2', 'Player 3'];
  const targetScore = 30;

  const [scores, setScores] = useState({});
  const [turns, setTurns] = useState({});
  const [gameOver, setGameOver] = useState(false);
  const [currentTurn, setCurrentTurn] = useState(0);

  const playTurn = (playerIndex) => {
    if (gameOver || playerIndex !== currentTurn) return;

    const score = Math.floor(Math.random() * 6) + 1;
    const currentPlayer = players[playerIndex];

   


    const updatedScores = {
      ...scores,
      [currentPlayer]: (scores[currentPlayer] || 0) + score,
    };



    const updatedTurns = {
      ...turns,
      [currentPlayer]: (turns[currentPlayer] || 0) + 1,
    };

    setScores(updatedScores);
    setTurns(updatedTurns);

    if (updatedScores[currentPlayer] >= targetScore) {
      // Game over, show match summary
      showMatchSummary(updatedScores, updatedTurns);
    } else {
      // Move to the next player's turn
      setCurrentTurn((currentTurn + 1) % players.length);
    }
  };

  const showMatchSummary = (updatedScores, updatedTurns) => {
    setScores(updatedScores);
    setTurns(updatedTurns);
    setGameOver(true);
  };

  const getOrdinalSuffix = (number) => {
    const suffixes = ['st', 'nd', 'rd'];
    const v = number % 100;
    return number + (suffixes[(v - 20) % 10] || suffixes[v] || 'th');
  };

  return (
    <View style={styles.container}>
      {players.map((player, index) => (
        <TouchableOpacity
          key={player}
          style={[styles.button, { backgroundColor: index === currentTurn ? 'lightblue' : 'gray' }]}
          onPress={() => playTurn(index)}
          disabled={gameOver || scores[player] >= targetScore || currentTurn !== index}
        >
          <Text>{`${player}'s Turn\nScore: ${scores[player] || 0}\n${turns[player] || 0} Turns`}</Text>
        </TouchableOpacity>
      ))}
      <Text style={styles.targetScore}>{`Target Score: ${targetScore}`}</Text>

      {/* Display match summary if the game is over */}
      {gameOver && (
        <Text>{`Match Summary\n${Object.keys(scores)
          .sort((a, b) => scores[b] - scores[a])
          .map((player, index) => `${getOrdinalSuffix(index + 1)}: ${player}, Score: ${scores[player]}, No of Turns: ${turns[player]}`)
          .join('\n')}`}</Text>
      )}
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
  },
  button: {
    padding: 10,
    margin: 10,
  },
  targetScore: {
    marginTop: 20,
  },
});

export default CricketGame;




comments powered by Disqus
NEW ENTRIES
S.No Name Entry Time/Date
5630 Test 8 Mar 3 02-Mar-2023 09:45:38 PM
5629 Test 3 Mar 3 02-Mar-2023 09:39:33 PM
5628 Test 2 Mar 3 02-Mar-2023 09:34:35 PM
5627 Test 1 Mar 3 02-Mar-2023 09:31:07 PM
5626 Test 8 Mar 2 01-Mar-2023 07:58:21 PM
5625 Test 3 Mar 2 01-Mar-2023 07:57:36 PM
5624 Test 2 Mar 2 01-Mar-2023 07:56:55 PM
5623 Test 1 Mar 2 01-Mar-2023 07:56:17 PM
5622 MET March 1 28-Feb-2023 09:28:19 PM
5621 Test 5 Mar1 28-Feb-2023 09:24:26 PM
5620 Test3 Mar 1 28-Feb-2023 09:21:50 PM
5619 Test2 March1 28-Feb-2023 09:16:47 PM
5618 Test 1 Mar1 28-Feb-2023 08:35:23 PM
5617 Test 2 F28 28-Feb-2023 10:33:02 AM
5616 Test 2 Feb28 28-Feb-2023 10:22:59 AM
5615 SEXY HOT 28-Feb-2023 08:45:07 AM
5614 Test 1 Feb28 27-Feb-2023 09:41:28 PM
5613 PHD 24-Feb-2023 10:41:13 AM
5612 Test1 Feb24 23-Feb-2023 10:07:55 PM
5611 PHD 23-Feb-2023 06:39:41 PM
5610 online test 23-Feb-2023 10:37:21 AM
5609 MET 23 FEB 23-Feb-2023 10:04:42 AM
5608 Test 1 Feb23 22-Feb-2023 11:21:15 PM
5607 Test1Feb22 21-Feb-2023 03:12:58 PM
5606 PPSL 21-Feb-2023 03:11:57 PM
5605 PNG 21-Feb-2023 03:11:39 PM
5604 PCB 21-Feb-2023 03:11:28 PM
5603 PAK 21-Feb-2023 03:11:19 PM
5602 PPG 21-Feb-2023 03:11:03 PM
5601 PQR 21-Feb-2023 03:10:54 PM

[First] [Prev] 11 | 12 [Next] [Last]
 
web counter
web counter


To report any error messages or bugs, or other issues, please send email at: info@pakproject.com