本文へスキップ

Clamini library

計算1分勝負

 HSPでプログラミングの練習がてら作ってみた、ちょっとした脳トレ計算ゲームです。内容はシンプルで、1分間ひたすら1桁になる足し算・引き算を解いていくスタイル。 集中力と反射神経が試されるので、意外とハマります(笑) ちょっとしたスキマ時間に、頭のウォーミングアップにもおすすめです!

ゲーム画面

計算1分勝負

概要

タイトル計算1分勝負
ジャンル脳トレ計算
プレイ人数1人

操作方法

1から9キー解答する

使い方

ダウンロード


 下のリンクからファイルをダウンロードできます。

※ZIP形式で圧縮されてるので、使う前に解凍してね!

keisan.zip

遊び方


 ゲームを起動すると、まずタイトル画面が表示されます。
エンターキーを押すと、いよいよスタート!

 表示されるのは、答えが1桁になる足し算か引き算。
出てきた問題に対して、正しい数字キーをポチッと押していきましょう。
テンキーを使う場合は、NumLockがオンになってるか確認してね。

 制限時間は1分!
その間にできるだけ多く正解できるかチャレンジしてみてください。
時間が切れるとゲーム終了→タイトル画面に戻ります。集中力勝負です…!

ソースコード


#packopt name "keisan"

 title "計算1分勝負"
 randomize
;初期化
*start
 color 255, 255, 255
 boxf
 font msgothic, 32,1
 pos 200, 200
 color 255, 0, 0
 mes "計算1分勝負"
 mes " PUSH ENTER"
 mode = 0
 score = 0
 number = 0
 flag = 0
 siki = ""
 onkey 0
 gosub *waitenter
 onkey 1
 t = gettime(6)
;キー割込み
*game
 onkey *typein
;メインルーチン
*main
 if gettime(6) >= t && flag = 0 {
  time = 60 - gettime(6) + t
 } else {
  time = t - gettime(6)
  flag = 1
 }
 if time > 1 : goto *gameover
 if mode = 0 : gosub *sikisakusei
 redraw 0
 gosub *tokuten
 redraw 1
 wait 50
 goto *main
;得点表示
*tokuten
 color 255, 255, 255
 boxf
 font msgothic, 50,1
 pos 80, 100
 color 0, 155, 0
 mes "正答:" + score + " 時間:" + time
 if mode = 1 {
  font msgothic, 100,1
  pos 200, 200
  color 0, 155, 0
  mes siki
  pos 198, 198
  color 0, 180, 0
  mes siki
 }
 return
;キー入力判定
*typein
 if number = 0 : goto *main
 onkey 0
 a = 0
 switch iparam
  case 49 : a = 1 : swbreak
  case 50 : a = 2 : swbreak
  case 51 : a = 3 : swbreak
  case 52 : a = 4 : swbreak
  case 53 : a = 5 : swbreak
  case 54 : a = 6 : swbreak
  case 55 : a = 7 : swbreak
  case 56 : a = 8 : swbreak
  case 57 : a = 9 : swbreak
 swend
 if a = 0 {
  onkey 1
  goto *main
 }
 if a != number {
  goto *huseikai
 } else {
  goto *seikai
 }
 stop
;計算式の作成
*sikisakusei
 number = rnd(9) + 1
 x = rnd(9) + 1
 y = number - x
 if y >= 0 {
  siki = str(x) + "+" + str(y) + "="
 } else {
  siki = str(x) + str(y) + "="
 }
 mode = 1
 return
;不正解時
*huseikai
 mode = 0
 pos 400, 200
 mes a
 font msgothic, 200,1
 pos 220, 150
 color 255, 0, 0
 mes "×"
 wait 100
 onkey 1
 goto *main
 stop
;正解時
*seikai
 mode = 0
 score = score + 1
 pos 400, 200
 mes number
 font msgothic, 200,1
 pos 220, 150
 color 255, 0, 0
 mes "〇"
 wait 100
 onkey 1
 goto *main
 stop
;エンターが押されるまで待つ
*waitenter
 repeat
 stick i
 if i = 32 : break
 wait 5
 loop
 return
;ゲームオーバー時
*gameover
 onkey 0
 mode = 1
 siki = "終了"
 gosub *tokuten
 wait 300
 onkey 1
 goto *start
 stop