-Role Fight- 永生花 49621003 黃安德 49721009 陳柏叡 49721036 劉怡均 49721042 李鈺珊 49721053 王齊宇
Outline 系統介紹 功能介紹 資料夾檔案 Mysql資料表
Outline 系統介紹 環境設定 遊戲說明
系統介紹 (一) 環境設定 (二) 遊戲說明 IDE:PSpad 資料庫:mysql 網頁伺服器:Apache HTTP Server 角色:可以創造自己的角色。 好友:當與其他會員互為好友時可以獲得Godsh點數來 升級您的角色。 戰鬥:可以選擇指定的角色進行戰鬥。
Outline 功能介紹 登入 首頁 角色 好友 戰鬥 信箱 留言 登出
功能介紹 登入
功能介紹 首頁
功能介紹 角色 新增角色
功能介紹 好友 搜尋好友
功能介紹 戰鬥
功能介紹 信箱
功能介紹 留言
Outline 資料夾檔案 User.php Db.php Friendship.php Fight.php Member.php
資料夾檔案 User.php 取得使用者資訊以及目前是否登入的狀態 class User { private function User() public static function GetID() //取得登入的使用者帳號 public static function IsLogin() //確認是否已經登入 public static function Login($user_id, $user_pw) //登入 public static function Logout() //登出 }
資料夾檔案 Db.php class DB { 資料庫參數檔案(包含連結資料庫的IP位址)和常 用的函數庫 private function DB() public static function OpenLink() // 開啟資料庫連結 public static function GetLink() // 取得資料庫連結 public static function CloseLink() // 關閉資料庫連結 } // 一些常用的函數庫 class Util private function Util() public static function GetIP() // 取得使用者 IP 位置 public static function GetHostName() // 取得主機名稱 }
資料夾檔案 連結mysql取得是否已成為好友關係 Friendship.php //Owner:Me Friend:Him $pCheckFriend1 = mysql_fetch_array(mysql_query("SELECT LID FROM `friend_list` WHERE OwnerID = '$getOwnerID' AND FriendID = '$OneOfFriend'")); //Owner:Him Friend:Me $pCheckFriend2 = mysql_fetch_array(mysql_query("SELECT LID FROM `friend_list` WHERE OwnerID = '$OneOfFriend' AND FriendID = '$getOwnerID'")); if($pCheckFriend1 != NULL){ if($pCheckFriend2 != NULL){ print("互為好友");} else{ print("已加好友");}} else{ if($pCheckFriend2 != NULL){ print("加我好友");} else{ print("互不相識");}}
資料夾檔案 Fight.php 利用figter.php將取得的角色數值轉換成轉成實際運 用的能力值並顯示出來(例如力量轉換成攻擊力) $pStationResult = mysql_query("SELECT DISTINCT * FROM `character` WHERE `OwnID` = '$getOwnerID' AND `Cname` = '$getCharacterFight'");
資料夾檔案 可選擇欲出來對戰的角色 $WID=mysql_query("SELECT `Cname` FROM `character` WHERE OwnID ='$getOwnerID';"); while(list($WIDs)=mysql_fetch_row($WID)){ echo "<option value=$WIDs>$WIDs</option>"; }
資料夾檔案 可指定/亂數產生對手來進行對戰 // 隨機產生對手 function random_fight(){ location='<?echo(Util::GetHostName()."/Fight.php?");?>'+'CtoF=' +document.myForm.CharacterToFight.value+'&FitF=1'; } // 指定對手 function assign_fight(){ location='<?echo(Util::GetHostName()."/Fight.php?");?>'+'CtoF=' +document.myForm.CharacterToFight.value+'&AssC='+document.myForm.AssignCharacter.value+'&FitF=2';
資料夾檔案 輪流進行攻擊(會判定普通攻擊、使用魔法攻擊或 閃避對方攻擊等因素)直到其中一方倒下為止 while($getRandomData->Health_Point>0&&$getPlayerData->Health_Point>0){ $magic = rand(1,100); if($magic>$getPlayerData->Magic_Rate) { // 玩家發動魔法 $Avoid = rand(1,100); If($Avoid>$getRandomData->Avoid_Rate) { //對手閃避 <td width = 250px><font color="#6A5ACD"><b><? echo "玩家攻擊"; // 玩家普通攻擊 $attack=rand($getPlayerData->Min_Attack,$getPlayerData-> Max_Attack); echo $attack; echo "滴血";?> //對手受傷 $getRandomData->Health_Point = $getRandomData->Health_Point - $attack; if($getRandomData->Health_Point<0){ $getRandomData->Health_Point=0;}}
資料夾檔案 else { <td width = 250px><font color="#191970"><b><? echo "對手靈巧的閃過攻擊";?> }} { <td width = 250px><font color="#7CFC00"><b><? echo "玩家發動魔法攻擊"; // 玩家魔法攻擊 $attack=rand($getPlayerData->Min_Attack,$getPlayerData->Max_Attack) +$getPlayerData->Min_Attack*5; echo $attack; echo "滴血"; // 對手受傷 $getRandomData->Health_Point = $getRandomData->Health_Point - $attack; if($getRandomData->Health_Point<0){ $getRandomData->Health_Point=0; } } <td width = 120px><font color="#6A5ACD"><b><? echo "玩家血量:".$getPlayerData->Health_Point;?> echo "對手血量:".$getRandomData->Health_Point;?>}
資料夾檔案 對戰結束之後儲存戰績 mysql_query("UPDATE `abc1231qa`.`character` SET `Win` = '$wl1',`Lose` = '$wl2' WHERE `OwnID` = '$getOwnerID' AND `Cname` = '$getCharacterFight';"); mysql_query("UPDATE `abc1231qa`.`character` SET `Win` = '$wl3',`Lose` = '$wl4' WHERE `character`.`CID` =$getAssignCharacter;");
資料夾檔案 Member.php 連結mysql取得是否已成為好友關係以及戰績 // 顯示好友關係 $FrinedshipState=0; $pCheckFriend1=NULL; $pCheckFriend2=NULL; $pCheckFriend1 = mysql_fetch_array(mysql_query("SELECT LID FROM `friend_list` WHERE OwnerID = '$getOwnerID' AND FriendID = '$getMemberID'")); $pCheckFriend2 = mysql_fetch_array(mysql_query("SELECT LID FROM `friend_list` WHERE OwnerID = '$getMemberID' AND FriendID = '$getOwnerID'"));
資料夾檔案 Member.php 連結mysql取得是否已成為好友關係以及戰績 // 顯示好友關係 $FrinedshipState=0; $pCheckFriend1=NULL; $pCheckFriend2=NULL; $pCheckFriend1 = mysql_fetch_array(mysql_query("SELECT LID FROM `friend_list` WHERE OwnerID = '$getOwnerID' AND FriendID = '$getMemberID'")); $pCheckFriend2 = mysql_fetch_array(mysql_query("SELECT LID FROM `friend_list` WHERE OwnerID = '$getMemberID' AND FriendID = '$getOwnerID'"));
資料夾檔案 if($pCheckFriend1 != NULL){ if($pCheckFriend2 != NULL){ print("互為好友"); $FrinedshipState=1;} else{ print("已加好友"); $FrinedshipState=2;}} print("加我好友"); $FrinedshipState=3;} print("互不相識"); $FrinedshipState=4;} }
資料夾檔案 // 顯示戰績 $Wins=0; $Loses=0; $Result = mysql_query("SELECT DISTINCT `Win` , `Lose` FROM `character` WHERE OwnID = '$getMemberID';"); while($Row = mysql_fetch_array( $Result )){ $Wins = $Wins + $Row["Win"]; $Loses = $Loses + $Row["Lose"]; } print("勝:".$Wins); print("敗:".$Loses);
資料夾檔案 取得好友所擁有的角色狀態(角色數值和勝敗戰績) $pStationResult = mysql_query("SELECT DISTINCT `CID`,`Cname` , `Win` , `Lose` , `Str` , `Int` , `Dex` , `Chr` , `Luk` FROM `character` WHERE OwnID = '$getMemberID';"); while($pStationRow = mysql_fetch_array( $pStationResult )){ $getFriendCharacter = new fighter; $getFriendCharacter->SetData($pStationRow["Win"],$pStationRow["Lose"], $pStationRow["Chr"],$pStationRow["Str"],$pStationRow["Luk"],$pStationRow["Int"],$pStationRow["Dex"]);?> }
Outline Mysql資料表 Account Character Friend_list Letter
Mysql資料表 Account 帳號、密碼以及所擁有的Godsh點數 玩家資訊
Mysql資料表 Character 角色名稱、持有者帳號、勝敗場數、 角色數值 角色資訊
Mysql資料表 Friend_list 帳號、結為朋友的帳號 好友列表
Mysql資料表 Letter 寄信者、收件者、寄信時間、標題、 信件內容
Thank you for listening!!