C言語 じゃんけんゲーム 急いでいます
じゃんけんゲームを作成しましたが
以下のプログラムに
・コンピュータ(CP)の手を記録し一つ前と同じ手を出さずにランダムで手を出す
(例:前回CPがパーなら、今回CPはチョキかグーをだす)
・あいこの場合次のじゃんけんで同じ手を再び出す
(例:今回CPもプレイヤーもグーの場合は次のじゃんけんでCPはグーを出す)
という2つを追加したいのですが恐縮ですが
私ならこう、という模範解答をお願いします…
#include <stdio.h>
int main()
{
int i,n;
int player;
int computer;
//勝敗数変数
int p_kati, p_make,p_draw;
int q_kati=0, q_make=0,q_draw=0;
//繰り返し条件
do
{
//変数の初期化
p_kati=0;
p_make=0;
p_draw = 0;
//タイトル
printf("あなたが出した手は・・・\n");
//乱数の初期化
srand(time(NULL));
//最低5回繰り返す
for(i=1; i<=5; i++){
//コンピュータの手
computer = rand() %3;
//プレイヤーの手を表記
printf("(グー: 0 チョキ: 1 パー: 2)→ ");
do{
scanf("%d", &player); //プレイヤーの手
if(player<0 || 2<player){ //0、1、2以外を入力すると
printf("もう一度入力してください");//これを表示
}
}while(player<0 || 2<player);//0、1、2を入力で下記を実行
//勝ち負けの判定
if(player==0 && computer==0){
printf("playerも私もグーでした…引き分けです\n");
p_draw++;
}
else if(player==0 && computer==1){
printf("playerはグーで、私はチョキです…あなたの勝利です\n");
p_kati++;
}
else if(player==0 && computer==2){
printf("playerはグーで、私はパーです…あなたの負けです\n");
p_make++;
}
else if(player==1 && computer==0){
printf("playerはチョキで、私はグーです…あなたの負けです\n");
p_make++;
(全パターン長いので省略)
else if(player==2 && computer==2){
printf("playerも私もパーでした…引き分けです\n");
p_draw++;
}
}
//結果表示
printf("%d 勝 %d 敗 %d 引き分けでした。\n",p_kati,p_make,p_draw);
printf("このまま続けますか?続ける場合は何か数字を入力し、続けない場合は -1 を入力してください > ");
scanf("%d", &n);
//トータル点数を計算
q_kati += p_kati;
q_make += p_make;
q_draw += p_draw;
//n(入力された数字)が-1以外なら続ける
}while(n != -1);
printf("トータルで %d 勝 %d 敗 %d 引き分けでした。\n",q_kati,q_make,q_draw);
return 0;
}