(テニスのように)先に4勝するとどちらかの勝利で終わるが、3勝3敗となったときには先に2連続した方が勝ちになるように変更したプログラムを作成せよ。
このような課題が出されているのですが、条件文をどのように定義したらよいのでしょうか?
実際に動作するプログラムを載せていただけるとありがたいです。
テニスのような、勝敗を決定するプログラム
Re:テニスのような、勝敗を決定するプログラム
条件式が分からないという事は、そこ以外は出来ているという事ですよね?
完成している箇所だけでかまいませんので、ソースコードを提示してください。
完成している箇所だけでかまいませんので、ソースコードを提示してください。
Re:テニスのような、勝敗を決定するプログラム
急いで書いたので醜いソースですが参考までに...
int a_win,b_win; // 勝利回数 int win_num = 0; // 0=>なし 1=>aの勝ち 2=>bの勝ち // ~勝敗の処理~ 勝ったほうの ~_winに+1する if(a_win >= 3 && b_win >= 3){ if(a_win-2 == b_win) win_num = 1; else if(a_win+2 == b_win) win_num = 2; }else{ if(a_win >= 4) win_num = 1; // aの勝ち else if(b_win >= 4) win_num = 2; // bの勝ち }また環境がわからなかったので違ったらすみません。
Re:テニスのような、勝敗を決定するプログラム
この得点になったら勝ち!という、win_pointみたいなのを定義しておきます。
とりあえずデフォルトではwin_point=4ですが、3対3になったらwin_point+=2とします。
また4対4になれば同じことをすればいいだけなので簡単ではないでしょうか?
aとbを比較するのではなくて、勝利ポイントと比べるのはいかがでしょう?
プログラムは載せませんが、参考にしてくださいね♪
とりあえずデフォルトではwin_point=4ですが、3対3になったらwin_point+=2とします。
また4対4になれば同じことをすればいいだけなので簡単ではないでしょうか?
aとbを比較するのではなくて、勝利ポイントと比べるのはいかがでしょう?
プログラムは載せませんが、参考にしてくださいね♪