2017年3月24日金曜日

C言語で、カード2枚ピックアップする


C言語で、裏返したカードをピックアップする関数を作る

実行結果
プログラムソース



32: 変数XY1に、キー入力(数値)を入れる。
34: XY1から、XYの数値を求める。
35: カードをピックアップするために、index1を求める式

36: ピックアップしたカードをマイナスにして、ピックアップしたことにする

C言語で、ペアになった1から8までのカードを4x4のマトリックスで表示したカードを裏返しにする


実行結果


プログラムソース
21: カードがゼロより大きい場合はカードを裏返す(*にする)
22: ただし、マイナスになったカードを正しく表示するために、abs( ) 関数を使う

注: ピックアップしたカードは、card[i] = - card[i] として、マイナスにする。

C言語で、ペアになった1から8までのカードを4x4のマトリックスで表示す

実行結果


プログラムソース
15: system(“cls”)    全画面のクリア

23: i%4 == 3   ・・・ 4文字終わったところで、|1 を表示する。


C言語で、1から16までの1列に並んだ数を4*4のマトリックスで表示する。



     1から16までの1列に並んだ数
実行結果とプログラムソース

1から16を4*4のマトリックスで表示した数
実行結果とプログラムソース


C言語で、Fisher Yatesアルゴリズムで10枚のカードのシャッフルをします

実行結果
プログラムソース
tmpはcard[i]の仮の置き場です。
iはindexなので、カードの枚数マイナス1です。
jは乱数で作ります。ただし、0から i までの範囲です。

srand(seed)は、新しい乱数をseedで作る関数です。
seedはtime(NULL)関数で新しく作ります。


C言語で、1から6までの乱数を作る

rand()%6 で、0から5までの乱数を作る。
srand(seed) で、seed を使って乱数の種を作る。
seed は、time(NULL) 時間を使って新たしseed を作る。

実行結果
プログラムソース