我在网站上忙于游戏。我目前正在注册。现在的重点是,我们希望让玩家在他们的Ingame笔记中加入代码,这样我们就可以验证某个帐户是否真的属于某人。
所以我编写了一个可以获取游戏注释的PHP类。现在我们还要做的一件事就是用这些笔记设置一个javascript变量。所以我可以在它们中搜索代码。
我想到的是做setInterval
,然后在该函数中每250毫秒设置一次变量。那似乎有点困难。我的第一个猜测是,它有一些范围问题,使得setInterval
之外的变量不可用。
这是我制作的JS:
var mission = "";
setInterval( function() {
var mission = "<?php echo Core\InGame::getNotes('TestPlayer');?>";
}, 250);
$("#mission").html(mission);
这么简单的代码怎么可能不起作用?
我确定了一些事情。
我包含了jQuery。
我已将代码放入JS文件中,该文件包含在内。
我在此设置中调试了PHP代码(没有setInverval)。
有没有办法让这成为可能?
答案 0 :(得分:4)
您无法在客户端执行PHP代码。这样做的方法是使用ajax或load()
调用php代码<强> myscipt.php 强>
<?php echo Core\InGame::getNotes('TestPlayer');?>
<强> myscript.js 强>
setInterval( function() {
$("#mission").load('myscript.php');
}, 250);
注意,250 ms
的间隔非常短,并且根据网络延迟不会每250 ms
更新一次。尝试更长的间隔。
答案 1 :(得分:1)
您发布了PHP代码。
这个PHP一旦被解释并以HTML格式发送到浏览器,就会出现这样的结果:
var mission = "";
setInterval( function() {
var mission = "Hello";
}, 250);
$("#mission").html(mission);
setInterval内部的内容不会发生变化。在被发送到浏览器之前,它已被解释为服务器端,并且将永远是&#34; Hello&#34;。 PHP代码完全消失。所以你的间隔有效,但它总是设置相同的值......
答案 2 :(得分:1)
尝试
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
答案 3 :(得分:1)
您可以将整个代码移到tgrget函数中;
char letter;
int score = 0;
string hangWord;
//input inputs
Console.WriteLine("Welcome to the hangman game!");
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("Player 1 please enter a word.");
hangWord = Convert.ToString(Console.ReadLine());
char[] hangCharacters = hangWord.ToCharArray();
char[] asteriskWord = hangWord.ToCharArray();
string displayWord;
foreach (char guess in asteriskWord)
{
asteriskWord[guess] = '*';
}
while (score < 5)
{
Console.WriteLine("Enter a letter please");
Console.WriteLine();
foreach (char guess in hangCharacters)
{ //How do I write a loop that tests all values and if none are correct
//displays "You guessed incorrectly"?
letter = Convert.ToChar(Console.ReadLine());
if( guess == letter)
{
Console.WriteLine("You guessed correctly!");
Console.WriteLine
//Also I don't know how to change the correct value in the asteriskWord[] so that it displays
//only the character that was guessed in asteriskWord[]
}
}
}
Console.WriteLine("Your score is " + score);
if (displayWord == hangWord)
Console.WriteLine("You Win! Thank you for playing!");
else
{
Console.WriteLine("Thank you for playing! Try again!");
}