# 多线程小球 **Repository Path**: huangduoyan2024/multi-threaded-ball ## Basic Information - **Project Name**: 多线程小球 - **Description**: 22级软工 Java 张舒多线程作业。 允许同学们借鉴,但是不要直接复制粘贴。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-06 - **Last Updated**: 2024-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, 多线程, GUI ## README # 弹球 ## 作业目标 1. 掌握 Swing 图形用户界面编程以及事件处理等,掌握 Java 绘图技术。 2. 掌握多线程编程的基本原理,能使用 **Runnable**、**ExecutorService** 等接口进行线程的创建、启动等工作。 3. 培养独立查找资料,并解决问题的能力。 ## 作业内容 ### 1. 设计并编程实现弹球游戏 - 用户能通过 GUI 组件指定生成**小球的数量**,每个小球将从**随机的位置**出现,并具有**随机颜色**,**随机速度**以及**随机的运动方向**,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向。受力只改变小球的运动方向,小球仍按照初始速度匀速运动,不考虑小球之间的碰撞。 - **鼠标**在界面中显示为**方块状**,玩家需来回移动鼠标以避开运动的小球及屏幕四周,如果**鼠标碰到任一小球或者窗口四周**,则游戏结束。 - 程序需提供**计时功能**,并最终显示玩家能坚持多少秒。 ### 2. 程序要求 1. 具备相应界面,并通过事件编程,实现相应的GUI组件功能。 2. 在程序窗口区域绘制小球,并以**线程控制小球的移动**,实现动画效果。 3. 实现鼠标与屏幕四周,以及与小球的**碰撞检测**。