예전에 만들어 놨던거라서 소스가 엉망입니다.
뭐 고칠 생각도 없고;;; ( 귀찮! ) 암튼간 기본적인 알고리즘 부터 설치와 실행을 해봅시다.
우선적으로 이 소스는 저작권이 없습니다. 만사 귀찮;
자. 기본적인 알고리즘.
끝말잇기의 경우엔 첫번째 단어를 입력하고
그 뒤에 천번째 단어의 가장끝 글자를 확인하여
그 글자로 시작하는 단어가 입력되면 완성인것입니다.
참 쉽죠?
그뒤 조건이 몇가지 붙습니다.
한글만 입력받음, 띄어쓰기 금지, 글자수 조절... 등등등
시작해 볼게요 ㅎㅎ
우선적으로 Table을 만들어주는 화일을 만들어 보겠습니다.
create_db.php
Code Type : C
$handle = mysql_connect($db_server, $db_user, $db_pwd);
$ret = mysql_select_db($db_use, $handle);
$query = "
CREATE TABLE wordrelay (
owr_idx int(10) NOT NULL AUTO_INCREMENT,
owr_user varchar(24) NOT NULL,
owr_word varchar(30) NOT NULL,
PRIMARY KEY (owr_idx)
)";
$result = mysql_query($query);
if($result) echo "끝말잇기 DB가 만들어 졌습니다. ^^
";
else echo "끝말잇기 DB 생성에 실패하였습니다.. ㅠㅠ
";
@db_close();
exit();
?>
필드값 ( 그러니까 입력받을 값들 ) 을 살펴보게 되면 일단 인덱스와 유져이름 그리고 이을말 이 들어가게 됩니다.
뭐 나중에 심심하면 ip도 받아도 되고 암호를 받아도 됩니다.
( 하지만 귀찮으므로 패스! )
위 소스에서 보면 맨위에 config.php 라는 화일이 필요합니다.
config.php
Code Type : C
// DB 접속 정보
$db_server = "localhost";
$db_use = "DB명";
$db_user = "유져아이디";
$db_pwd = "유져비밀번호";
?>
이란 화일이 필요하죠 ^^
이 두화일을 적당한 곳에 올리고 create_db.php라고 실행시켜 줍니다.
그러면 자잔... ' 끝말잇기 DB가 만들어 졌습니다. ^^ ' 라는것이 뜰겁니다.
아니면 실패메시지가 뜰겁니다... -.-; 뭐 정안되면 phpMyAdmin 같은걸로 DB에 접속해서 노가다로 만드셔도 됩니다 -.-;;;
이제는 입력과 출력이 동시에 되는 화일을 만들어 보겠습니다.
index.php
Code Type : C
// 끝말잇기 놀이
// Coded By Ohyung.com & SSangkal.com All right kicked!!! -.-;
// 2006년 08월 26일 조낸 심심한 오형이 할일없이 만듬 -.-;
include "./config.php";
// 각종 설정
$limitnum = 9;
$conn = mysql_connect($db_server, $db_user, $db_pwd);
$ret = mysql_select_db($db_use, $conn);
@mysql_query("set session character_set_connection=utf8");
@mysql_query("set session character_set_results=utf8");
@mysql_query("set session character_set_client=utf8");
$sql = "select * from wordrelay order by owr_idx desc limit ".$limitnum;
$result = mysql_query($sql, $conn);
$wsql = "select owr_word from wordrelay order by owr_idx desc limit 1";
$wresult = mysql_query($wsql, $conn);
$wrow=mysql_fetch_array($wresult);
$bingoword = strlen($wrow[owr_word]);
?>
쌍칼닷콤 끝말잇기
while($row=mysql_fetch_array($result))
{
?>
=$row[owr_word]?>
=$row[owr_user]?>
}?>
자자 만들어졌습니다... 역시나 소스는 더러운게 미덕입니다;;;
여기서 보게 되면 $limitnum 에 9라는 숫자가 들어갔는데 이것은 9개의 리스트를 출력한다는 것입니다.
뭐 나중에 수정해도 되고 일단은 기본원리를 배우는것이니까...
대충 넘어가겠습니다.
이 소스에서 가장 중요한것은 자바 스크립트 입니다.
이름을 입력받고, 또한 이을 단어를 조절하죠...
글자수와 띄어쓰기를 조절하고 뭐 그런것을 합니다.
나중에 정규식에 관련된 글을 쓸 예정이오니 그때 좀더 자세히 보죠..
일단은 만들어는 졌습니다... 하지만 입력한 글을 DB에 저장하는게 없군요...
다시 만들어 보겠습니다...
write_ok.php
Code Type : C
include "./config.php";
$connect = mysql_connect($db_server, $db_user, $db_pwd);
$ret = mysql_select_db($db_use, $connect);
@mysql_query("set session character_set_connection=utf8");
@mysql_query("set session character_set_results=utf8");
@mysql_query("set session character_set_client=utf8");
$osql = "select owr_word from wordrelay order by owr_idx desc limit 1";
$oresult = mysql_query($osql, $connect);
$orow=mysql_fetch_array($oresult);
$qword = strlen($orow[owr_word]);
$lastword = Substr($orow[owr_word], ($qword-3), $qword);
$inputword = Substr($word, 0,3);
echo " $orow[owr_word] , $lastword $inputword ";
if($orow[owr_user] == $name){
echo "
";
}
else{
if($lastword == $inputword){
$query = "INSERT INTO wordrelay VALUES ('', '$user', '$word')";
$result = mysql_query($query, $connect) or die("시스템에 문제가 생겼습니다. 처음부터 다시 시도해 주세요.");
if($result){
echo "";
echo "";
}
else
echo "";
}
else{
echo "
";
}}
?>
자 완성되었습니다.
일단은 이런식으로 만드신뒤 utf-8문서로 저장하시고 올리신뒤 확인해보세요.
아참... 첫번째는 아무거나 입력을 해주어야 합니다.
phpmyadmin 같은걸 써서 직접 넣어주세요 ㅎㅎ
일단은 대충 이런식으로 만듭니다...
나중에 소스 정리해서 화일로 올리죠...
너무 엉망이라서...;;;
그럼 다음 소스공개까지... 열심히 해보세요...