/* * 東京情報大学 高大連携授業用 プログラム * (C)2014 マッキン ケネスジェームス */ import jp.ac.tuis.basic.*; public class Racing2 { public static void main(String[] args) { //画面サイズ 40x20 フォントサイズ20 int WIDTH=40; int HEIGHT=20; int FONT=20; BasicGraphics g = new BasicGraphics(WIDTH,HEIGHT,FONT); g.console(false); //自動スクロールOFF(false) //変数宣言 int x=10; //プレイヤー x座標 int y; //マップ上のプレイヤーのy座標 char key=0; //入力キー long MINSLEEP=50; //最高速調整用 long ACCEL = 1; //加速調整用 long speed=200; //速度調整用 int distance=0; //走行距離 int GOAL=5000; //ゴール距離 boolean finish=false; //ゲーム終了フラグ boolean crash=false; //衝突フラグ //マップ初期化 //文字の後の数字で色を指定する。0=黒,1=青,2=赤,3=マゼンタ,4=緑,5=シアン,6=黄,7=白 char[][] map = {{' ',7,'■',7,' ',7,' ',7,'凸',4,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2,' ',7}, {' ',7,' ',7,'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'凸',1,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7}, {' ',7,' ',7,'■',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2}, {' ',7,' ',7,'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7}, {' ',7,' ',7,'■',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'凸',3,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2}, {' ',7,' ',7,'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7}, {' ',7,' ',7,'■',7,' ',7,' ',7,' ',7,'凸',1,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'凸',4,' ',7,' ',7,'■',2}, {' ',7,' ',7,'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7}, {' ',7,' ',7,'■',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'凸',6,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2}, {' ',7,'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7,' ',7}, {' ',7,'■',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2,' ',7}, {' ',7,'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'凸',3,' ',7,' ',7,'■',7,' ',7}, {' ',7,'■',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2,' ',7}, {' ',7,'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7,' ',7}, {' ',7,'■',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2,' ',7}, {'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7,' ',7,' ',7}, {'■',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'凸',5,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2,' ',7,' ',7}, {'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7,' ',7,' ',7}, {'■',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'凸',4,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2,' ',7,' ',7}, {'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7,' ',7,' ',7}, {'■',7,' ',7,' ',7,' ',7,' ',7,'凸',6,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7,' ',7,' ',7}, {' ',7,'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7,' ',7}, {' ',7,'■',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2,' ',7}, {' ',7,'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'凸',1,' ',7,' ',7,' ',7,'■',7,' ',7}, {' ',7,'■',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2,' ',7}, {' ',7,'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,'凸',6,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7,' ',7}, {' ',7,'■',7,' ',7,'凸',3,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2,' ',7}, {' ',7,'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7,' ',7}, {' ',7,'■',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'凸',1,' ',7,' ',7,' ',7,' ',7,' ',7,'■',2,' ',7}, {' ',7,'■',2,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,' ',7,'■',7,' ',7}}; //画面準備 y=map.length-1; //初期位置はマップの下端 int pos=y; //マップを描画 for(int j=HEIGHT-1; j>=0; j--){ for(int i=0; i=0; j--){ for(int i=0; i=GOAL){ //ゴールした finish=true; } //ゲーム速度調整 speed = speed - ACCEL; //スピードを少し上げる if(speed < MINSLEEP) speed = MINSLEEP; //最大スピード g.sleep(speed); //スピード調整(待ちを入れる) }//while(!finish) メインループここまで //終了表示 if(crash){ //衝突した場合 g.locate(8,10); g.color(g.RED, g.BLACK); g.print("CRASH!"); g.playM("RO4CO3C"); //ブザー }else{ //ゴールした場合 g.locate(8,10); g.color(g.YELLOW, g.BLACK); g.print("GOAL!"); g.playM("O7C16D16E16F16G16"); //ファンファーレ } }//main() }//class