scanf("%d",&player); ・最後に『回帰分析』とは何?下の『参考URL』をどうぞ。→『数学』カテゴリで質問してみては?
{2,1,2,0} // my.h
なお、戻り値は読み込んだ項目数ですので、
int[][]tb...続きを読む, Cの標準関数だけで
自分の手と、その場に出ていた手の種類だけで勝敗判定可能です。
computer = (rand() % 3);
printf("負けました\n");
3 で割った余りは必ず 0 ~ 2 になるのでグー・チョキ・パー定数の 0 ~ 2 と一致します。
printf("0から2の範囲で入力してください。\n");
printf("私はグーなので、あいこです¥n");
if(i==2&&n==0){
do{ ↑のようなプログラムを作成したいと思っております。
自分とコンピュータのじゃんけん大会
勝ちカウンタと負けカウンタを引くことで引き分け回数を算出してます。
見れば分かると思いますが引き分けの回数はカウンタは用意せず勝負回数の MAX_LOOP から
参考URLを記載しておきます。
int main( void )
Label1.Caption = "私はパー。だからあなたの負けです。"
#include "my.h"
そこで switch 文で処理を分岐してメッセージの表示と勝ちカウンタの増加、負けカウンタの増加を記述してます。
c = rand()%3+1;
if(A > 100 || A <0 ){ For i = 1 To 10 //int dice(int n);
printf("あなたはチョキで、私はグーでした。あなたの負けです。\n");
printf("じゃんけんをしましょう(ぐー:1、ちょき:2、ぱー:3)¥n");
というようなものにしたのですが
return 0;
bool isOK(int a) Private Sub CommandButton1_Click()
(adsbygoogle=window.adsbygoogle||[]).push({}); 前回、if文とwhile文をまとめたので、それを用いた簡単なじゃんけんゲームをプログラミングで作ってみたいと思います。, 高度なランダム機能を使ったじゃんけんゲームではなく、ここでは前回の勉強の応用として、if文とwhile文を使ったプログラミングを作ります。, そのうちプログラミングが慣れてくればもうちょっとすごい、じゃんけんゲームが作れればっておもうんですがね。。。, if文、while文でそれぞれのじゃんけんゲームを作っていますが、ルールは以下のようになります。. }, インデントに全角スペースを使ってます。実際にコピーペーストする際には気をつけてください。
else if(a==2 && c==3)
} while(! srand(time(NULL));
プライバシーポリシー・サイトポリシー・免責事項など | でした。(違っていたら申し訳ないです。)
/* エラー対処済みなので何もしない */ #include なお、引き分けの場合は、勝ちカウンタも負けカウンタも増加させません。, 上記はじゃんけんゲームの結果発表を表示する部分です。
トップ この程度の遊びならいいかもしれませんが、本格的にやるなら、他の方法にしましょう。 printf("勝ちました\n");
printf("手を入力します(グー:1 チョキ:2 パー:3)\n");
CONTENTS(一覧) どうすれば回帰分析が分かるようになるのでしょうか?
isOK(a)); ・質問者様のソースには、ジャンケンの全ての組み合わせが書かれていますが、ちょっと工夫しました。
URL:ttp://okwave.jp/qa/q7038056.html
●ゲームモードは毎回選択する 計算方法から「『前回まで発生させた乱数』が同じなら、『次の乱数』も同じになる」という性質があります。 int a, c, user_win = 0, user_draw = 0, user_lose = 0, iRensyou = 0;
002,020,022,100,101,110,211,212,221
{-1,2,0,1}, {
//以下、「勝敗処理」は提示頂いたコードと同じなので省略, 突貫で考えたので粗悪ですが、とりあえずのコードを挙げます。 randがどう作られているか、によるのですが
srand((unsigned)time(NULL));
char cStr[256];
0.000000000000000000243という数値を意味します。
・E-数値は 0.1、0.01、0.001 という小さい数を表します。
一人勝ちの場合と二人勝ちの場合に分けるという
computer = Normalmode(player);/*関数の中身は御自分でお願いします*/ }
char hand[][MAX_STRLEN] = {"グー", "チョキ", "パー"};
scanf("%d",&i);
Label1.Caption = "私はパー。だからあなたの負けです。" // 勝敗判定
・-1は桁がづれるため不可 /* なので、最低限の手抜き対策です */
:0の場合
ソースコードではなく発想の一般論として言えば、
case 4:
{9,2,0,1},
}else{
あいこであるパターンは
A = B なら C の負け
> strcat( a, b );//"aaaabbbb"?
int n = scanf("%[a-zA-Z0-9\\: \t^\r\n]",buf);
結局のところ、意味があると言えばあるし、ないと言えばないし。
これでパーの場合は JKN_PAA という名前の記号定数を使って処理できます。, 上記は人間とコンピュータの勝負判定に使う定数です。
printf( "あなたは %s で、私は %s でした。あなたの負けです。\n", cgTe[a], cgTe[c] );
scanf("%s",&s[7]);
int i;
(A + B + C) ÷ 3 のあまりが
1.利用者とコンピュータによる対戦形式とします。
printf("私はグーなので、あなたの勝ちです¥n"); int main(void) else
for(i=0;i<5;i++){ switch(i){ do {
やはりwhile文を使って繰り返し判定を出すの必要だと思いました。, 構造体+配列わかりやすいです。
int n;
return TYP_AIKO;
printf("負けました\n");
}
switch ( getche() ){
==================================
発想はありませんでした。, 記入漏れで申し訳ありませんでした。
printf("手を入力します(グー:1 チョキ:2 パー:3)\n");
} switch ( human ){
2.43×1/10000000000000000000となり、
エラーメッセージを読んでください。 return true; じゃんけんゲームは10回行ったら終了して「勝ち」「負け」「引き分け」の結果を表示する。 上記のルール(仕様)は、どこにでもありそうなゲームの仕様です。 しかし、このようなルール(仕様)をちゃんと決めない … 修正作業はそこからがスタートです。 お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。, シーケンスのプログラムについて、 押して離すとオンする動作のプログラムを作りたいのですが、私の頭じゃ, このVBSプログラムのどこを直せばいいか教えて下さい。 このプログラムは、他者のプログラムをコピーし, processingで雪が積もるようなアニメーションを作りたいです。 雪が降るプログラムは作ることが.
iRensyou++;
End If {0,1,2,0} printf("あなたはパーで、私はグーでした。あなたの勝ちです。\n");
#include
#include
int human; // キー入力の一時変数(人間用)
#include
if( ( ( a - 1 ) == c ) || ( ( a + 2 ) == c ) ){ // 負け
それ以外なら B の負け
if(sscanf(input, "%d", &i) < 1)
という形がいいのかなと思ってます(javaでどう書けばいいのかはわかりません--;)
Dim i As Integer #define JKN_PA (2)
#include "main.h"/* 関数の宣言などをまとめたヘッダファイル */
URL:ttp://okwave.jp/qa/q7038056.html
: 2の場合
int continue_f; int i;
printf("あなたはグーで、私はチョキでした。あなたの勝ちです。\n");
ここまでではないにしても、次のような記述でも、わかりにくいと思います。 End If
ft = ft - 1 5つのパターン(コンピュータの手) scanf("%d",&a);
char hand[][MAX_STRLEN] = {"グー", "チョキ", "パー"};
そのほかにはNo1さんのような役割指すときも、それを「戻り値」と呼んだりします。, 今、授業の課題でジャンケンゲームを作成していますが、なかなかできません。もし、良かったら何処が違うのか教えてください。
printf("あなたはパーで、私はチョキでした。あなたの負けです。\n");
if(i == n)
do{
: 2の場合
p_lose++; 三人でじゃんけんをするプログラムを作るために
6.あいこである限りは自動的にじゃんけんを反復しなさい。
printf("あなたはグーで、私はパーでした。あなたの負けです。\n");
・になります。ようするに 10 を n 乗すると元の数字になるた...続きを読む, ※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。 従いまして、strcat( a, b );とすると、aがさしているメモリは5バイトしかないのでメモリを破壊してしまいます。
user_draw++;
じゃんけん終了後、買った回数順に順位をつけて、1位から順に表示する。
if( ( ( a + 1 ) == c ) || ( ( a - 2 ) == c ) ){ // 勝ち
End If srand(time(NULL));
printf("そんなモードはない。めんどいからチートモードにご案内\n"); }
/* めんどいのでやってないが、本来はゲームモードのスイッチ処理⇒プレイヤーの手処理とするべき */ }
#include
成績の管理を他で行う必要がなくなります。
printf("あいこです\n");
2人の子供がいて、名前をそれぞれ太郎・花子にしましょう。この2人の子にある役割を決めます。
printf("勝ちました\n");
}; }
もしかすると、このやり方以外にも3人のじゃんけんの
}else{
printf("あいこです\n");
Else //#include
(趣味の問題:cgTe[]の c は char型、 g はグローバルのつもり)
⇔合計を取る意味が薄くなった。 そのプログラムをこちらでコンパイルしたところ、エラーにはなりませんが、警告(warning)が出ました。 break; 回帰分析でR2(決定係数)しかみていないのですが
どういう風に組んでいるのか研究したいのでソースお願いします。
とし使いまた後で
char input[MAX_STRLEN];
break; 参加者に、場に出た手の種類を通知し、
{
#include break;
char input[MAX_STRLEN];
もし、他の現象なら、その「うまく動作しない」状況を、具体的に説明してください。 2種類の場合には、出ている手と比較し勝敗判定を行う、
printf("私はパーなので、あなたの勝ちです¥n");
ArrayListに登録されたオブジェクトのソート ということで、
参考URL:http://ja.wikipedia.org/wiki/%E5%9B%9E%E5%B8%B0%E5%88%86%E6%9E%90, ★回答
・なるべく提示された原型を壊さずに改良してみた。 }while(continue_f!=-1); {1,0,1,2}, 以上のことを考えて9を使ったと思われます。
}; }
if(i==0&&n==0){
else if(a==1 && c==3)
{
else if(i==3&&j==2) printf("あなたは%sでわたしは%sです・・・わたしの勝利です。\n", トップ | 仕様は
ここの処理は十人十色であり、10人のプログラマーがいれば10通りの方法で勝負の判定処理を記述します。
If Cells(1, 1) = 2 Then
<簡単解説> case 1: if( a == c ){ // アイコ
printf("あなたはグーで、私もグーでした。アイコです。\n");
p_win++; int m=rand3(); int a,c;
else if(a==1 && c==2)
もし、MISS表示になってしまった後、またcinにもどるにはどうすればいいですか?
printf("あいこです。\n");
case 3: printf("あなたはグーで、私はパーでした。あなたの負けです。\n");
printf("私はチョキなので、あいこです¥n"); /* 関数「簡単」をコール */ (趣味の問題:cgTe[]の c は char型、 g はグロ...続きを読む, 三人でじゃんけんをするプログラムを作るために
ひとりだけ負け
>if(s == jyan){
// dice.c
私が悩んでいる点は、じゃんけんの結果判定の方法と勝ち数ごとの順位付け・並び替えの方法です。(全部ですね・・・)
どこがおかしいのでしょうか? char cgTe[4][16] = { "0:未使用", "1:グー", "2:チョキ", "3:パー" };
{
やり直してくださいはwhile文を使って考えてみます。, じゃんけんゲームを作成したのですが Private Sub CommandButton1_Click()
勝敗判定のコードをまとめて簡略化していますが、入力エラーチェックを強化したのでコード量は大して変わってません。
数字だけ入力しても先に進まないのは、プログラムの仕様通りです。 while(1){ 4.これまでの累積勝利数・引き分け数・敗北数をそれぞれ、user_win・user_draw・user_loseの3つの変数(int型)に格納しなさい。
char cStr[256];
●未使用のデータを適当に記述した例 ★たしか、課題の締め切りは「過ぎて」いますよね。以降、参考になれば・・。
if(i==0&&n==0){
int[][]tb1={
if( a == c ){ // アイコ
int[][]tb1={ if ( human == computer ){
scanfの書式ですが、
End Sub, じゃんけんのプログラミングを作っているのですが、今できているじゃんけんの
自分・コンピュータ(1~10)に固有の名前を与えてそれぞれの勝ち数をカウントする
// じゃんけん定数
p_draw++; #include
public static int janken(int n){
default:
}
ですが、逆に1秒以内に実行すると、timeが同じ→種が同じ→乱数が同じ、となってしまいます。 自分・コンピュータ(1~10)に固有の名前を与えてそれぞれの勝ち数をカウントする
// じゃんけんゲーム
default: }
}; ・下のソースの★部分、考えて!
scanf("%d",&i); コンピュータの参加人数は最大で10人、
case 0: ひとりだけ勝ち
{-1,1,2,0}
void main()
printf("正しい手を入れてください。\n");
int i;
3.利用者の入力が不正の場合には再度入力を促すなど、適切な処理をしなさい。
"続けない場合は-1を入力してください。\n"); } for(k=k; k<=10; k++) どうしたらいいのでしょうか?.
・『指数』って分かりますか?
何故9なのかというと、プログラムを作った人の好みやセンスということですね。, こんにちは。
char buf[5];
static char s[][7]={"グー","チョキ","パー"};
それぞれから申告された勝ち数でソートすれば可能です。
一人勝ち、二人勝ちのパターンを組み合わせることにより
#define JKN_PA (2)
Dim ft As Integer
自分とコンピュータのじゃんけん大会
(趣味の問題:cgTe[]の c は char型、 g はグローバルのつもり)
そして、switch 文の式に直接 _getche() 関数を記述してます。
if( ( ( a + 1 ) == c ) || ( ( a - 2 ) == c ) ){ // 勝ち
・質問者様のソースには、ジャンケンの全ての組み合わせが書かれていますが、ちょっと工夫しました。
#include
#include
#define MAX_STRLEN 256
printf("負けました\n");
・scanfが増えたので、エラー対策追加。 三人でじゃんけんをするプログラムを作るために法則性を探しています。グーを0,チョキを1,パーを2とした時にあいこであるパターンは000,012,021,021,102,111,120,201,210,222勝ちのパターンは001,010,011,112,121,122,200,202,220負けの printf( "\n★じゃんけんゲームの結果\n" );
break; }; 勝敗判定:
http://www.atmarkit.co.jp/fjava/javatips/140java030.html, あっちむいてほいのプログラムを作りたいんですが
printf("トータルで %d勝 %d敗 %d引き分けでした。\n",t_win,t_lose,t_draw); ・不正な入力に対しては、その旨表示する printf("あなたは%sでわたしは%sです・・・あなたの勝利です。\n",
{9,0,1,2}, }
出す手は、(自分の手→任意に選択)(コンピュータの手→参加者ごとにランダムで設定)
}else{
for(i=0;i<5;i++){
C言語で、 簡単な「 じゃんけんプログラム 」を作りながら 人工知能(AI:Artificial Intelligence)について、 考えていきたいと思います。 今回は、 「 二次元配列 」、 「 乱数 」、 「 関係演算子 」・「論理演算子」などを利用して、 コンピュータが、出す手(グー、チョキ、パー)を
c = rand()%3+1;
printf("あなたもわたしも%sです・・・引き分けです。\n",table[player]);