App.js:
import React, {
useState
} from 'react'
import {
Text,
View,
Image,
TouchableOpacity,
StyleSheet,
StatusBar,
Pressable,
ScrollView
} from 'react-native'
import DiceOne from './assets/dice1.png'
import DiceTwo from './assets/dice2.png'
import DiceThree from './assets/dice3.png'
import DiceFour from './assets/dice4.png'
import DiceFive from './assets/dice5.png'
import DiceSix from './assets/dice6.png'
const App = () => {
const [uri1, setUri1] = useState(DiceOne);
const [uri2, setUri2] = useState(DiceOne);
const [uri3, setUri3] = useState(DiceOne);
const [uri4, setUri4] = useState(DiceOne);
function apply(i,diceNo){
if(i==0){
setUri1(diceNo);
}else if(i==1){
setUri2(diceNo);
}else if(i==2){
setUri3(diceNo);
}else if(i==3){
setUri4(diceNo);
}
}
const playButtonTapped = () => {
for(let i=0;i<4;i++)
{
let randomNumber = Math.floor(Math.random() * 6) + 1;
switch (randomNumber) {
case 1:
apply(i,DiceOne);
break;
case 2:
setUri1(DiceTwo);
break;
case 3:
apply(i,DiceThree);
break;
case 4:
apply(i,DiceFour);
break;
case 5:
apply(i,DiceFive);
break;
case 6:
apply(i,DiceSix);
break;
default:
apply(i,DiceOne);
}
}
}
return(
<>
<StatusBar backgroundColor="#222831"/>
<ScrollView contentContainerStyle={{flexGrow : 1, justifyContent : 'center',alignItems:'center'}} style={styles.container}>
<Text style={styles.gamePlayButton}> Dice Roller App For 4 Players </Text>
<Pressable onPress={playButtonTapped}>
<Text style={styles.gamePlayButton}> Player 1 </Text>
<Image style={styles.image} source={uri1} />
<Text style={styles.gamePlayButton}> Player 2 </Text>
<Image style={styles.image} source={uri2} />
<Text style={styles.gamePlayButton}> Player 3 </Text>
<Image style={styles.image} source={uri3} />
<Text style={styles.gamePlayButton}> Player 4 </Text>
<Image style={styles.image} source={uri4} />
</Pressable>
</ScrollView>
</>
);
}
export default App;
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: "#222831",
},
image: {
width: 200,
height: 200,
},
gamePlayButton: {
fontSize: 20,
marginTop: 30,
color: "#F2A365",
paddingHorizontal: 40,
paddingVertical: 10,
borderColor: "#30475E",
borderRadius: 5,
borderWidth: 3,
fontWeight: "bold",
}
});
Output: