본문 바로가기

STUDY/JSP

20240307 가위바위보 페이지

728x90

radio버튼으로 가위 바위 보 값을 넘겼다.

rspForm.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 메뉴 -->
	<div>
		<a href="../index.jsp">index</a>
	</div>
	
	<h1>rspForm</h1>
	
	<form action="./rspAction.jsp">
	
		<input type="radio" value="가위" name="userRsp" id="rock">
		<label for="rock">가위</label>
		<input type="radio" value="바위" name="userRsp" id="scissors">
		<label for="scissors">바위</label>
		<input type="radio" value="보"  name="userRsp" id="paper">
		<label for="paper">보</label>
		
	
	<button type="submit">전송</button>
	</form>
	
</body>
</html>

 

 

사용자가 보낸 값을 request.getParameter()로 받았다.

random함수로 컴퓨터가 무엇을 냈는지 받는다.

if문을 통해 승패 결과를  result값에 담는다.

 

페이지에 값을 출력하고

다시하기 버튼을 통해 rspForm.jsp로 돌아갈 수 있도록 만들었다.

rspAction.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%
	String userRsp = null;	// "가위", "바위", "보"
	userRsp = request.getParameter("userRsp");
	// userRsp = "바위";
	
	String sysRsp = null;	// "가위", "바위", "보"
	int rNum = (int)(Math.random() * 3);	// 0, 1, 2
	
	if(rNum == 0) {
		sysRsp = "가위";
	} else if(rNum == 1) {
		sysRsp = "바위";
	} else {
		sysRsp = "보";
	}
	
	// 디버깅
	System.out.println("userRsp : " + userRsp);
	System.out.println("sysRsp : " + sysRsp);
	
	String result = null;
	if(userRsp.equals(sysRsp)) {	// 비기는 경우
		result = "비겼다";
	} else if( (userRsp.equals("가위")) && sysRsp.equals("보")
			|| ((userRsp.equals("바위")) && sysRsp.equals("가위"))
			|| ((userRsp.equals("보")) && sysRsp.equals("바위"))) {
		result = "이겼다";
	} else {
		result = "졌다";
	}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 메뉴 -->
	<div>
		<a href="../index.jsp">index</a>
	</div>

	<h1>rspAction</h1>
	
	<span>나 : </span>
	<%=userRsp%>
	<br><br>
	
	<span>컴퓨터 : </span>
	<%=sysRsp%>
	<br><br>
	
	<%=result%>
	<br><br>
	
	<form action="./rspForm.jsp">
		
		<button type="submit">다시하기</button><br>
	</form>
</body>
</html>

 

728x90