参考にして作ってる途中なのですが・・・
本題に入りますと今こんな感じです。
screen 0,800,541 gmode 2;gcopyのモード変更 font "MS Pゴシック",20,1 notesel Question_S ; noteload "ファイル名" noteadd "タイピング/TAIPINGU";文字列の追加 noteadd "リンゴ/RINGO";文字列の追加 ;問題は「 問題の文字列 / ローマ字読み(大文字)」の形で設定する QsFlag=1;問題を出すかどうか BreakFlag=0;ゲームストップ時のメインループの脱出用 TimeLimit=10;制限時間 Now=gettime(6);現在の時間(秒) QsTimer=0;経過時間 Miss=0;間違えた数 QuestionNo=0;問題のカウント KeyNo=0;入力した文字の数 dim SCORE,2;入力問題数と入力文字数 onkey gosub *キー入力 repeat if QsFlag=1 : gosub *問題生成 gosub *時間経過 if DrawFlag=1 : gosub *画面更新 if BreakFlag=1 : break;BreakFlagの値が1ならゲームストップ wait 1 loop ;ゲームストップ時 BreakFlag=0 onkey 0 cls pos 10,10 :mes "結果発表" pos 10,30 :mes "入力問題数 "+SCORE(1)+"問" pos 10,60 :mes "入力文字数 "+SCORE(0)+"文字" pos 10,90 :mes "入力ミス回数 "+Miss+"回" stop return *キー入力 KeyCode=strmid(Question_Ans,KeyNo,1) if KeyCode="-":poke KeyCode,0,189 if wparam=peek(KeyCode){ KeyNo++ SCORE(0)++ if KeyNo=strlen(Question_Ans):QsFlag=1:SCORE(1)++ DrawFlag=1 return }else : Miss++ : DrawFlag=1 return *時間経過 if Now!=gettime(6){;Nowとgettime(6)の値が異なっていたら経過時間を+1する Now=Gettime(6) QsTimer++ DrawFlag=1 if QsTimer>=TimeLimit{;経過時間がタイムリミットを上回ったらゲームストップする breakflag=1 } } return *問題生成 if QuestionNo>=notemax : BreakFlag=1;終了した問題数が全ての問題数を上回ったらゲームストップする Get_S="" noteget Get_S,QuestionNo split Get_S,"/",Question,Question_Ans;問題文を問題とローマ字読みのものに分ける QuestionNo++ KeyNo=0 DrawFlag=1 QsFlag=0 CharaX=10 return *画面更新 DrawFlag=0 redraw 0 color : boxf color 255,255,255 font msgothic,35 pos 200,450 :mes Question;問題文日本語を表示 pos 190,490 :mes Question_Ans;問題文ローマ字つづりを表示 color 255 pos 190,490 :mes strmid(Question_Ans,0,KeyNo) color 0,255,255 font msgothic,25 pos 10,20 :mes "残り時間 "+(TimeLimit-QsTimer)+"秒" font msgothic,15 pos 10,50 :mes "入力問題数 "+QuestionNo+"問" pos 10,70 :mes "入力文字数 "+KeyNo+"文字" pos 10,90 :mes "入力ミス回数"+Miss+"回" pos 10,110 :mes "入力得点数 "+SCORE0+"点" ; ミスタッチをした時 SCORE0-=10 repeat strlen(Question_Ans)-KeyNo pos CharaX+cnt\10*30,200+cnt/10*30 loop redraw 1 return
の状況なんですが。問題にタイピングとリンゴを設定しているんですが、これだと正しい文字
を打ててないと次のリンゴには進めません。
これを秒数で制限して問題のタイピングを5秒以内で打てなければ強制的に次の問題のリンゴ
に移動させるにはどうしたらいいか教えてもらえませんか??
色々と調べて waitとかやってみたんですが駄目でした。