Browse Source

score component values

pull/8/head
Tim Glasgow 2 years ago
parent
commit
6bd822948b
  1. 43
      squarenotsquare/src/screens/Score.js

43
squarenotsquare/src/screens/Score.js

@ -1,17 +1,50 @@
import React, { useEffect } from "react";
import React, { useEffect, useRef } from "react";
import { useSelector } from "react-redux";
import { BackHandler, SafeAreaView, Text, TouchableOpacity, View } from "react-native";
import { styles } from './styles/AppStyles';
import Slider from "../components/Slider";
import { useDispatch } from "react-redux";
import {goHome, goToScores} from '../redux/actions/SystemActions';
function Score(){
function Score(props){
const dispatch = useDispatch();
const userRedux = useSelector((state) => state.user);
const timerScore = useRef(calculateTimerScore());
const answerScore = useRef(calculateAnswerScore());
const finalScore = useRef(calculateFinalScore(timerScore.current, answerScore.current));
useEffect(() => {
BackHandler.addEventListener('hardwareBackPress', () => {return true});
}, [])
function calculateTimerScore(user = userRedux){
if (user !== null){
let score = (60 - user.lastGameTime);
if (score < 0) {
return 0;
} else {
return score;
}
} else {
return 0;
}
}
function calculateAnswerScore(user = userRedux) {
if (user !== null) {
let score = (user.lastGameAnswers * 1000);
return score;
} else {
return 0;
}
}
function calculateFinalScore(timerScore, answerScore) {
let score = timerScore + answerScore;
return score;
}
function onPressMainMenu(){
dispatch(goHome());
}
@ -30,7 +63,7 @@ function Score(){
TIME
</Text>
<Text style={[styles.darkText, styles.mediumFont, styles.boldText, styles.centeredText]}>
{'(60 - 9.500) X 1000 = 50500'}
{'(60 - ' + userRedux.lastGameTime + ') X 1000 = ' + timerScore.current}
</Text>
</Slider>
<Slider origin={400} duration={750} delay={1000}>
@ -38,7 +71,7 @@ function Score(){
ANSWERS
</Text>
<Text style={[styles.darkText, styles.mediumFont, styles.boldText, styles.centeredText]}>
{'20 X 1000 = 20000'}
{'('+ userRedux.lastGameAnswers + ') X 1000 = ' + answerScore.current}
</Text>
</Slider>
@ -47,7 +80,7 @@ function Score(){
TOTAL
</Text>
<Text style={[styles.darkText, styles.mediumFont, styles.boldText, styles.centeredText]}>
{'70500'}
{finalScore.current}
</Text>
</Slider>
</View>

Loading…
Cancel
Save