2014-01-20 5 views
0

Итак, я изучаю java недавно, используя последнюю версию Bluej, как было сказано, это будет хорошей отправной точкой. Я сделал обычный Hello World, узнав, как получить и установить, массивы и списки массивов и т. Д. Я решил дать простую карточную игру, и я считаю, что это на самом деле блэкджек, но не цитирую меня. Во всяком случае, не зная, с чего начать я получил шаблон, но у меня возникают проблемы с фактически пытается выяснить некоторые его части, надеясь кто-то может помочь мне здесь код выглядит следующим образом:Карточная игра в bluej

public class Deck() 
{ 
    private int card; 
    private int suit; 

public Deck() 
{ 
    shuffle(); 
} 

public void shuffle() 
{ 
    double rand = (int)(Math.random()*(card+1) 
    // Bare in mind I dont even think this is correct 
    // Need to generate a double value from 0.0 up to but not including 1.0 
    // Apparently to produce value in a range of 1 to 6 
    // I need to apply a scaling factor of 6 and add 1 to the result 
} 

public int getCard() 
{ 
    return card; 
} 

public int getSuit() 
{ 
    return suit; 
} 

Так мой код даже правильно? Я не хочу, чтобы это была сложная версия блэкджека, действительно ли это то, что, судя по тому, что ее 52 карты в пакете, и я думаю, что 4 карты за руку или что-то в этом роде, очень вероятно, поскольку я сделал некоторые исследования тоже, чтобы посмотреть, что другие произвели, но я действительно не знаю, где я собираюсь с этим! Любая помощь очень ценится! Поскольку я действительно хочу заполнить пробелы!

+1

«Является ли мой код даже правильным?» Ну ... 'public class Deck()' определенно ** неправильно ** ... Я не читал остальных, чтобы знать, что не будет компилироваться. В дополнение к этому, что вы конкретно задаете нам? Я не уверен, что я задаю вопрос за пределами того, на что я ответил псевдо ... – Makoto

+0

Я пытаюсь выяснить, в чем дело, что с моим кодом, а во-вторых, если метод тасования является даже правильным - следовательно,/комментарии кодов. – GeordieDave1980

ответ

1

Некоторые ошибки: тело

  • Класс: его класс палубных общественности {} вместо класса Deck общественности() {}. Используйте методы() для методов или конструкторов, а не для классов.

  • Вы объявляете карточку поля и костюм, но вы никогда не устанавливали их ни на что.

  • двойных ранды: вы объявляете переменные ранды как двойные, но Lateron вы пытаетесь присвоить Int к нему

Советов:

  • для генерации случайных значений, попробуйте «Случайный» класс. Этот класс имеет метод nextInt (n), который может генерировать числа от 0 до n-1. Это проще понять, и это чище, чем Math.random()

  • Попробуйте сделать дополнительную «Карту» класса, которая содержит номера, обозначающие номер карты и номер.

  • Это будет проще, если вы представляете карты в своей колоде в массиве или в массиве ArrayList. Последний может использоваться в методе Collections.shuffle(). Таким образом, вам не придется спорить с Random или Math.random().

+0

Спасибо! У меня есть лучшее представление о том, где я сейчас ошибаюсь! – GeordieDave1980

Смежные вопросы