毎日ログインボーナス スクリプト C++
概要
毎日ログインボーナスを実行するためのスクリプト
画像で説明
例1:「過去 < 更新1 <= 現在」が成り立つ
例2:「過去 < 更新0 <= 現在」が成り立たない
例3:「過去 < 更新0 <= 現在」が成り立たない
例4:「過去 < 更新0 <= 現在」が成り立つ
求め方
- 現在時刻を取得する。
- 現在時刻より過去の一番近いログイン更新時刻を求める。
- 過去にログインした時刻よりログイン更新時刻が未来であればtrueを返す。
$ ls DateUpdate.cpp $ g++ -o DateUpdate DateUpdate.cpp $ ./DateUpdate 読み込み失敗 ファイル LastLoginTime.txt が開けません。 0を返します。 Tue Dec 15 13:51:37 2015 現在時刻の表示 Thu Jan 1 09:00:00 1970 最後にガチャを行った時刻 Tue Dec 15 06:00:00 2015 年月日入り更新時刻 更新する $ ./DateUpdate Tue Dec 15 13:51:41 2015 現在時刻の表示 Tue Dec 15 13:51:37 2015 最後にガチャを行った時刻 Tue Dec 15 06:00:00 2015 年月日入り更新時刻 更新しない $ vim LastLoginTime.txt $ ./DateUpdate Tue Dec 15 13:52:02 2015 現在時刻の表示 Mon Dec 14 10:04:57 2015 最後にガチャを行った時刻 Tue Dec 15 06:00:00 2015 年月日入り更新時刻 更新する $ ./DateUpdate Tue Dec 15 14:12:08 2015 現在時刻の表示 Tue Dec 15 13:52:02 2015 最後にガチャを行った時刻 Tue Dec 15 06:00:00 2015 年月日入り更新時刻 更新しない
その他
バイナリで保存したい場合
ofs.write(( char * ) ¤tTime, sizeof( long ) );//バイナリ保存
while(!ifs.eof()) { ifs.read( ( char * ) &d, sizeof( long ) );//バイナリ保存 }
補足
以下の対策をすることを忘れずに
- 現在時刻習得時にサーバーを利用する。
- セーブデータを暗号化する
参考
C言語講座:現在時刻と年月日と曜日を表示
初級者の質問――time_tについて - C・C++ 解決済 | 教えて!goo
C言語 ミリ秒を日付に変換には - C・C++ 解決済 | 教えて!goo
C言語 struct tm構造体をtime_t型に変換 - time.h - [ mktime ] | 勇躍のゴミ箱
UNIXタイムスタンプ変換ツール
UNIXタイムスタンプ変換ツール
【C言語】符号なし型⇔符号あり型をキャストするときの注意
https://msdn.microsoft.com/ja-jp/library/e9s326kw.aspx
C言語講座:色々なデータ型の最大値、最小値
C言語(VC++)の関数で、関数宣言の引数の部分に、「&」をつけて... - Yahoo!知恵袋
バイナリファイルの読み込みと書き込み - インコのC++プログラミング