Почему нужен такой проект
Удовлетворить своё желание заниматься многопоточным программированием на Java! Раньше я занимался только веб-разработкой, сервер и клиент обменивались данными, и веб-сервер уже давно всё для меня подготовил. Например, tomcat, jetty и т. д. На самом деле, раньше я думал о том, можно ли самому разработать простой веб-сервер наподобие tomcat. Если это сделать, то, по крайней мере, будет понятно, что веб-разработка основана на сетевом многопоточном веб-сервере, иначе о веб-разработке говорить не приходится!
В книгах, в интернете и в учебных заведениях нет реальных примеров многопоточных приложений — таких, как qq «Баккара», которые бы демонстрировали проблемы одновременного выполнения нескольких потоков, а также проблемы обмена данными между различными узлами сети и синхронизации данных между этими узлами.
Если проект будет успешным, мы создадим сервер, чтобы больше любителей Java узнали о существовании такого сервера qq Баккара. Затем они смогут скачать исходный код клиента, запустить программу и подключиться к серверу. Чем больше людей будут играть в эту демонстрационную версию, тем выше будет степень параллелизма, тем больше будет потоков, тем больше проблем с проектом будет выявлено. Тогда все вместе мы сможем найти причины ошибок и устранить их. Это повысит уровень знаний каждого участника, особенно в области сетевого многопоточного программирования на Java, потому что это реальная среда сетевого многопоточного взаимодействия, которую контролирует сам программист, а не простые примеры из книг!
Это пока всё, но есть ещё что добавить!
Если вам нужен исходный код проекта, присоединяйтесь к нашей группе в qq!
Алгоритм создания интерфейса большого зала игры qq Баккара
Ниже приведён алгоритм создания интерфейса большого зала qq Баккара с оранжевыми треугольниками. Сначала код:
int _x = 0;// 记录x坐标到底怎么加
int rowNum = 1;// 记录行数
int colNum = 6;// 记录列数
for (int i = 0; i < TOTAL; i++) {
int x[] = { 30 + (i - _x) * 160, 80 + (i - _x) * 160, 130 + (i - _x) * 160 };
int y[] = { 111 + (rowNum - 1) * 150, 30 + (rowNum - 1) * 150, 111 + (rowNum - 1) * 150 };
Polygon polygon = new Polygon(x, y, 3);
g.setColor(Color.orange);
g.fillPolygon(polygon);
if ((i + 1) % colNum == 0) {
_x = rowNum * colNum;
rowNum++;
}
}
Затем алгоритм создания 90 пустых мест, который похож на предыдущий. Сначала код:
// 位置
seats = new JLabel[TOTAL * 3];
// seats = new JButton[TOTAL*3];
int _x = 0;// 记录x坐标到底怎么加
int rowNum = 1;// 记录行数
int colNum = 6;// 记
for (int i = 0; i < TOTAL; i++) {
int x[] = { 30 + (i - _x) * 160, 80 + (i - _x) * 160, 130 + (i - _x) * 160 };
int y[] = { 111 + (rowNum - 1) * 150, 30 + (rowNum - 1) * 150, 111 + (rowNum - 1) * 150 };
for (int j = 0; j < 3; j++) {
seats[j + i * 3] = new JLabel("空位");
seats[j + i * 3].setBounds(x[j], y[j], 40, 20);
childJpanel1.add(seats[j + i * 3]);
}
if ((i + 1) % colNum == 0) {
_x = rowNum * colNum;
rowNum++;
}
}
Анализ исходного кода оставлю на потом или для самостоятельного изучения. На самом деле нужно хорошо понимать ключевые точки, тогда реализовать проект будет легко.
Ключевые слова: java, qq Баккара, Баккара, имитация qq Баккара, разработка qq Баккара на java, исходный код qq Баккара на java, многопоточное программирование на java, параллельное программирование на java, netty.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )