숫자야구 소스를 구했는데

숫자야구게임 소스를 구했는데
홈런이 안되면 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,207
16년 전 조회 2,865
16년 전 조회 2.8만
16년 전 조회 1,667
16년 전 조회 1,437
16년 전 조회 1.1만
16년 전 조회 1,149
16년 전 조회 1,477
16년 전 조회 1,227
16년 전 조회 1,179
16년 전 조회 1,199
16년 전 조회 8,515
16년 전 조회 1,586
16년 전 조회 1,368
16년 전 조회 3,065
16년 전 조회 1,282
16년 전 조회 1,100
16년 전 조회 1,840
16년 전 조회 1,229
16년 전 조회 1,167
16년 전 조회 1,464
16년 전 조회 1,154
16년 전 조회 1,167
16년 전 조회 1,164
16년 전 조회 1,129
16년 전 조회 1,151
16년 전 조회 1,395
16년 전 조회 1,216
16년 전 조회 1,126
16년 전 조회 1,257