├── .settings ├── org.eclipse.wst.jsdt.ui.superType.name ├── org.eclipse.wst.jsdt.ui.superType.container ├── org.eclipse.core.resources.prefs ├── org.eclipse.wst.common.project.facet.core.xml ├── org.eclipse.wst.common.component ├── org.eclipse.jdt.core.prefs └── .jsdtscope ├── src └── main │ ├── webapp │ ├── META-INF │ │ └── MANIFEST.MF │ ├── sudo.png │ ├── images │ │ ├── img-1.png │ │ ├── img-2.png │ │ ├── img-3.png │ │ ├── img-4.png │ │ ├── img-5.png │ │ ├── img-6.png │ │ ├── img-7.png │ │ ├── img-8.png │ │ └── que_icon.svg │ ├── jspcode.jsp │ ├── index.js │ ├── index.html │ ├── WEB-INF │ │ └── web.xml │ ├── Gp.css │ ├── Gp.js │ ├── index.css │ └── Gp.html │ └── java │ ├── model │ ├── log_model.java │ └── Reg_model.java │ ├── controller │ ├── Reg_control.java │ └── login_controller.java │ └── servlet │ ├── Reg_serv.java │ └── Log_serv.java ├── .classpath └── .project /.settings/org.eclipse.wst.jsdt.ui.superType.name: -------------------------------------------------------------------------------- 1 | Window -------------------------------------------------------------------------------- /src/main/webapp/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.container: -------------------------------------------------------------------------------- 1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary -------------------------------------------------------------------------------- /src/main/webapp/sudo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k7003hari/elite-memory/HEAD/src/main/webapp/sudo.png -------------------------------------------------------------------------------- /src/main/webapp/images/img-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k7003hari/elite-memory/HEAD/src/main/webapp/images/img-1.png -------------------------------------------------------------------------------- /src/main/webapp/images/img-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k7003hari/elite-memory/HEAD/src/main/webapp/images/img-2.png -------------------------------------------------------------------------------- /src/main/webapp/images/img-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k7003hari/elite-memory/HEAD/src/main/webapp/images/img-3.png -------------------------------------------------------------------------------- /src/main/webapp/images/img-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k7003hari/elite-memory/HEAD/src/main/webapp/images/img-4.png -------------------------------------------------------------------------------- /src/main/webapp/images/img-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k7003hari/elite-memory/HEAD/src/main/webapp/images/img-5.png -------------------------------------------------------------------------------- /src/main/webapp/images/img-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k7003hari/elite-memory/HEAD/src/main/webapp/images/img-6.png -------------------------------------------------------------------------------- /src/main/webapp/images/img-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k7003hari/elite-memory/HEAD/src/main/webapp/images/img-7.png -------------------------------------------------------------------------------- /src/main/webapp/images/img-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k7003hari/elite-memory/HEAD/src/main/webapp/images/img-8.png -------------------------------------------------------------------------------- /.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/main/webapp/Gp.html=UTF-8 3 | encoding/=UTF-8 4 | -------------------------------------------------------------------------------- /src/main/webapp/jspcode.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 2 | pageEncoding="ISO-8859-1"%> 3 | 4 | 5 | 6 | 7 | Insert title here 8 | <% for(int i=1;i<5;i++) {%> 9 |

Hello

10 | <% } %> 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/main/java/model/log_model.java: -------------------------------------------------------------------------------- 1 | package model; 2 | 3 | public class log_model { 4 | private String username; 5 | private String password; 6 | public String getUname() { 7 | return username; 8 | } 9 | public String getPass() { 10 | return password; 11 | } 12 | public void setUname(String username) { 13 | this.username=username; 14 | } 15 | public void setPass(String password) { 16 | this.password=password; 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.component: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 4 | org.eclipse.jdt.core.compiler.compliance=17 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled 7 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 8 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning 9 | org.eclipse.jdt.core.compiler.release=enabled 10 | org.eclipse.jdt.core.compiler.source=17 11 | -------------------------------------------------------------------------------- /.settings/.jsdtscope: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/webapp/images/que_icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/java/model/Reg_model.java: -------------------------------------------------------------------------------- 1 | package model; 2 | 3 | public class Reg_model { 4 | private String username; 5 | private String Email; 6 | private String password; 7 | private String PhoneNo; 8 | public String getUname() { 9 | return username; 10 | } 11 | public String getEmail() { 12 | return Email; 13 | } 14 | public String getpassword() { 15 | return password; 16 | } 17 | public String getPhoneNo() { 18 | return PhoneNo; 19 | } 20 | public void setUname(String username) { 21 | this.username=username; 22 | } 23 | public void setEmail(String Email) { 24 | this.Email=Email; 25 | } 26 | public void setpassword(String password) { 27 | this.password=password; 28 | } 29 | public void setPhoneNo(String PhoneNo) { 30 | this.PhoneNo=PhoneNo; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/webapp/index.js: -------------------------------------------------------------------------------- 1 | function toggleSignup(){ 2 | document.getElementById("login-toggle").style.backgroundColor="#fff"; 3 | document.getElementById("login-toggle").style.color="#222"; 4 | document.getElementById("signup-toggle").style.backgroundColor="#57b846"; 5 | document.getElementById("signup-toggle").style.color="#fff"; 6 | document.getElementById("login-form").style.display="none"; 7 | document.getElementById("signup-form").style.display="block"; 8 | } 9 | 10 | function toggleLogin(){ 11 | document.getElementById("login-toggle").style.backgroundColor="#57B846"; 12 | document.getElementById("login-toggle").style.color="#fff"; 13 | document.getElementById("signup-toggle").style.backgroundColor="#fff"; 14 | document.getElementById("signup-toggle").style.color="#222"; 15 | document.getElementById("signup-form").style.display="none"; 16 | document.getElementById("login-form").style.display="block"; 17 | } 18 | -------------------------------------------------------------------------------- /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Online_portal 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.wst.common.project.facet.core.builder 15 | 16 | 17 | 18 | 19 | org.eclipse.wst.validation.validationbuilder 20 | 21 | 22 | 23 | 24 | 25 | org.eclipse.jem.workbench.JavaEMFNature 26 | org.eclipse.wst.common.modulecore.ModuleCoreNature 27 | org.eclipse.wst.common.project.facet.core.nature 28 | org.eclipse.jdt.core.javanature 29 | org.eclipse.wst.jsdt.core.jsNature 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/main/java/controller/Reg_control.java: -------------------------------------------------------------------------------- 1 | package controller; 2 | 3 | import java.sql.Connection; 4 | import java.sql.DriverManager; 5 | import java.sql.SQLException; 6 | import java.sql.Statement; 7 | 8 | import model.Reg_model; 9 | 10 | public class Reg_control { 11 | static String dbUrl="jdbc:mysql://localhost:3306/onlinesite"; 12 | static String dbname="root"; 13 | static String dbpass=""; 14 | static String dbDriver="com.mysql.cj.jdbc.Driver"; 15 | Reg_model model; 16 | public Reg_control(Reg_model model) { 17 | this.model=model; 18 | } 19 | public boolean toStore() { 20 | try { 21 | Class.forName(dbDriver); 22 | Connection con =DriverManager.getConnection(dbUrl,dbname,dbpass); 23 | String sql="insert into entry values('"+model.getUname()+"','"+model.getEmail()+"','"+model.getpassword()+"','"+model.getPhoneNo()+"')"; 24 | Statement s =con.createStatement(); 25 | s.execute(sql); 26 | con.close(); 27 | } 28 | catch (ClassNotFoundException | SQLException e) { 29 | e.printStackTrace(); 30 | } 31 | return true; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/controller/login_controller.java: -------------------------------------------------------------------------------- 1 | package controller; 2 | import java.sql.Connection; 3 | import java.sql.DriverManager; 4 | import java.sql.ResultSet; 5 | import java.sql.Statement; 6 | 7 | import model.log_model; 8 | 9 | public class login_controller { 10 | static String dbUrl="jdbc:mysql://localhost:3306/onlinesite"; 11 | static String dbName="root"; 12 | static String dbPass=""; 13 | static String dbDriver="com.mysql.cj.jdbc.Driver"; 14 | log_model model; 15 | public login_controller(log_model model) { 16 | this.model=model; 17 | } 18 | public boolean check() { 19 | try { 20 | Class.forName(dbDriver); 21 | Connection con=DriverManager.getConnection(dbUrl,dbName,dbPass); 22 | String sql="SELECT * FROM entry WHERE username='"+model.getUname()+"' and password='"+model.getPass()+"'"; 23 | Statement s=con.createStatement(); 24 | ResultSet res=s.executeQuery(sql); 25 | if(res.next()) { 26 | return true; 27 | } 28 | con.close(); 29 | } 30 | catch(Exception e) { 31 | e.printStackTrace(); 32 | } 33 | return false; 34 | } 35 | 36 | } 37 | 38 | -------------------------------------------------------------------------------- /src/main/java/servlet/Reg_serv.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import java.io.IOException; 4 | 5 | import jakarta.servlet.ServletException; 6 | import jakarta.servlet.http.HttpServlet; 7 | import jakarta.servlet.http.HttpServletRequest; 8 | import jakarta.servlet.http.HttpServletResponse; 9 | import model.Reg_model; 10 | import controller.Reg_control; 11 | 12 | 13 | 14 | public class Reg_serv extends HttpServlet { 15 | private static final long serialVersionUID = 1L; 16 | 17 | 18 | public Reg_serv() { 19 | super(); 20 | } 21 | 22 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 23 | 24 | Reg_model rg=new Reg_model(); 25 | rg.setUname(request.getParameter("username")); 26 | rg.setpassword(request.getParameter("password")); 27 | rg.setEmail(request.getParameter("Email")); 28 | rg.setPhoneNo(request.getParameter("PhoneNo")); 29 | Reg_control rc=new Reg_control(rg); 30 | if(rc.toStore()) 31 | response.sendRedirect("index.html"); 32 | } 33 | 34 | 35 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 36 | doGet(request, response); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/servlet/Log_serv.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import jakarta.servlet.ServletException; 4 | import jakarta.servlet.http.HttpServlet; 5 | import jakarta.servlet.http.HttpServletRequest; 6 | import jakarta.servlet.http.HttpServletResponse; 7 | import model.log_model; 8 | import controller.login_controller; 9 | import java.io.IOException; 10 | 11 | public class Log_serv extends HttpServlet { 12 | private static final long serialVersionUID = 1L; 13 | 14 | public Log_serv() { 15 | super(); 16 | } 17 | 18 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 19 | log_model model=new log_model(); 20 | model.setUname(request.getParameter("username")); 21 | model.setPass(request.getParameter("password")); 22 | login_controller controller=new login_controller(model); 23 | if(controller.check()) 24 | response.sendRedirect("Gp.html"); 25 | else { 26 | System.out.println("INVALID DATA"); 27 | String alertScript = ""; 28 | response.getWriter().print(alertScript); 29 | } 30 | } 31 | 32 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 33 | 34 | doGet(request, response); 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | MKCE-Result 7 | 8 | 9 |
10 | 11 |
12 | 13 | 14 |
15 |
16 |
17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 |
25 |
26 |
27 |
28 | 29 | 30 | 31 |
32 | 33 |
34 |
35 | 36 |
37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Reg_reg 6 | Reg_reg 7 | servlet.Reg_reg 8 | 9 | 10 | Reg_reg 11 | /Reg_reg 12 | 13 | Online_portal 14 | 15 | index.html 16 | index.htm 17 | index.jsp 18 | default.html 19 | default.htm 20 | default.jsp 21 | 22 | 23 | 24 | Reg_serv 25 | Reg_serv 26 | servlet.Reg_serv 27 | 28 | 29 | Reg_serv 30 | /Reg_serv 31 | 32 | 33 | 34 | Log_serv 35 | Log_serv 36 | servlet.Log_serv 37 | 38 | 39 | Log_serv 40 | /Log_serv 41 | 42 | -------------------------------------------------------------------------------- /src/main/webapp/Gp.css: -------------------------------------------------------------------------------- 1 | /* Import Google Font - Poppins */ 2 | @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap'); 3 | *{ 4 | margin: 0; 5 | padding: 0; 6 | box-sizing: border-box; 7 | font-family: 'Poppins', sans-serif; 8 | } 9 | body{ 10 | display: flex; 11 | align-items: center; 12 | justify-content: center; 13 | min-height: 100vh; 14 | background: rgb(128, 255, 255); 15 | } 16 | .wrapper{ 17 | padding: 25px; 18 | border-radius: 10px; 19 | background:rgb(14, 241, 173); 20 | box-shadow: 0 10px 30px rgba(0,0,0,0.1); 21 | } 22 | .cards, .card, .view{ 23 | display: flex; 24 | align-items: center; 25 | justify-content: center; 26 | } 27 | .cards{ 28 | height: 400px; 29 | width: 400px; 30 | flex-wrap: wrap; 31 | justify-content: space-between; 32 | } 33 | .cards .card{ 34 | cursor: pointer; 35 | list-style: none; 36 | user-select: none; 37 | position: relative; 38 | perspective: 1000px; 39 | transform-style: preserve-3d; 40 | height: calc(100% / 4 - 10px); 41 | width: calc(100% / 4 - 10px); 42 | } 43 | .card.shake{ 44 | animation: shake 0.35s ease-in-out; 45 | } 46 | @keyframes shake { 47 | 0%, 100%{ 48 | transform: translateX(0); 49 | } 50 | 20%{ 51 | transform: translateX(-13px); 52 | } 53 | 40%{ 54 | transform: translateX(13px); 55 | } 56 | 60%{ 57 | transform: translateX(-8px); 58 | } 59 | 80%{ 60 | transform: translateX(8px); 61 | } 62 | } 63 | .card .view{ 64 | width: 100%; 65 | height: 100%; 66 | position: absolute; 67 | border-radius: 7px; 68 | background: #fff; 69 | pointer-events: none; 70 | backface-visibility: hidden; 71 | box-shadow: 0 3px 10px rgba(0,0,0,0.1); 72 | transition: transform 0.25s linear; 73 | } 74 | .card .front-view img{ 75 | width: 19px; 76 | } 77 | .card .back-view img{ 78 | max-width: 45px; 79 | } 80 | .card .back-view{ 81 | transform: rotateY(-180deg); 82 | } 83 | .card.flip .back-view{ 84 | transform: rotateY(0); 85 | } 86 | .card.flip .front-view{ 87 | transform: rotateY(180deg); 88 | } 89 | 90 | @media screen and (max-width: 700px) { 91 | .cards{ 92 | height: 350px; 93 | width: 350px; 94 | } 95 | .card .front-view img{ 96 | width: 17px; 97 | } 98 | .card .back-view img{ 99 | max-width: 40px; 100 | } 101 | } 102 | 103 | @media screen and (max-width: 530px) { 104 | .cards{ 105 | height: 300px; 106 | width: 300px; 107 | } 108 | .card .front-view img{ 109 | width: 15px; 110 | } 111 | .card .back-view img{ 112 | max-width: 35px; 113 | } 114 | } -------------------------------------------------------------------------------- /src/main/webapp/Gp.js: -------------------------------------------------------------------------------- 1 | const cards = document.querySelectorAll(".card"); 2 | let matched = 0; 3 | let attempts = 0; 4 | let cardOne, cardTwo; 5 | let disableDeck = false; 6 | let score = 0; 7 | let highestScore = 0; 8 | 9 | function flipCard({ target: clickedCard }) { 10 | if (cardOne !== clickedCard && !disableDeck) { 11 | clickedCard.classList.add("flip"); 12 | if (!cardOne) { 13 | return (cardOne = clickedCard); 14 | } 15 | cardTwo = clickedCard; 16 | disableDeck = true; 17 | let cardOneImg = cardOne.querySelector(".back-view img").src, 18 | cardTwoImg = cardTwo.querySelector(".back-view img").src; 19 | matchCards(cardOneImg, cardTwoImg); 20 | } 21 | } 22 | 23 | function matchCards(img1, img2) { 24 | attempts++; // Count each attempt 25 | document.getElementById("attempts").innerText = `Attempts: ${attempts}`; 26 | 27 | if (img1 === img2) { 28 | matched++; 29 | score += 5; // Award 5 points for a correct match 30 | document.getElementById("score").innerText = `Score: ${score}`; 31 | if (matched == 8) { 32 | updateHighestScore(); // Update highest score 33 | setTimeout(() => { 34 | endGame(); 35 | }, 1000); 36 | } 37 | cardOne.removeEventListener("click", flipCard); 38 | cardTwo.removeEventListener("click", flipCard); 39 | cardOne = cardTwo = ""; 40 | disableDeck = false; 41 | } else { 42 | score -= 1; // Deduct 1 point for an incorrect match 43 | document.getElementById("score").innerText = `Score: ${score}`; 44 | 45 | setTimeout(() => { 46 | cardOne.classList.add("shake"); 47 | cardTwo.classList.add("shake"); 48 | }, 400); 49 | 50 | setTimeout(() => { 51 | cardOne.classList.remove("shake", "flip"); 52 | cardTwo.classList.remove("shake", "flip"); 53 | cardOne = cardTwo = ""; 54 | disableDeck = false; 55 | }, 1200); 56 | } 57 | } 58 | 59 | function resetGame() { 60 | matched = 0; 61 | attempts = 0; 62 | score = 0; 63 | document.getElementById("score").innerText = "Score: 0"; 64 | document.getElementById("attempts").innerText = "Attempts: 0"; 65 | shuffleCard(); 66 | } 67 | 68 | function shuffleCard() { 69 | disableDeck = false; 70 | cardOne = cardTwo = ""; 71 | let arr = [1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8]; 72 | arr.sort(() => (Math.random() > 0.5 ? 1 : -1)); 73 | cards.forEach((card, i) => { 74 | card.classList.remove("flip"); 75 | let imgTag = card.querySelector(".back-view img"); 76 | imgTag.src = `images/img-${arr[i]}.png`; 77 | card.addEventListener("click", flipCard); 78 | }); 79 | } 80 | 81 | function updateHighestScore() { 82 | if (score > highestScore) { 83 | highestScore = score; 84 | document.getElementById("highestScore").innerText = `Highest Score: ${highestScore} (Attempts: ${attempts})`; 85 | } 86 | } 87 | 88 | function endGame() { 89 | updateHighestScore(); 90 | // Display endgame modal or message 91 | } 92 | 93 | shuffleCard(); 94 | 95 | cards.forEach((card) => { 96 | card.addEventListener("click", flipCard); 97 | }); 98 | 99 | // Replay button functionality 100 | document.getElementById("replayButton").addEventListener("click", () => { 101 | resetGame(); 102 | updateHighestScore(); 103 | }); 104 | -------------------------------------------------------------------------------- /src/main/webapp/index.css: -------------------------------------------------------------------------------- 1 | 2 | @charset "ISO-8859-1"; 3 | @import url('https://fonts.googleapis.com/css?family=Montserrat|Quicksand'); 4 | 5 | *{ 6 | font-family: 'quicksand',Arial, Helvetica, sans-serif; 7 | box-sizing: border-box; 8 | } 9 | 10 | body{ 11 | background:#fff; 12 | } 13 | 14 | .form-modal{ 15 | position:relative; 16 | width:450px; 17 | height:auto; 18 | margin-top:4em; 19 | left:50%; 20 | transform:translateX(-50%); 21 | background:#fff; 22 | border-top-right-radius: 20px; 23 | border-top-left-radius: 20px; 24 | border-bottom-right-radius: 20px; 25 | box-shadow:0 3px 20px 0px rgba(0, 0, 0, 0.1) 26 | } 27 | 28 | .form-modal button{ 29 | cursor: pointer; 30 | position: relative; 31 | text-transform: capitalize; 32 | font-size:1em; 33 | z-index: 2; 34 | outline: none; 35 | background:#fff; 36 | transition:0.2s; 37 | } 38 | 39 | .form-modal .btn{ 40 | border-radius: 20px; 41 | border:none; 42 | font-weight: bold; 43 | font-size:1.2em; 44 | padding:0.8em 1em 0.8em 1em!important; 45 | transition:0.5s; 46 | border:1px solid #ebebeb; 47 | margin-bottom:0.5em; 48 | margin-top:0.5em; 49 | } 50 | 51 | .form-modal .login , .form-modal .signup{ 52 | background:#57b846; 53 | color:#fff; 54 | } 55 | 56 | .form-modal .login:hover , .form-modal .signup:hover{ 57 | background:#222; 58 | } 59 | 60 | .form-toggle{ 61 | position: relative; 62 | width:100%; 63 | height:auto; 64 | } 65 | 66 | .form-toggle button{ 67 | width:50%; 68 | float:left; 69 | padding:1.5em; 70 | margin-bottom:1.5em; 71 | border:none; 72 | transition: 0.2s; 73 | font-size:1.1em; 74 | font-weight: bold; 75 | border-top-right-radius: 20px; 76 | border-top-left-radius: 20px; 77 | } 78 | 79 | .form-toggle button:nth-child(1){ 80 | border-bottom-right-radius: 20px; 81 | } 82 | 83 | .form-toggle button:nth-child(2){ 84 | border-bottom-left-radius: 20px; 85 | } 86 | 87 | #login-toggle{ 88 | background:#57b846; 89 | color:#ffff; 90 | } 91 | 92 | .form-modal form{ 93 | position: relative; 94 | width:90%; 95 | height:auto; 96 | left:50%; 97 | transform:translateX(-50%); 98 | } 99 | 100 | #login-form , #signup-form{ 101 | position:relative; 102 | width:100%; 103 | height:auto; 104 | padding-bottom:1em; 105 | } 106 | 107 | #signup-form{ 108 | display: none; 109 | } 110 | 111 | 112 | #login-form button , #signup-form button{ 113 | width:100%; 114 | margin-top:0.5em; 115 | padding:0.6em; 116 | } 117 | 118 | .form-modal input{ 119 | position: relative; 120 | width:100%; 121 | font-size:1em; 122 | padding:1.2em 1.7em 1.2em 1.7em; 123 | margin-top:0.6em; 124 | margin-bottom:0.6em; 125 | border-radius: 20px; 126 | border:none; 127 | background:#ebebeb; 128 | outline:none; 129 | font-weight: bold; 130 | transition:0.4s; 131 | } 132 | 133 | .form-modal input:focus , .form-modal input:active{ 134 | transform:scaleX(1.02); 135 | } 136 | 137 | .form-modal input::-webkit-input-placeholder{ 138 | color:#222; 139 | } 140 | 141 | 142 | .form-modal p{ 143 | font-size:16px; 144 | font-weight: bold; 145 | } 146 | 147 | .form-modal p a{ 148 | color:#57b846; 149 | text-decoration: none; 150 | transition:0.2s; 151 | } 152 | 153 | .form-modal p a:hover{ 154 | color:#222; 155 | } 156 | 157 | 158 | .form-modal i { 159 | position: absolute; 160 | left:10%; 161 | top:50%; 162 | transform:translateX(-10%) translateY(-50%); 163 | } 164 | 165 | .fa-google{ 166 | color:#dd4b39; 167 | } 168 | 169 | .fa-linkedin{ 170 | color:#3b5998; 171 | } 172 | 173 | .fa-windows{ 174 | color:#0072c6; 175 | } 176 | 177 | .-box-sd-effect:hover{ 178 | box-shadow: 0 4px 8px hsla(210,2%,84%,.2); 179 | } 180 | 181 | @media only screen and (max-width:500px){ 182 | .form-modal{ 183 | width:100%; 184 | } 185 | } 186 | 187 | @media only screen and (max-width:400px){ 188 | i{ 189 | display: none!important; 190 | } 191 | } -------------------------------------------------------------------------------- /src/main/webapp/Gp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Memory Card Game | CodingNepal 7 | 8 | 9 | 10 | 11 |
12 |
Score: --
13 |
Attempts: --
Highest Score: --
14 | 144 |

Correct match - (5) points

145 |

Incorrect match - (-1) points

146 | 147 |
148 | 149 | 150 | 151 | 152 | 153 | --------------------------------------------------------------------------------