网游练习总结(1),_PHP教程
网游练习总结(1),
最近一段时间在校也闲得没事干,反正是好长一段时间,干脆就做一个《中国象棋》网游耍耍打发时间。弄了好久没有写总结,以及整个过程中遇到的问题,今天就赶紧写一哈,难免后面就会忘了。
一、注册登录界面:
可能会说这么简单的游戏,网上可能例子很多,也没有必要弄注册这样的功能,其实我只是学着玩玩哈。
关于注册我使用的是php与as3.0交互做的,有与php学的非常浅,也遇到了不少问题:
1.检测是否注册成功:这个也困了时间不是很长,但是觉得比较重要,我搜了一些资料找到的:
mysql_affected_rows()// 函数返回前一次 MySQL 操作所影响的记录行数。执行成功,则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1。
2.邮箱激活验证:
<?php class smtp { /* Public Variables */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; /* Private Variables */ var $sock; /* Constractor */ function smtp($relay_host = "", $smtp_port = 25,$auth = false,$user,$pass) { $this->debug = FALSE; $this->smtp_port = $smtp_port; $this->relay_host = $relay_host; $this->time_out = 30; //is used in fsockopen() # $this->auth = $auth;//auth $this->user = $user; $this->pass = $pass; # $this->host_name = "localhost"; //is used in HELO command $this->log_file = ""; $this->sock = FALSE; } /* Main Function */ function sendmail($to, $from, $subject = "", $body = "", $mailtype, $cc = "", $bcc = "", $additional_headers = "") { $mail_from = $this->get_address($this->strip_comment($from)); $body = ereg_replace("(^|(\r\n))(\.)", "\1.\3", $body); $header = "MIME-Version:1.0\r\n"; if($mailtype=="HTML"){ $header .= "Content-Type:text/html\r\n"; } $header .= "To: ".$to."\r\n"; if ($cc != "") { $header .= "Cc: ".$cc."\r\n"; } $header .= "From: $from<".$from.">\r\n"; $header .= "Subject: ".$subject."\r\n"; $header .= $additional_headers; $header .= "Date: ".date("r")."\r\n"; $header .= "X-Mailer:By Redhat (PHP/".phpversion().")\r\n"; list($msec, $sec) = explode(" ", microtime()); $header .= "Message-ID: <".date("YmdHis", $sec).".".($msec*1000000).".".$mail_from.">\r\n"; $TO = explode(",", $this->strip_comment($to)); if ($cc != "") { $TO = array_merge($TO, explode(",", $this->strip_comment($cc))); } if ($bcc != "") { $TO = array_merge($TO, explode(",", $this->strip_comment($bcc))); } $sent = TRUE; foreach ($TO as $rcpt_to) { $rcpt_to = $this->get_address($rcpt_to); if (!$this->smtp_sockopen($rcpt_to)) { $this->log_write("Error: Cannot send email to ".$rcpt_to."\n"); $sent = FALSE; continue; } if ($this->smtp_send($this->host_name, $mail_from, $rcpt_to, $header, $body)) { $this->log_write("E-mail has been sent to <".$rcpt_to.">\n"); } else { $this->log_write("Error: Cannot send email to <".$rcpt_to.">\n"); $sent = FALSE; } fclose($this->sock); $this->log_write("Disconnected from remote host\n"); } return $sent; } /* Private Functions */ function smtp_send($helo, $from, $to, $header, $body = "") { if (!$this->smtp_putcmd("HELO", $helo)) { return $this->smtp_error("sending HELO command"); } #auth if($this->auth){ if (!$this->smtp_putcmd("AUTH LOGIN", base64_encode($this->user))) { return $this->smtp_error("sending HELO command"); } if (!$this->smtp_putcmd("", base64_encode($this->pass))) { return $this->smtp_error("sending HELO command"); } } # if (!$this->smtp_putcmd("MAIL", "FROM:<".$from.">")) { return $this->smtp_error("sending MAIL FROM command"); } if (!$this->smtp_putcmd("RCPT", "TO:<".$to.">")) { return $this->smtp_error("sending RCPT TO command"); } if (!$this->smtp_putcmd("DATA")) { return $this->smtp_error("sending DATA command"); } if (!$this->smtp_message($header, $body)) { return $this->smtp_error("sending message"); } if (!$this->smtp_eom()) { return $this->smtp_error("sending <CR><LF>.<CR><LF> [EOM]"); } if (!$this->smtp_putcmd("QUIT")) { return $this->smtp_error("sending QUIT command"); } return TRUE; } function smtp_sockopen($address) { if ($this->relay_host == "") { return $this->smtp_sockopen_mx($address); } else { return $this->smtp_sockopen_relay(); } } function smtp_sockopen_relay() { $this->log_write("Trying to ".$this->relay_host.":".$this->smtp_port."\n"); $this->sock = @fsockopen($this->relay_host, $this->smtp_port, $errno, $errstr, $this->time_out); if (!($this->sock && $this->smtp_ok())) { $this->log_write("Error: Cannot connenct to relay host ".$this->relay_host."\n"); $this->log_write("Error: ".$errstr." (".$errno.")\n"); return FALSE; } $this->log_write("Connected to relay host ".$this->relay_host."\n"); return TRUE;; } function smtp_sockopen_mx($address) { $domain = ereg_replace("^.+@([^@]+)$", "\1", $address); if (!@getmxrr($domain, $MXHOSTS)) { $this->log_write("Error: Cannot resolve MX \"".$domain."\"\n"); return FALSE; } foreach ($MXHOSTS as $host) { $this->log_write("Trying to ".$host.":".$this->smtp_port."\n"); $this->sock = @fsockopen($host, $this->smtp_port, $errno, $errstr, $this->time_out); if (!($this->sock && $this->smtp_ok())) { $this->log_write("Warning: Cannot connect to mx host ".$host."\n"); $this->log_write("Error: ".$errstr." (".$errno.")\n"); continue; } $this->log_write("Connected to mx host ".$host."\n"); return TRUE; } $this->log_write("Error: Cannot connect to any mx hosts (".implode(", ", $MXHOSTS).")\n"); return FALSE; } function smtp_message($header, $body) { fputs($this->sock, $header."\r\n".$body); $this->smtp_debug("> ".str_replace("\r\n", "\n"."> ", $header."\n> ".$body."\n> ")); return TRUE; } function smtp_eom() { fputs($this->sock, "\r\n.\r\n"); $this->smtp_debug(". [EOM]\n"); return $this->smtp_ok(); } function smtp_ok() { $response = str_replace("\r\n", "", fgets($this->sock, 512)); $this->smtp_debug($response."\n"); if (!ereg("^[23]", $response)) { fputs($this->sock, "QUIT\r\n"); fgets($this->sock, 512); $this->log_write("Error: Remote host returned \"".$response."\"\n"); return FALSE; } return TRUE; } function smtp_putcmd($cmd, $arg = "") { if ($arg != "") { if($cmd=="") $cmd = $arg; else $cmd = $cmd." ".$arg; } fputs($this->sock, $cmd."\r\n"); $this->smtp_debug("> ".$cmd."\n"); return $this->smtp_ok(); } function smtp_error($string) { $this->log_write("Error: Error occurred while ".$string.".\n"); return FALSE; } function log_write($message) { $this->smtp_debug($message); if ($this->log_file == "") { return TRUE; } $message = date("M d H:i:s ").get_current_user()."[".getmypid()."]: ".$message; if (!@file_exists($this->log_file) || !($fp = @fopen($this->log_file, "a"))) { $this->smtp_debug("Warning: Cannot open log file \"".$this->log_file."\"\n"); return FALSE;; } flock($fp, LOCK_EX); fputs($fp, $message); fclose($fp); return TRUE; } function strip_comment($address) { $comment = "\([^()]*\)"; while (ereg($comment, $address)) { $address = ereg_replace($comment, "", $address); } return $address; } function get_address($address) { $address = ereg_replace("([ \t\r\n])+", "", $address); $address = ereg_replace("^.*<(.+)>.*$", "\1", $address); return $address; } function smtp_debug($message) { if ($this->debug) { echo $message; } } } ?>
这个需要配置SMTP服务,现在QQ邮箱网易邮箱等都可以去设置,然后作为代理邮箱。
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);<br />$smtp->debug = false;//关闭调试<br />$state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype);<br />
在整个数据库操作过程中使用一个变量来监控是否出现操作错误,来返回是否注册成功;
error_reporting(E_ERROR | E_WARNING | E_PARSE);//屏蔽所有错误警告等
激活页面:
<?<span>php </span><span>header</span>("Content-Type:text/html;charset=utf-8"<span>); </span><span>require_once</span> "sendEmail/mysqlInfo/sqlInfo.php"<span>; </span><span>$name</span>=<span>base64_decode</span>(<span>$_GET</span>['isdhf'<span>]); </span><span>if</span>(<span>$name</span>==""<span>) { </span><span>exit</span><span>(); }</span><span>else</span><span>{ </span><span>$con</span>=@<span>mysql_connect</span>(DB_USER,DB_ROOT,DB_PWD)or <span>die</span>('连接错误'<span>); </span><span>//</span><span>选择数据库</span> <span>mysql_select_db</span>(DB_NAME,<span>$con</span>)or <span>die</span>('Occured error'<span>); </span><span>mysql_query</span>('SET NAMES UTF8') or <span>die</span>('显示错误'<span>); </span><span>$sql</span>="SELECT isActivated FROM chinesechess WHERE nickname='{<span>$name</span>}'"<span>; </span><span>//</span><span>$row=@mysql_query($query) or die('error');</span> <span>$result</span>=<span>mysql_query</span>(<span>$sql</span>,<span>$con</span>)or <span>die</span>('error'<span>); </span><span>//</span><span>关闭数据库</span> <span>$arr</span>=<span>mysql_fetch_array</span>(<span>$result</span><span>); </span><span>if</span>(<span>$arr</span>['isActivated']=='0'<span>) { </span><span>//</span><span>如果没有激活,就输出激活页面,否则网页不存在;</span> <span>echo</span> '<span><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="css/index_CSS.css" /> <style type="text/css"> body,td,th { font-size: xx-large; font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; } </style> <title>游戏注册[欢迎注册]</title> <script type="text/javascript"> function havedActivate() { var name=document.getElementById("nickname").title; window.location.href="activated.php?key="+name; } </script> </head> <body> <div id="tDiv"> <table> <td></td> </table> <h2 id="账户激活">账户激活</h2> <p> </p> <table width="100%" border="0"> <tr> <td id="tDL"><p>您的随机昵称为:<label id="nickname" title="</span>'.<span>$name</span>.'">"'.<span>$name</span>.'<span>"</label></p> <p> </p></td> </tr> <tr> <td align="center" id="tDL"> <p> <input type="submit" value="确认激活" id="activateBtn" onClick="havedActivate();"/> </p> </td> </tr> </table> <p> </p> </div> </body> </html></span>'<span>; }</span><span>else</span><span> { </span><span>echo</span> "该网页不存在"<span>; } </span><span>mysql_close</span><span>(); } </span>?>
<?<span>php </span><span>header</span>("Content-Type:text/html;charset=utf-8"<span>); </span><span>require_once</span> "sendEmail/mysqlInfo/sqlInfo.php"<span>; </span><span>error_reporting</span>(<span>E_ERROR</span> | <span>E_WARNING</span> | <span>E_PARSE</span>);<span>//</span><span>禁止显示错误警号等</span> <span>$name</span>=<span>$_GET</span>['key'<span>]; </span><span>if</span>(<span>$name</span>==""<span>) { </span><span>exit</span><span>(); }</span><span>else</span><span> { </span><span>$con</span>=@<span>mysql_connect</span>(DB_USER,DB_ROOT,DB_PWD)or <span>die</span>('连接错误'<span>); </span><span>//</span><span>选择数据库</span> <span>mysql_select_db</span>(DB_NAME,<span>$con</span>)or <span>die</span>('Occured error'<span>); </span><span>mysql_query</span>('SET NAMES UTF8') or <span>die</span>('显示错误'<span>); </span><span>$sql</span>="UPDATE chinesechess SET isActivated='1' WHERE nickname='{<span>$name</span>}'"<span>; </span><span>$result</span> = <span>mysql_query</span>(<span>$sql</span>,<span>$con</span>) or <span>die</span>('error'<span>); </span><span>//</span><span>关闭数据库</span> <span>mysql_close</span><span>(); </span><span>echo</span>'<span><html> <head> <meta charset="utf-8" /> <title>账号已激活</title> <link rel="stylesheet" href="css/index_CSS.css" /></span>'<span>; </span><span>$name</span>="<span> <script type='text/javascript'> document.write(getName()); function getName(){ var str=window.location.search; var args=str.split('?'); var retval=''; if(args[0]==str){return '';}//参数为空; return args[1].split('=')[1]; } </script></span>"<span>; </span><span>echo</span> '<span></head> <body> <div id="tDiv"> <table> <td></td> </table> <h2 id="账户已激活">账户已激活</h2> <p> </p> <table width="100%" border="0"> <tr> <td id="tDL"><p>您的随机昵称为:<label></span>'.<span>$name</span>.'<span></label></p> <p> </p></td> </tr> <tr> <td align="center" id="tDL"> <p> <p><font color="#FF0000">您的账号已激活,祝您游戏愉快!</font></p> </p> </td> </tr> </table> <p> </p> </div> </body> </html></span>'<span>; } </span>?>
CSS:
<span>@charset "utf-8"; </span><span>/*</span><span> CSS Document </span><span>*/</span><span> h2</span>{<span> font-size</span>:<span>56px</span>;<span> font-weight</span>:<span>bold</span>;<span> text-align</span>:<span>center</span>; }<span> body</span>{<span> width</span>:<span>auto</span>;<span> height</span>:<span>auto</span>;<span> background-image</span>:<span>url(../images/03.png)</span>;<span> background-repeat</span>:<span>no-repeat</span>;<span> background-size</span>:<span>100% 100%</span>;<span> background-attachment</span>:<span>fixed</span>;<span> background-position</span>:<span>center</span>; }<span> #tDiv</span>{<span> background-image</span>:<span>url(../images/o1.png)</span>;<span> background-repeat</span>:<span>repeat</span>;<span> margin-left</span>:<span>auto</span>;<span> margin-right</span>:<span>auto</span>;<span> margin-top</span>:<span>200px</span>;<span> width</span>:<span>550px</span>;<span> height</span>:<span>auto</span>;<span> font-size</span>:<span>10px</span>;<span> border</span>:<span>2px solid #CCC</span>; }<span> #tDL</span>{<span> font-size</span>:<span>24px</span>;<span> text-align</span>:<span>center</span>; }
登录:
<?<span>php </span><span>header</span>("Content-Type:text/html;charset=utf-8"<span>); </span><span>require_once</span> "sendEmail/mysqlInfo/sqlInfo.php"<span>; </span><span>error_reporting</span>(<span>E_ERROR</span> | <span>E_WARNING</span> | <span>E_PARSE</span>);<span>//</span><span>禁止显示错误警号等</span> <span>$sign</span>=''<span>; </span><span>$_email</span>=<span>$_POST</span>['_email'<span>]; </span><span>$_paswd</span>=<span>$_POST</span>['_pasd'<span>]; </span><span>//</span><span> $_email="2810718058@qq.com"; // $_paswd="1234567890";</span> <span>$_activate</span>='1'; <span>//</span><span>激活变量 //连接数据库</span> <span>$con</span>=@<span>mysql_connect</span>(DB_USER,DB_ROOT,DB_PWD)or <span>die</span>('连接错误'<span>); </span><span>mysql_select_db</span>(DB_NAME,<span>$con</span>)or <span>die</span>('Occured error'<span>); </span><span>mysql_query</span>('SET NAMES UTF8') or <span>die</span>('显示错误'<span>); </span><span>$sql</span>="SELECT * FROM chinesechess WHERE user_email='{<span>$_email</span>}'and password='{<span>$_paswd</span>}' and isActivated='{<span>$_activate</span>}'"<span>; </span><span>$result</span> = <span>mysql_query</span>(<span>$sql</span>,<span>$con</span><span>); </span><span>$source</span>=<span>mysql_fetch_array</span>(<span>$result</span><span>); </span><span>if</span>(<span>$source</span><span>) { </span><span>$sign</span>="succeed"<span>; </span><span>$name</span>=<span>$source</span>['nickname'<span>]; </span><span>$pasd</span>=<span>$source</span>['password'<span>]; </span><span>$mail</span>=<span>$source</span>['user_email'<span>]; </span><span>echo</span> 'strings=name='.<span>$name</span>.'<br/>'<span>; </span><span>echo</span> 'pasd='.<span>$pasd</span>.'<br/>'<span>; </span><span>echo</span> 'mail='.<span>$mail</span>.'<br/>'<span>; </span><span>echo</span> 'sign='.<span>$sign</span>.'<br/>'<span>; }</span><span>else</span><span> { </span><span>$sign</span>="faild"<span>; </span><span>$name</span>="null"<span>; </span><span>$pasd</span>="000000"<span>; </span><span>$mail</span>="null@cn.com"<span>; </span><span>echo</span> 'strings=name='.<span>$name</span>.'<br/>'<span>; </span><span>echo</span> 'pasd='.<span>$pasd</span>.'<br/>'<span>; </span><span>echo</span> 'mail='.<span>$mail</span>.'<br/>'<span>; </span><span>echo</span> 'sign='.<span>$sign</span>.'<br/>'<span>; } </span><span>mysql_close</span><span>(); </span>?>
Resource id #num
由于本人是一枚初学者,对mysql查询返回值等理解不够,遇到了一点困惑,mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。要使用mysql_fatch_array()函数或者mysql_fetch_object()函数进行转换,然后对相应数组或者对象进行操作。
总的来说这部分遇到的困难也不是很多,经过自己的努力很快就解决了。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le 24 avril, le jeu de combat en ligne d'anime en deux dimensions "Elsword" ouvrira une nouvelle carrière à Lydia, la chercheuse folle, obsédée par les failles et attirée par les tabous, offrira aux joueurs une nouvelle expérience ! Le dernier personnage de "Elsword", "Lydia", a attiré l'amour et la poursuite de la majorité des joueurs avec son intrigue indépendante unique, son village et son donjon. C'est un personnage très mobile avec un piolet unique et une corde à crochet exclusive. utilise la magie du minerai pour lancer des attaques passionnantes, apportant aux joueurs une passion très rafraîchissante pour l'aventure ! Cette fois, le troisième secteur de carrière de Lidya, chercheur fou, est ouvert. Découvrons-le ensemble ! Le jeu "Elsword" comporte quatre branches de parcours de croissance pour chaque personnage. Chaque branche a une direction d'intrigue et des caractéristiques différentes que les joueurs peuvent choisir.

De nos jours, de nombreux amis aiment utiliser Kingsoft Typing Assistant, mais la vitesse de frappe affecte sérieusement l'efficacité du travail, je vous apprends donc à vous entraîner à la vitesse de frappe. Alors, comment utiliser Kingsoft Typing Assistant pour vous entraîner à taper ? comment s'entraîner à taper des chiffres avec Kingsoft Typing Assistant. Ce qui suit est décrit, j'espère que cela sera utile à tout le monde. Tout d'abord, ouvrez le logiciel de saisie Kingsoft, puis cliquez sur le bouton (Mise en route) avec votre souris, puis cliquez sur le bouton (Touches numériques) dans une nouvelle fenêtre, puis cliquez sur le bouton (Démarrer à partir de zéro) ci-dessous pour vous entraîner, ou cliquez sur le bouton ( Mode Test), entrez simplement des chiffres pour vous entraîner. De plus, Kingsoft Typing Assistant dispose d'autres fonctions qui peuvent vous aider à mieux taper. 1. Sélectionnez le mode d'entraînement : sur l'interface du logiciel, vous pouvez voir qu'il existe différents modes d'entraînement, tels que "Nouveau

Voyagez à travers l’immensité et embarquez pour le voyage vers l’ouest ! Aujourd'hui, Zhengtu IP a officiellement annoncé qu'elle lancerait une coopération transfrontalière avec l'animation CCTV « Journey to the West » pour créer conjointement une fête culturelle alliant tradition et innovation ! Cette coopération marque non seulement la coopération approfondie entre les deux grandes marques classiques nationales, mais démontre également les efforts inlassables et la persistance de la série Journey dans la promotion de la culture traditionnelle chinoise. Depuis sa naissance, la série Zhengtu est appréciée des joueurs pour son profond héritage culturel et son gameplay diversifié. En termes d'héritage culturel, la série Zhengtu a toujours maintenu le respect et l'amour pour la culture traditionnelle chinoise et a habilement intégré des éléments culturels traditionnels dans le jeu, apportant plus de plaisir et d'inspiration aux joueurs. L'animation CCTV "Voyage vers l'Ouest" est un classique qui a accompagné la croissance des générations.

Les maîtres s'affrontent et se battent jusqu'au bout ! Zhang Weijian soutient avec enthousiasme le jeu mobile « Swordsman World : Origin », une œuvre héritée de 26 ans de relation d'épéiste à Xishanju, et le concours de sectes inter-serveurs est désormais ouvert ! Avec des épées, des épées et des ombres, les héros émergent en grand nombre. Les meilleurs maîtres de tous les serveurs se rassemblent dans l'arène inter-serveurs pour concourir pour l'honneur suprême d'être le premier de la secte inter-serveurs. concours artistique, les mouvements sont pleins de sang ! Dans les 12 grandes sectes de "Swordsman World : Origin" Parmi elles, les épées, les lances, les épées, les hallebardes, les poings, les paumes et les bâtons ont tous leurs propres mouvements uniques ! Par exemple, la faction du Clan Tang utilise des armes cachées trempées dans le poison pour tuer des gens d'un seul coup ; la faction des Cinq Poisons utilise des techniques de poison pour tuer des gens de manière invisible ; la faction Cuiyan utilise des personnages cachés pour surprendre les gens avec des épées ; -des combats au corps à corps pour concourir... ...Il existe également des centaines de secrets d'arts martiaux tels que Yiyangzhi, Lingbo Weibu et Dix-huit Dragons Subduing Palms. Les cinq éléments se retiennent, une secte a deux itinéraires, et la bataille

Résumé de la fonction system() sous Linux Dans le système Linux, la fonction system() est une fonction très couramment utilisée, qui permet d'exécuter des commandes en ligne de commande. Cet article présentera la fonction system() en détail et fournira quelques exemples de code spécifiques. 1. Utilisation de base de la fonction system(). La déclaration de la fonction system() est la suivante : intsystem(constchar*command) où le paramètre de commande est un caractère.

L'épée est tirée sur le cheval et l'épée abat des milliers de soldats ! Recommandée par Zhang Weijian, la production de Xishanju du jeu mobile "Swordsman World: Origin" Song and Jin Battles, vieille de 26 ans, a reçu une nouvelle mise à niveau, ouvrant la voie à des défis inter-serveurs. Un champ de bataille à plus grande échelle, une nouvelle carte de combat et des mécanismes de combat intéressants offrent une plate-forme « d'arts martiaux » plus large et plus équitable permettant aux héros de s'affronter et de communiquer ! De plus, les gagnants qui remplissent les conditions peuvent également participer au « mode mensuel » pour rivaliser avec les meilleurs joueurs de tous les serveurs. Super Burning PK est désormais ouvert, venez vous amuser ensemble ! Les drapeaux flottent, les tambours de guerre grondent ! Les champs de bataille inter-serveurs Song et Jin bénéficient d'une mise à niveau majeure ! Song et Jin entre serveurs utiliseront une nouvelle carte, qui a non seulement 1,5 fois la superficie de la carte existante et un champ de bataille central plus large, mais il convient également de mentionner que la nouvelle carte raccourcit les "tigres bloquants" d'origine du routes supérieures, moyennes et inférieures, Da Xia

L'ombre de l'épée de l'ancienne tombe, la bataille d'Iron Floating City ! Le nouveau pack d'extension du jeu mobile "Swordsman World: Origin" "Tomb Sword Shadow", hérité depuis 26 ans par Xishanju Swordsman, sera lancé le 20 juin. L'ancien tombeau de la treizième secte est né, la ville flottante de fer a été ravivée et vous avez grimpé jusqu'à la tour aux mille étages pour défier vos limites. Le serveur avec des dizaines de milliers de personnes est sur le point d'être ouvert. De nombreuses beautés sont ici. pour vous aider, et de nombreuses nouvelles fonctionnalités vous attendent. Jinghongying, épée impitoyable, la treizième secte du jeu mobile "Swordsman World: Origin" - la Tomb Sect fait ses débuts. Les disciples de l'Ancient Tomb Sect sont toutes des femmes à l'apparence raffinée. Elles pratiquent en retrait toute l'année et ne se mêlent pas des affaires politiques. L'avènement de la Tomb Sect entraînera la création de deux nouvelles écoles de maîtrise de l'épée et d'acupuncture. La maîtrise de l'épée est bonne pour les rafales à longue portée, tandis que l'acupuncture se concentre sur le combat au corps à corps. Les compétences et le style de combat uniques de la maîtrise de l'épée et de l'acupuncture seront parfaits pour tout le monde.

Le 7 mai, heure des États-Unis, la 8e édition 2024 du Game Expo de l'Université de Californie du Sud (USCGamesEXPO) a débuté à Los Angeles. Cette année, une autre personnalité chinoise est présente à l'exposition : Xishanju. En tant que partenaire de cette conférence, Xishanju soutient non seulement pleinement le bon développement de l'exposition, mais offre également des opportunités d'emploi et de stage à la prochaine génération de développeurs de jeux. Dans le message du PDG de Xishanju, Guo Weiwei, l'exposition a débuté : « Nous accordons plus d'attention à la formation et au soutien de la prochaine génération de développeurs de jeux, dans l'espoir de les aider à réaliser leurs rêves, à enflammer leur passion et à transmettre cet amour pour jeux." , Xishanju a présenté un merveilleux début de la nouvelle œuvre "Unlimited Machine". Le style esthétique industriel du futur proche et l'expressivité cool ont attiré un grand nombre d'étudiants de l'Université de Californie du Sud à venir s'enregistrer.
