diff --git a/squarenotsquare/src/screens/Score.js b/squarenotsquare/src/screens/Score.js index 2ed3d13..72f2bf3 100644 --- a/squarenotsquare/src/screens/Score.js +++ b/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 - {'(60 - 9.500) X 1000 = 50500'} + {'(60 - ' + userRedux.lastGameTime + ') X 1000 = ' + timerScore.current} @@ -38,7 +71,7 @@ function Score(){ ANSWERS - {'20 X 1000 = 20000'} + {'('+ userRedux.lastGameAnswers + ') X 1000 = ' + answerScore.current} @@ -47,7 +80,7 @@ function Score(){ TOTAL - {'70500'} + {finalScore.current}