Четверг, 17.07.2025, 13:30
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
.:: Меню ::.
.:: Категории каталога ::.
Разное [5]
Различные темы по программированию
Пакет SWT [4]
Практикуемся в написании оконных приложений на Java
Среды разработки, компиляторы и т.п [3]
Сравнения, описания, плюсы и минусы сред разработки. Сравнение компиляторов.
Java [8]
Объектно-ориентированные соображения.
Си++ [19]
Коротко и ясно
Ассемблер [6]
Машинные коды, побитно :)
Форма входа
.:: Поиск ::.
.:: Дополнительно ::.
    Хостинг от Loqo.ru
             .:: Коментируем ::.
Главная » Статьи » Текстовый материал » Java

Игра - сколько бабке лет ?
Когда я был только только начинающим программистом, эту игру я писал на том языке, который изучал.
При создании проекта в NetBeans получился следующий код:
Code

package babgame;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main
{
  protected static byte yourAge=0;
  protected static byte babAge=0;
  protected static byte iterator=0;  
   
  Main() //Конструктор
  {
  System.out.println("Конструктор Main сработал.");
  do {babAge= (byte)(Math.random()*120);} while (babAge < 50);
  }

  public boolean setAge ()
  {
  String str = "";
  System.out.print ("Введите ваш возраст: ");
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  try {str = in.readLine();}
  catch (Exception ex) {System.out.println("Ошибка чтения в буфер." + ex.getMessage());}
   
  try {yourAge = (byte)(Integer.parseInt(str));}
  catch (Exception ex)
  {
  System.out.println("Ошибка ввода, вводите 2-х значное число." + ex.getMessage());
  }

  if ((yourAge < 7) || (yourAge > 40))
  {
  System.out.println ("Ваш возраст не подходит для этой игры! :)");
  return (false);
  }
  else
  {
  return (true);
  }
  }

  public void showAge()
  {
  System.out.println("Возраст бабки от 50 до 120 лет.");
  System.out.println("Вам " + yourAge + " лет.");
  }

  public boolean compareAge (byte inputAge, byte babAge)
  {
  if (inputAge == babAge)
  {
  System.out.println("Вы угадали возраст с " + iterator + " попытки.");
  iterator=1;
  return (true);
  }
  else
  if (inputAge > babAge)
  System.out.println("Бабка младше.");
  else
  System.out.println("Бабка старше.");
  return (false);
  }

  public static byte inputAge ()
  {
  byte retRes=0;
  String str="";
  iterator++;
  System.out.print ("(Попытка "+iterator+") ");
  System.out.print ("введите возраст бабки: ");
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  try {str = in.readLine();}
  catch (Exception ex) {System.out.println("Ошибка чтения в буфер." + ex.getMessage());}
  try {retRes=(byte)(Integer.parseInt(str));}
  catch (Exception ex) {System.out.println("Ошибка перевода Integer в Byte." + ex.getMessage());iterator--;}
  return retRes;
  }

  public static void main(String[] args)
  {
  Main game = new Main();
  boolean flag=false;

  do {flag=game.setAge();} while (!flag);

  if (flag)
  {
  game.showAge();
  boolean result=false;
  do {result=game.compareAge(inputAge(), babAge);} while (!result);
  }
  else
  {
  System.out.println("Игра остановлена.");
  }
  }
}

Такой вот супер код.

Есть 3 статических переменных отмеченных модификатором protected.
Чтобы не дать пользователю работать с ними на прямую, создаём методы.
setAge - Вводим возраст игрока и проверка для разрешения играть, возвращает True или False;
showAge - Выводим информацию о возрасте. В принципе ненужный метод, ну да пусть будет.
compareAge - Практически главный метод в программе. Сравнивает введёный предположительный возраст бабки и фактический её возраст, выводит подсказку про возраст.
inputAge - Ввод возраста, вводим возраст в виде строки, метод возвращает значение с типом BYTE. Применяется в методе compareAge.

Немного опишу логику.
В начале создаём объект, даём ему имя game.
При создании объекта выполняется конструктор, в котором задаётся возраст бабки по рандому и выводится сообщение, что конструктор сработал.
Сбрасываем флаг flag и начинаем вводить свой возраст в цикле.
Цикл не закончим пока возраст не будет введён в промежутке от 7 до 40.
Затем выводим информацию по возрастам, далее вводим предположение и получаем подсказку или сообщение о выигрыше.

Данную простенькую программку выложу в SWT.
Удачи !

Категория: Java | Добавил: C0demaker (16.04.2009)
Просмотров: 2674 | Рейтинг: 0.0/0
Всего комментариев: 0

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Ant1 © 2025