9月に大学のゼミ旅行でビンゴ大会をすることになったので現在C言語を使ってビンゴマシンを作成しています。
最終的にはマシンの出る数字を具体的に自分が指定できるようにすること・市販のデジタルのビンゴマシンように番号が出る前にルーレットが回っているようにしたいと考えています。
しかし現段階では1~75までの数字をランダムで出せるまでしか出来ていません。
また番号をランダムにだしても文字が小さく、なおかつ一番新しく出た数字だけ大きく表示させることが出来なくて苦戦しています。
上記のことを実行する上で僕はどのようにプログラミングを行えばいいのですか?
もともとPC操作はかなり苦手で全く分からない状態で困っています。
プログラミングに詳しい方はどうかアドバイスをください。
ちなみにMicrosoft Visual C++2010を使っています。
No.3ベストアンサー
- 回答日時:
さっき紹介したサイトに参考になりそうなのが幾つか有ったので紹介しておきます。
「C言語サンプルプログラム(オープンソース)/佐伯英子技術士事務所(情報工学)」
http://saeki-ce.xsrv.jp/Cgengo.html
参考になりそうなもの。
画面時計(アスキーアート)
サイコロ(乱数)
No.2
- 回答日時:
これはコンソールアプリケーションですから工夫しないと文字の大きさでメリハリを付けることはできません。
ただ、文字を組み合わせて大きな数字の様に見せかけたり、ルーレットが回っているように見せることは可能です。かなりグラフィックを使ったものよりは見劣りますけど一種のアスキーアートです。
試しに書くと
■■■■
■
■■■■
■□□■
■■■■
こんな感じでしょうか。
□はブラウザなので仕方なく使っています。
アスキーアートアニメのごく簡単なサンプルです。
http://saeki-ce.xsrv.jp/C_src/anime01.html
No.1
- 回答日時:
現状のソースコードを見せてもらえますか?
この回答への補足
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#define MIN 25//最小数
#define MAX 100//最大数
int InputNumber(int *mnu_counter);
int Bingo(int *number);
int main()
{
int number = 0;
do
{
if(number == 0)
{
printf("表示する最大数を入力してください。:");
}
else
{
printf("数値が不正です。もう一度入力してください。:");
}
//最大数入力
if(InputNumber(&number) != 0)
{
exit(-1);
}
//画面クリア
system("cls");
if(number == 0)
{
number = -1;
}
//不正な数値がなくなるまでループ
}while((number < MIN) || (number > MAX));
//ビンゴ関数
if(Bingo(&number) != 0)
{
exit(-1);
}
return 0;
printf("Copyright Mochi\n");
}
//数値入力
int InputNumber(int *mnu_counter)
{
char *ch;
if((ch = (char *)malloc(256 * sizeof(char))) == NULL)
{
printf("Malloc Error!!\n");
return 1;
}
scanf("%d",&*mnu_counter);
gets(ch);
free(ch);
return 0;
}
//ビンゴ出力
int Bingo(int *number)
{
int i = 0, j = 0, k = 0, tmp = 0, *data, *flg;
char ch = 'y';
//乱数初期化
srand((unsigned)time(NULL));
//配列確保
if((data = (int *)malloc((*number + 1) * sizeof(int))) == NULL)
{
printf("Malloc Error!!\n");
return 1;
}
if((flg = (int *)malloc((*number + 1) * sizeof(int))) == NULL)
{
printf("Malloc Error!!\n");
return 1;
}
//初期化
for(i = 0; i < *number + 1; i++)
{
data[i] = 0;
flg[i] = 0;
}
//yを入力の間もしくは最大値まで数値を出力
do
{
printf("次の番号を表示しますか?(Y / N):");
ch = _getch();
if((ch != 'n') && (ch != 'N'))
{
//画面クリア
system("cls");
//フラグリセット
k = 0;
//同じ数値がでなくなるまでループ
do
{
//乱数発生
tmp = rand() % *number + 1;
//出たことがない数字だった場合
if(flg[tmp] == 0)
{
//フラグを1にする。
flg[tmp] = 1;
//データを保存
data[j] = tmp;
//カウンタを1プラス
j++;
//抜け出すためのフラグを立てる
k = 1;
}
}while((flg[tmp] != 1) || (k == 0));
//今までの番号出力
for(i = 0; i < j; i++)
{
//適度に改行
if((i > 0) && (i % 25 == 0))
{
printf("\n");
}
printf(" %d",data[i]);
}
printf("\n");
}
}while((ch != 'n') && (ch != 'N') && (j < *number));
//開放
free(flg);
free(data);
return 0;
}
これが現時点でのソースコードです。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・ことしの初夢、何だった?
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミングを使ったYoutube...
-
Visual Studio Codeについて
-
VBA フォルダ アクセス権限付与
-
プログラミング教室に入ったら...
-
exeファイルを作ったり改造した...
-
社内イントラネットのページが...
-
配布用exe作成・パッケージ化に...
-
MATLABでの不連続グラフについて
-
リピート再生が出来ません
-
曲を作るのにプログラミングっ...
-
"化学"反応を予想するソフト
-
VC++でCtrl+Vを操作させたい
-
アセンブリ名とは??
-
C言語で個人の趣味では何が出来...
-
procってなんですか?
-
小学生の時に本物のプログラミ...
-
スレッドセーフな関数readdir_r...
-
C言語を用いたプログラミングに...
-
CSVデータの"(ダブルクォーテ...
-
久しぶりのプログラミング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アセンブリ名とは??
-
VBAプログラミング
-
Visual Studio Codeについて
-
procってなんですか?
-
exeファイルを作ったり改造した...
-
リピート再生が出来ません
-
CSVデータの"(ダブルクォーテ...
-
C言語で個人の趣味では何が出来...
-
Cプログラミングでハングマンゲ...
-
push any key で終了する方法?
-
作業工程 SDとMD
-
プログラミングでArduinoのc++...
-
OpenCVで音声は扱えるか
-
曲を作るのにプログラミングっ...
-
VBA フォルダ アクセス権限付与
-
Delphiでxmlファイルを読み込む...
-
プログラミングの質問です。x^2...
-
久しぶりのプログラミング
-
社内イントラネットのページが...
-
小学1年生の子です。塾に行かせ...
おすすめ情報