spygame

이것을 시도해 보세요.

import numpy as NP

import pygame

import sys

; P >

pygame.init ()

pygame.mixer.init ()

# 색상

# 음악

play _ chess _ sound = pygame.mixer.sound ("music") P >

button _ sound = pygame.mixer.sound ("music/button.wav")

bund Victory.wav ")

victor _ sound.set _ volume (0.2)

# 보드 그리기

background = pygame.image.load ("background.jpg"). convert _ alpha () < 0))

# 바둑판 그리기

for I in range (21):

pygame.draw.ll 803))

pygame.draw.line(screen, checkerboard, (3,40 * I+3), (803 Checkerboard, (3,3), (803,3), 5)

pygame.draw.line (screen, check Checkerboard, (803,3), (803,803), 5)

pygame.draw.line (screen;

pygame.draw.circle (화면, 체커 보드, (163,643), 6)

6)

pygame.draw.circle (screen, checkerboard, (643,643), 6)

6)

#' 후회 체스'' 다시 시작' 과' 종료' 버튼

pygame.draw.rect(screen) 5)

pygame.draw.rect (화면, button,, 5)

< s _ font = py Button)

text2 = s _ font.render ("재시작", True, button)

text 370))

screen.blit (텍스트 2, (920,520))

screen.blit (text 2 는 흰색을 나타냄))

def Draw_a_chessman(x, y, screen, Color):

if color = = 1:

black _ chess = pygame.image.load (

screen.blit(Black_chess, (40*x+3-15, 40 * y+3-15))

ifcolor = = 2:

white _ chess = pygame.ime

screen.blit(White_chess, (40*x+3-15, 40 * y+3-15))

화면):

화면. 파일 (배경)

draw _ a _ chessboard (화면

Aw_a_chessman(i+1, j+1, screen, 지도)

# 지도 목록 비우기

defclear ():

global map

<

# 글꼴 및 크기 정의

s _ font = pygame.font.font ('font.ttf', x)

# 창 지정 위치

screen.blit(s_text, (880, 100))

pygame.display.flip ()

# 제어 순서

t = true 맵, 런닝이 변경 가능한

글로벌 t, 맵, 런닝링, 맵, r, H

# map 0 배치

clear()

# 모든 검사기 상태를 저장하는 리스트 정의 (후회용)

< P >

pygame.display.set _ caption ("바둑")

# 창에 바둑판을 그립니다. 프롬프트와 버튼

draw _ a _ chessboard (screen)

pygame.display.flip ()) Running 이 참인 경우에만 낙자가 될 수 있으며, 주로 게임 종료 후 다시 낙자 방지

if running:

if t:

color = 1 에 사용됩니다 화면, 54)

else:

color = 2

text 54)

for event in pygame.event.get ():

# x 를 클릭하면 창 닫기

IP P >

pygame.quit ()

sys.exit ()

# 창 내부를 클릭하면 됩니다

해당 명령

elifevent.type = = mousebuttondown:

ifevent.button = = 1: < Event.pos [1]

for I in range (19):

for j in range (19):

바둑판의 해당 위치

if I * 43+20lt 를 클릭합니다. Xlt;; I * 43+60 및 j * 43+20lt; Ylt;; J * 43+60 and not map [I] [j] and running:

# 체스판의 해당 위치에 해당 색상 칩을 배치합니다 Draw_a_chessman(i+1, j+1, screen, Color)

# 오디오 재생

play _ chess _ sound.play (0) # map 에 드롭 하위 위치 기록

map[i][j]=color

# 지도를 maps 에 저장

map3 = copy.deepcopy (map)

maps.append (map3) # 낙자 뒤에 5 자 선

if win(i, J):

if t:

text 30)

else:

text 30)

# 오디오 재생

victor _ sound.play (0)

# 체스판에 더 이상 떨어지지 않도록 방지

running = false

pygame.display.flip () t=not t

#' 다시 시작' 을 클릭하면

if 900lt; Xlt;; 1100 및 500 lt; Ylt;; 600:

# 오디오 재생 차단 해제

running=True

# 오디오 재생

button _ sound.play (0)

# 다시 시작

main ()

< 게임 종료' 를 클릭하여 게임 종료

elif 900lt; Xlt;; 1100 및 650 lt; Ylt;; 750:

# 오디오 재생

button _ sound.play (0)

pygame.

sys.exit()

#' 후회 체스' 클릭

elif 900lt; Xlt;; 1020 및 350 lt; Ylt;; 450 and len(maps)! = 1:

# 오디오 재생

button _ sound.play (0)

# maps 에서 마지막 삭제 P >

delmap

# 마지막 요소 copy 를 맵에 제공

맵 = copy.deepcopy (지도 [len (maps)-1])

# 전환 순서

<;

# 지도 표시

Draw_a_chessbo

Ard _ with _ chessman (지도, 화면)

# 회 회 회 회 회 회 회 회 회 회 회 회 회

x, y=0, 0

clock.tick (60)

if _ _ name _ _ = = "_ _ main _ _ P >

except:

traceback.print _ exc ()

pygame.quit ())

上篇: X4n ASUS 노트북 구성 下篇: Win10 원격 데스크톱은 연결할 수 없습니다. 이 솔루션은 너무 포괄적입니다.
관련 내용