JavaFX: Экзаменационные билеты за два часа

Эта история началась с того, что мне в расписание неожиданно поставили экзамен. Подготовить билеты я успел, а вот распечатать было уже негде.
Но у нас же есть волшебная !

Приложение я наколбасил буквально за час. Интерфейс нарисовал в InkSkape.



При нажатии на кубик в случайном порядке выбирается билет и удаляется из пачки. Когда билеты заканчиваются — появляется сообщение о том, что приложение следует перезагрузить. Выражаясь словами камрада Markony, «Всё просто как огурец»! Вот рукописная часть кода:

var question_01 : String;
var question_02 : String;
var question_03 : String;
var tiketNumber : String;

var validNums = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];

def bundle = ResourceBundle.getBundle("tikets");

function run(){
 Stage{
  title: "Объектно-ориентированное программирование"
  width: 640
  height: 480
  scene: Scene{
   var y  = 90;
   var dy = 130;
   content:[
    Circle{
     radius: 20 translateY: 33 translateX: 164 fill: Color.WHITE cursor: Cursor.HAND
     onMouseClicked: function(event){
      if(validNums.size() == 0){Alert.inform("В пачке не осталось билетов", "Перезагрузите приложение для новой раздачи."); return;}
      var rand = Math.round(Math.random() * validNums.size());      
      if(rand > 0) rand -= 1;
      tiketNumber = validNums[rand];
      question_01 = bundle.getString("tiket_{tiketNumber}.q1");
      question_02 = bundle.getString("tiket_{tiketNumber}.q2");
      question_03 = bundle.getString("tiket_{tiketNumber}.q3");
      delete tiketNumber from validNums;
     }
    }
    Blank{translateX: -15 translateY: -23},
    Text {font: Font{size: 32} content: bind tiketNumber translateX: 430 translateY: 40},
    Text {font: Font{size: 16} content: bind question_01 wrappingWidth: 570 translateX: 45  translateY: y},
    Text {font: Font{size: 16} content: bind question_02 wrappingWidth: 570 translateX: 45  translateY: y + dy},
    Text {font: Font{size: 16} content: bind question_03 wrappingWidth: 570 translateX: 45  translateY: y + 2 * dy},
   ]   
  }
 }
}


That's all, folks!
  • +10
  • 03 апреля 2010, 19:06
  • yababay

Комментарии (5)

RSS свернуть / развернуть
+
0
прикольно
avatar

FREExLOADER

  • 04 апреля 2010, 16:32
+
+1
Да! На хорошем инструменте и исходник красивый.
Титановой лопатой копать веселей!
avatar

Markony

  • 04 апреля 2010, 20:44
+
0
Зачет!
avatar

ahmetzyanov_d

  • 05 апреля 2010, 20:08
+
0
Чрезвычайно мощный инструмент
avatar

Sergei_T

  • 05 апреля 2010, 22:36
+
0
Спасибо, камрады
avatar

yababay

  • 06 апреля 2010, 14:52

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.