nhập khẩu
trò chơi vui nhộn
từ
hệ thống
nhập khẩu
ra
từ
ngẫu nhiên
nhập khẩu
một cuộc hẹn hò
nhập khẩu
thời gian
nhập khẩu
Bạn
chiều rộng màn hình
=
700
chiều cao màn hình
=
600
đường dẫn hiện tại
=
os.path.abspath(os.path.dirname(__file__))
đường dẫn gốc
=
đường dẫn hiện tại[:đường dẫn hiện tại.tìm(
"khỉ-hái-đào\\") + len("
con khỉ
-
hái
-
quả đào\\")] \
+
"tài nguyên\\hình ảnh\\"
đường dẫn hình ảnh nền
=
đường dẫn gốc
+
"nền.jpg"
Đường dẫn hình ảnh con khỉ
=
đường dẫn gốc
+
"khỉ.png"
Đường dẫn hình ảnh của apple
=
đường dẫn gốc
+
"táo.png"
trạng thái nhảy
=
SAI
cờ quá
=
SAI
thời gian bắt đầu
=
không có
bù lại
=
{pygame.k_left:
0
, pygame.k_right:
0
, pygame.k_up:
0
, pygame.k_down:
0
}
tốc độ khung hình
=
60
chu kỳ hoạt hình
=
30
ve
=
0
cái đồng hồ
=
pygame.time.clock()
lớp học
khỉ(pygame.sprite.sprite):
apple_num
=
0
định nghĩa
__nóng__(
bản thân
, mon_surface, monkey_pos):
pygame.sprite.sprite.__init__(
bản thân
)
bản thân
.hình ảnh
=
bề mặt của tôi
bản thân
.hình chữ nhật
=
bản thân
.hình ảnh.get_rect()
bản thân
.hình chữ nhật.trên cùng bên trái
=
khỉ_vật
bản thân
.tốc độ
=
5
định nghĩa
di chuyển(
bản thân
, _bù lại):
toàn cầu
trạng thái nhảy
x
=
bản thân
.hình chữ nhật.trái
+
_bù trừ[pygame.k_right]
-
_bù trừ[pygame.k_left]
Và
=
bản thân
.hình chữ nhật.trên cùng
+
_bù trừ[pygame.k_down]
-
_bù trừ[pygame.k_up]
nếu như
và <
0
:
bản thân
.hình chữ nhật.trên cùng
=
0
trạng thái nhảy
=
ĐÚNG VẬY
Elif
và >
=
chiều cao màn hình
-
bản thân
.hình chữ nhật.chiều cao:
bản thân
.hình chữ nhật.trên cùng
=
chiều cao màn hình
-
bản thân
.hình chữ nhật.chiều cao
trạng thái nhảy
=
SAI
khác
:
bản thân
.hình chữ nhật.trên cùng
=
Và
trạng thái nhảy
=
ĐÚNG VẬY
nếu như
x <
0
:
bản thân
.hình chữ nhật.trái
=
0
Elif
x > chiều rộng màn hình
-
bản thân
.hình chữ nhật.chiều rộng:
bản thân
.hình chữ nhật.trái
=
chiều rộng màn hình
-
bản thân
.hình chữ nhật.chiều rộng
khác
:
bản thân
.hình chữ nhật.trái
=
x
định nghĩa
hái_táo(
bản thân
, nhóm ứng dụng):
táo hái
=
pygame.sprite.spritecollide(
bản thân
, app_group, đúng)
bản thân
.apple_num
+
=
chỉ một
(táo hái)
vì
đã hái_táo
TRONG
đã hái_táo:
đã chọn_táo.giết()
lớp học
táo(pygame.sprite.sprite):
định nghĩa
__nóng__(
bản thân
, app_surface, apple_pos):
pygame.sprite.sprite.__init__(
bản thân
)
bản thân
.hình ảnh
=
bề mặt ứng dụng
bản thân
.hình chữ nhật
=
bản thân
.hình ảnh.get_rect()
bản thân
.hình chữ nhật.trên cùng bên trái
=
táo_pos
bản thân
.tốc độ
=
1
định nghĩa
cập nhật(
bản thân
):
toàn cầu
thời gian bắt đầu
nếu như
thời gian bắt đầu
là
không có:
thời gian bắt đầu
=
thời gian.thời gian()
bản thân
.hình chữ nhật.trên cùng
+
=
(
bản thân
.tốc độ
*
(
1
+
(thời gian.thời gian()
-
thời gian bắt đầu)
/
40
))
nếu như
bản thân
.rect.top > chiều cao màn hình:
toàn cầu
cờ quá
cờ quá
=
ĐÚNG VẬY
bản thân
.giết()
pygame.init()
màn hình
=
pygame.display.set_mode((chiều rộng màn hình, chiều cao màn hình))
pygame.display.set_caption(
"Khỉ bắt táo"
)
nền_bề mặt
=
pygame.image.load(đường dẫn hình ảnh nền).convert()
bề mặt khỉ
=
pygame.image.load(đường dẫn hình ảnh khỉ).convert_alpha()
bề mặt táo
=
pygame.image.load(apple_image_path).convert_alpha()
con khỉ
=
khỉ(bề mặt khỉ, (
200
,
500
))
nhóm táo
=
pygame.sprite.group()
điểm_phông_tông
=
pygame.font.sysfont(
"arial"
,
40
)
trong khi
ĐÚNG VẬY:
nếu như
cờ_trên:
phá vỡ
đồng hồ.tick(tốc độ khung hình)
màn hình.blit(bề mặt nền, (
0
,
0
))
nếu như
ve >
=
chu kỳ hoạt hình:
ve
=
0
nếu như
ve
%
30
=
=
0
:
quả táo
=
táo(bề mặt táo,
[ngày (
0
, chiều rộng màn hình
-
apple_surface.get_width()),
-
apple_surface.get_height()])
apple_group.add(táo)
apple_group.cập nhật()
apple_group.draw(màn hình)
màn hình.blit(bề mặt khỉ, khỉ.hình chữ nhật)
ve
+
=
1
khỉ.hái_táo(nhóm_táo)
điểm_bề_mặt
=
điểm_phông_tông.kết_xuất(
đường
(monkey.apple_num), đúng, (
0
,
0
,
255
))
màn hình.blit(điểm_bề_mặt, (
620
,
10
))
pygame.hiển thị.cập nhật()
vì
sự kiện
TRONG
pygame.event.get():
nếu như
sự kiện.
kiểu
=
=
pygame.quit:
pygame.quit()
ra()
nếu như
sự kiện.
kiểu
=
=
pygame.keydown:
nếu như
sự kiện.key
TRONG
bù lại:
nếu như
sự kiện.key
=
=
pygame.k_up:
offset[sự kiện.khóa]
=
80
khác
:
offset[sự kiện.khóa]
=
khỉ.tốc độ
Elif
sự kiện.
kiểu
=
=
pygame.keyup:
nếu như
sự kiện.key
TRONG
bù lại:
offset[sự kiện.khóa]
=
0
nếu như
trạng thái nhảy:
bù trừ[pygame.k_down]
=
5
bù trừ[pygame.k_up]
=
0
monkey.move(offset)
điểm_bề_mặt
=
điểm_phông_tông.kết_xuất(
đường
(monkey.apple_num), đúng, (
0
,
0
,
255
))
trên bề mặt
=
điểm_phông_tông.kết_xuất(u
"trò chơi kết thúc!"
, ĐÚNG VẬY, (
0
,
0
,
255
))
màn hình.blit(bề mặt nền, (
0
,
0
))
màn hình.blit(điểm_bề_mặt, (
620
,
10
))
màn hình.blit(trên bề mặt, (
250
,
270
))
trong khi
ĐÚNG VẬY:
pygame.hiển thị.cập nhật()
vì
sự kiện
TRONG
pygame.event.get():
nếu như
sự kiện.
kiểu
=
=
pygame.quit:
pygame.quit()
ra()
Tôi là một lập trình viên xuất sắc, rất giỏi!