숫자야구 소스를 구했는데

숫자야구게임 소스를 구했는데
홈런이 안되면 200포인트 뺏고
홈런되면 200포인트 주려고 하는데..

아시는 분...? 

이하 코드

<?php
//세션등록
session_start();
//시도
session_register("trynum");
//답
session_register("n");
//사용자[]
session_register("inputdata");
//정확도[]
session_register("old");
//session_destroy();

?>
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<TITLE>숫자 야구</TITLE>
<script language="javascript">
<!--
function focusIt() {
document.yagu.inputnum.focus();
return true;
}
//-->
</script>

<style type="text/css">
<!--
  body,td,select,div,form,textarea,center,option,pre,blockquote
  {font-family:"tahoma", "굴림";font-size:9pt;color:#dddddd;}
  input
  {font-family:"tahoma", "굴림";font-size:9pt;color:#444444;}
  .small_text  
  { font-family: "Geneva", "Arial", "Helvetica", "san-serif"; font-size: 9px; font-style: normal ; text-decoration: none; line-height: normal}
  .button
  {border:solid 1;border-color:1F556A;font-size:9pt;color:white;background-color:50889F;height:19px} 
  .opacity1
  {filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70)
  progid:DXImageTransform.Microsoft.Shadow(color=00344C,Direction=135,Strength=3);border-color:black;} 
 
</style>
</HEAD>
<BODY BGCOLOR="#2F638B"onload="focusIt();">
<center>

<form method=post name=yagu action=2ori.php>
    <p align="center"><b>숫자야구</b>!<br></p>
    <p align="center"><input type=text name=inputnum size=4 class=opacity1>
<input type=submit value=시도 class=button>
<input type="submit" value="reset" class=button onclick="window.open('2ori.php?re=1','','_self')">
<?php echo("<a href=$PHP_SELF?re=1><font color=CCCCCC>다시</font></a><br> "); ?>
</p></form>


<hr size=1 noshade width=200 align="center">
<font class=small_text face=Arial, Helvetica, sans-serif>Copyright (C) 2001-2008 http//blog.naver.com/leeyc09 All rights reserved.</font></font>
<p align="center"><?php
//echo("<a href=$PHP_SELF?re=1>다시</a><br> ");

//reset
if($re==1) {
session_destroy();
exit;
}

//사용자가 적은 값의 길이를 리턴한다.
$inputlength = strlen($inputnum);
//test inputlengrth
//echo ("inputnum 자릿수".strlen($inputnum)."<br>");

//시도횟수가 0이라면 1로 초기화 배열num[3]에 0~9까지 난수발생 중복제거
$num = array();

if($trynum<1) {
 $trynum=1;
 for( $i=0; $i<3; $i++ ) {
  $num[$i]=rand(0,9);
  for($j = 0; $j<$i; $j++) {
   if($num[$i] == $num[$j]) {
    $i--;
    }
   }
  }
 }
//저장된 배열값을 하나로 저장
for($m=0;$m<3;$m++) {
$n.=$num[$m];
}

//echo "inputnum배열값 $inputnum[0] $inputnum[1] $inputnum[2] <br />";

//중복된 수 입력 필터링
if($inputnum[0]==$inputnum[1] || $inputnum[0]==$inputnum[2]){
  $stats=2;
 }elseif($inputnum[1]==$inputnum[2]){
  $stats=2;
  }else{
   $stats=1;
 }
//echo "$stats";

//사용자 입력이 3개라면 s b o 출력,시도횟수 +1

if($inputlength ==3 && $stats==1){
 if($inputnum) {
  $trynum++;
  for($j=0;$j<3;$j++) {
   for($k=0;$k<3;$k++) {
    if ($inputnum[$j]==$n[$k]) {
     if ($j==$k) {
      $st[]='s';
      }
    else
     $st[]='b';
    } 
   }
  if(($st[$j]!='s')&&($st[$j]!='b')) {
   $st[]='o';
  }
 }
//입력값을 사용자배열에 등록
$inputdata[]=$inputnum;
//스코어 저장
for ($p=0;$p<3;$p++) {
$hit.=$st[$p];
}

//홈런일경우
if($hit=='sss') {
 echo("<h1>홈런</h1>");
 $result=$trynum-1;
 echo("정답: $n<br>입력: $inputnum<br>스코어: $st[0]$st[1]$st[2]<br>횟수 $result<hr size=1 noshade width=200
 align=center>");
 echo("<form method=post action=$PHP_SELF> ");
 session_destroy();
 exit;
 }

$old[]=$hit;

}
 
$result=$trynum-1;
//echo("정답: $n <br />");
$s=strlen($n);

echo("<hr size=1 noshade width=200 align=center>");
echo("난수값: ??? 자릿수:$s ");
echo("<br>입력값: $inputnum<br>적중률: $st[0]$st[1]$st[2]<br>횟수 $result<hr size=1 noshade width=200 align=center>");

for($z=0;$z<sizeof($inputdata);$z++) {
 $zz=$z+1;
 echo("$zz 번째: $inputdata[$z] - $old[$z]<br>");
 }
 exit;
}


if((!($inputlength ==3)) || $stats==2){
 echo ("4자리 이상 2자리 이하로 입력했거나 <br>중복된 숫자를 입력하셨습니다.<br> 다른 숫자를 다시 입력 해 주십시오.<br>");
 exit;
 }

?></p>
</center>
</body>

[출처] PHP 숫자야구 게임.|작성자 시피



 

|

댓글 5개

여긴 자게구나......
자게 맞아요..그누보드,영카트 외의 질문은 여기서 하래서 했는것 뿐이예요..ㅠㅠ
자게 맞아요..저런질문 딱히 올릴데도 없어요..ㅠㅠ
잘 만지면 그누용 게임이 하나 나오겠는데요.
게임 시작할때 정해진 게임금을 지불하게 되며

1번째에 맞추면 게임금에 100배
2번쨰에 맞추면 게임금에 50배
3번째에 맞추면 게임금에 25배
4번째에 맞추면 게임금에 10배
5번째에 맞추면 게임금에 1배
6번째에 맞추면 게임금에 0.5배
7번쨰에 맞추면 게임금에 0.25배
8번째에 맞추면 게임금에 0배

해서 홈런시 포인트 지급해주는 구조로 만드고요

지금 고쳐야할버그가 입력값에 숫자외에 다른입력값이 안들어가게 해야 할거 같구요.
또 숫자 3자리 고정입력받게 해야 할거 같구요.
똑같은 숫자가 중복입력안되게 해야 할거 같구요.
등등등
아차 세션보다는 디비를 이용하는게 보안면에서 날거 같네요.
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

+
제목 글쓴이 날짜 조회
16년 전 조회 1,202
16년 전 조회 2,863
16년 전 조회 2.8만
16년 전 조회 1,665
16년 전 조회 1,433
16년 전 조회 1.1만
16년 전 조회 1,146
16년 전 조회 1,472
16년 전 조회 1,224
16년 전 조회 1,173
16년 전 조회 1,197
16년 전 조회 8,510
16년 전 조회 1,586
16년 전 조회 1,363
16년 전 조회 3,061
16년 전 조회 1,278
16년 전 조회 1,095
16년 전 조회 1,839
16년 전 조회 1,223
16년 전 조회 1,163
16년 전 조회 1,461
16년 전 조회 1,149
16년 전 조회 1,161
16년 전 조회 1,159
16년 전 조회 1,125
16년 전 조회 1,146
16년 전 조회 1,390
16년 전 조회 1,214
16년 전 조회 1,121
16년 전 조회 1,252