C言語でストップウォッチを作りたい 【ニンテンドーDS】

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
s8b

C言語でストップウォッチを作りたい 【ニンテンドーDS】

#1

投稿記事 by s8b » 14年前

c言語でストップウォッチを作りたいと思ったのですが、作り方が全く分かりません。
c言語に関しては初心者です。
どなたかプログラムお願いします;;

ちなみに、DSでも動くストップウォッチを作りたいです

【※管理人がタイトルを変更しました(11/28 0:49)】

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

Re: c言語

#2

投稿記事 by beatle » 14年前

フォーラムルールを御覧ください。課題の丸投げは禁止されています。

まず、逆に質問します。
C言語の標準ライブラリだけでストップウォッチを作りたいのですか?
それとも、Win32APIを用いてストップウォッチを作りたいのですか?
DSというのはニンテンドーDSのことですか?

C言語初心者でニンテンドーDSはちょっとキツイんじゃないでしょうか。
ストップウォッチぐらいはC言語の標準ライブラリでサクサクッと書けるくらいが
ちょうどいいんじゃないでしょうか。いや、僕自身DS向けのアプリを作ったことはありませんが。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: c言語

#3

投稿記事 by softya(ソフト屋) » 14年前

DSなら、このページが理解出来るぐらいの知識は必要ですよ。ソフトウェアだけでなく英語やハードウェアの知識も必要となります。
「GBATEK」
http://nocash.emubase.de/gbatek.htm

一応日本語のサイト。GBATEKに比べると情報は少ないです。
「NDS開発Wiki - CPU」
http://www35.atwiki.jp/hikipuro/pages/75.html

まず、普通のC言語を知識を深めましょう。
自在に作れるようになったら次の段階として考えてはどうでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: c言語

#4

投稿記事 by Dixq (管理人) » 14年前

まずは、DSを抜きにして、C言語の標準関数でストップウォッチを作ってみてはいかがでしょう?

・・ということでC言語の標準関数のみで作れるストップウォッチを作ってみました。

コード:

#include <stdio.h>		
#include <time.h>		//clock()用
#include <windows.h>	//Sleep用

clock_t StartClock;

void Start(){
	StartClock = clock();
}

int GetDiff(){
	return clock() - StartClock;
}

int main(void){
	Start();
	Sleep(1000);
	printf("経過時間は%d[ms]です。\n", GetDiff() );
	return 0;
}
こうすることで、Start関数をコールしてから、GetDiffをコールするまでの時間がミリ秒で取得可能です。
StartをコールせずにGetDiffを使い続ければラップタイムを表示することが出来ます。
ちなみに精度は環境依存します。
DSがどんな環境なのか知りませんが、Linux環境ならgettimeofdayを使えばマイクロ秒単位で計測可能です。
DSにも時刻を取得するAPIはあるでしょうから、それを上記に当てはめれば良いかと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る