2014年2月12日水曜日

開発環境

Head First JavaScript ―頭とからだで覚えるJavaScriptの基本( Michael Morrison (著), 豊福 剛 (翻訳)、オライリージャパン)の6章(関数)、getSeatStatus()のマグネット(p.267)をDartで考えてみる。

その他参考書籍

getSeatStatus()のマグネット(p.267)

コード

sample.dart

import 'dart:html';

void main() {
  [input_selected_seat, input_seat_num].forEach((InputElement input){
    input.onKeyUp.listen((KeyboardEvent event){
      try{
        selected_seat = int.parse(input_selected_seat.value);
        seat_num = int.parse(input_seat_num.value);
        pre.text = getSeatStatus(seat_num);
      } catch (e) {
        pre.text = '$e';
      }
    });
  });
}

InputElement input_selected_seat = querySelector('#selected_seat');
InputElement input_seat_num = querySelector('#seat_num');
PreElement pre = querySelector('#pre0');

int selected_seat;
int seat_num;

List<List<bool>> seats = [[false, true, false, true, true, true, false, true, false],
                          [false, true, false, false, true, false, true, true, true],
                          [true, true, true, true, true, true, false, true, false],
                          [true, true, true, false, true, false, false, true, false]];

String getSeatStatus(int seat_num){
  if (selected_seat != -1 &&
      (seat_num == selected_seat || seat_num == selected_seat + 1 ||
      seat_num == selected_seat + 2)) {
    return 'あなたの席';
  }
  int l = seats[0].length;
  if (seats[seat_num ~/ l][seat_num % l]){
    return '空席';
  }
  return '満席';
}














						

0 コメント:

コメントを投稿