[代理]すみません、丸投げ質問です。

TwitterのBOTに好感度機能がついているのですが、好感度は?と聞かれた時に数値ごとに分ける記述を教えて下さい。
たとえば、0~20だったらそれほど仲良くない、21~40だったらまあまあ仲良し 等と返信したいのですが。
現在の設定は以下の通りです。 

//----------------------------------------------------//
// 現在の好感度情報を表示 //
//--------------------------------------------------//
function showUserLoveValue($BrowseUsersLoveValue)
{

if( $BrowseUsersLoveValue >= 0 )
{
$ResultsMessage = "それほど仲よくない(好感度値:".$BrowseUsersLoveValue.")";
}

return $ResultsMessage;
}


これだと全ての数値で それほど仲良くない と返されてしまうので…。
どなたか記述をお願い致します。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2011/12/06 11:44:19
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:psne No.1

回答回数605ベストアンサー獲得回数334

ポイント100pt

//http://q.hatena.ne.jp/
//URLはダミーです。消去できます。
//使用言語が不明なので、泥臭い処理で。
//----------------------------------------------------//
// 現在の好感度情報を表示 //
//--------------------------------------------------//
function showUserLoveValue($BrowseUsersLoveValue)
{
$ResultsMessage = "それほど仲よくない(好感度値:".$BrowseUsersLoveValue.")";

if( $BrowseUsersLoveValue > 20 )
{
$ResultsMessage = "まあまあ仲良し(好感度値:".$BrowseUsersLoveValue.")";
}

if( $BrowseUsersLoveValue > 40 )
{
$ResultsMessage = "ほどほど仲良し(好感度値:".$BrowseUsersLoveValue.")";
}

if( $BrowseUsersLoveValue > 60 )
{
$ResultsMessage = "仲良し(好感度値:".$BrowseUsersLoveValue.")";
}

if( $BrowseUsersLoveValue > 80 )
{
$ResultsMessage = "すごく仲良し(好感度値:".$BrowseUsersLoveValue.")";
}

return $ResultsMessage;
}


//////////
以下、PHPということで、追記です
//----------------------------------------------------//
// 現在の好感度情報を表示 //
//--------------------------------------------------//
function showUserLoveValue($BrowseUsersLoveValue)
{
switch (true) {
case ($BrowseUsersLoveValue > 20):
$ResultsMessage = "まあまあ仲良し(好感度値:".$BrowseUsersLoveValue.")";
break;
case ($BrowseUsersLoveValue > 40):
$ResultsMessage = "ほどほど仲良し(好感度値:".$BrowseUsersLoveValue.")";
break;
case ($BrowseUsersLoveValue > 60):
$ResultsMessage = "仲良し(好感度値:".$BrowseUsersLoveValue.")";
break;
case ($BrowseUsersLoveValue > 80):
$ResultsMessage = "すごく仲良し(好感度値:".$BrowseUsersLoveValue.")";
break;
default:
// ※これは、その他の数値・または20以下の場合
$ResultsMessage = "それほど仲よくない(好感度値:".$BrowseUsersLoveValue.")";
break;
}
return $ResultsMessage;
}

他1件のコメントを見る
id:psne

追記部分は未確認です:)

2011/12/06 10:35:51
id:Helty-baddy

ありがとうございました!

2011/12/06 11:46:54
id:mario-16 No.2

回答回数219ベストアンサー獲得回数21

ポイント100pt
<?php
//----------------------------------------------------//
// 現在の好感度情報を表示 //
//--------------------------------------------------//
function showUserLoveValue($BrowseUsersLoveValue)
{
    $ResultsMessage = "このメッセージになることはあり得ない(好感度値:".$BrowseUsersLoveValue."";
    if( 0 <= $BrowseUsersLoveValue && $BrowseUsersLoveValue <= 20 )
    {
        $ResultsMessage = "それほど仲よくない(好感度値:".$BrowseUsersLoveValue."";
    }
    elseif( 21 <= $BrowseUsersLoveValue && $BrowseUsersLoveValue <= 40 )
    {
        $ResultsMessage = "まあまあ仲良し(好感度値:".$BrowseUsersLoveValue."";
    }
    elseif( 41 <= $BrowseUsersLoveValue && $BrowseUsersLoveValue <= 60 )
    {
        $ResultsMessage = "普通に仲良し(好感度値:".$BrowseUsersLoveValue."";
    }
    ...

    return $ResultsMessage;
}
?>

冗長に見えますが値の範囲をきちんと書いておくとソースの可読性が上がります。
http://www.php.net/manual/ja/control-structures.if.php
http://www.php.net/manual/ja/control-structures.elseif.php

他2件のコメントを見る
id:Helty-baddy

マイナスの場合も同じ処理で良いのでしょうか…?

2011/12/06 11:28:21
id:Helty-baddy

ありがとうございました!

2011/12/06 11:47:12
  • id:Helty-baddy
    結局

    object(SimpleXMLElement)#11 (2) {
    ["error"]=>
    string(34) "Could not authenticate with OAuth."
    ["request"]=>
    string(22) "/1/statuses/update.xml"
    }

    のエラーは直らなかったようですが、好感度の振り分けは成功したようです。
    ぽけっとしすてむ様、蝸牛角上争何事様、素早くご丁寧なご回答ありがとうございました!
  • id:psne
    >Could not authenticate with OAuth.
    これは、Twitterクライアント(BOT)をTwitterで認証していないので利用できませんよ。というエラーです。
    配布元に解説があると思いますので、ご確認ください。
  • id:Helty-baddy
    ぽけっとしすてむ様、ありがとうございまいます。
    聞いてみた所、配布元というか、改造して作ったらしく特に解説などはないそうです。
    ていうかそのくらいわかれ!といわれてしまいました…あんちきしょう…!
    じゃあ自分で質問しろや、といったら 海外だから無理、とかぬかしやがりました。殴っていいですか?w

    いずれにせよ、ご丁寧でわかりやすいご回答ありがとうございました!
    とても助かりました!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません