def B2(GT, KL): index_from = [2, 5, 6] index_to = {2: 1, 5: 3, 6: 4} text = [] text.append("Bước 2: chuyển phủ định về vế còn lại") while True: cnt = 0 i = 0 while i < len(GT): index = check(GT[i]) if index in index_from: cnt += 1 text.append(" chuyển '" + GT[i] + "' qua KL") KL.append(change(GT[i], index, index_to[index])) del GT[i] else: i += 1 i = 0 while i < len(KL): index = check(KL[i]) if index in index_from: cnt += 1 text.append(" chuyển '" + KL[i] + "' qua GT") GT.append(change(KL[i], index, index_to[index])) del KL[i] else: i += 1 if cnt == 0: break text.append("--- sau khi chuyển: ") text.append(merge(GT, KL)) return (GT, KL, text)
def B4(GT, KL): splitKL = [3, 8, 9, 12, 15, 16, 18, 21, 22] splitGT = [4, 7, 10, 11, 13, 17, 19, 20, 23] temp = [] temp.append([GT, KL]) text = [] text.append("Bước 4: tách ra các dòng nếu bên GT có or và bên KL có and") i = 0 while i < len(temp): good = False for j in range(len(temp[i][0])): index = check(temp[i][0][j]) if index in splitGT: pos = temp[i][0][j].find("or") p1 = [list(temp[i][0]), list(temp[i][1])] p2 = [list(temp[i][0]), list(temp[i][1])] p1[0][j] = str(p1[0][j][0:pos - 1]) p2[0][j] = str(p2[0][j][pos + 3:len(p2[0][j])]) temp.append(p1) temp.append(p2) del temp[i] good = True break if good: continue for j in range(len(temp[i][1])): index = check(temp[i][1][j]) if index in splitKL: pos = temp[i][1][j].find("and") p1 = [list(temp[i][0]), list(temp[i][1])] p2 = [list(temp[i][0]), list(temp[i][1])] p1[1][j] = str(p1[1][j][0:pos - 1]) p2[1][j] = str(p2[1][j][pos + 4:len(p2[1][j])]) temp.append(p1) temp.append(p2) del temp[i] good = True break if good: continue i += 1 GT = [] KL = [] for i in temp: text.append(merge(i[0], i[1])) GT.append(list(i[0])) KL.append(list(i[1])) return (GT, KL, text)
def update(event): global board global num_ticks if rules.check(board): board = rules.update(board, num_ticks) draw(board) else: end_game()
def B3(GT, KL): splitGT = [3, 8, 9, 12, 15, 16, 18, 21, 22] splitKL = [4, 7, 10, 11, 13, 17, 19, 20, 23] text = [] text.append("Bước 3: tách and từ GT và or từ KL ra thành các mệnh đề mới") i = 0 while i < len(GT): index = check(GT[i]) if index in splitGT: pos = GT[i].find("and") p1 = str(GT[i][0:pos - 1]) p2 = str(GT[i][pos + 4:len(GT[i])]) text.append(" tách GT '" + GT[i] + "' thành 2 phần '" + p1 + "' và '" + p2 + "'") GT.append(p1) GT.append(p2) del GT[i] else: i += 1 i = 0 while i < len(KL): index = check(KL[i]) if index in splitKL: pos = KL[i].find("or") p1 = str(KL[i][0:pos - 1]) p2 = str(KL[i][pos + 3:len(KL[i])]) text.append(" tách KL '" + KL[i] + "' thành 2 phần '" + p1 + "' và '" + p2 + "'") KL.append(p1) KL.append(p2) del KL[i] else: i += 1 text.append("--- Kết quả sau khi tách: ") text.append(merge(GT, KL)) return (GT, KL, text)
def B1(GT, KL): index_from = [23, 21, 19, 18, 17, 16, 15, 13] index_to = {23: 22, 21: 20, 19: 4, 18: 3, 17: 1, 16: 1, 15: 1, 13: 1} text = [] text.append("Bước 1: chuẩn hóa dữ liệu về đơn giản hơn") for i in range(len(GT)): index = check(GT[i]) if index == -1: print("FAIL") ## this is ? if index in index_from: text.append(" chuyen '" + GT[i] + "' thanh '" + change(GT[i], index, index_to[index]) + "'") GT[i] = change(GT[i], index, index_to[index]) for i in range(len(KL)): index = check(KL[i]) if index == -1: print("FAIL") if index in index_from: text.append(" chuyen '" + KL[i] + "' thanh '" + change(KL[i], index, index_to[index]) + "'") KL[i] = change(KL[i], index, index_to[index]) text.append("--- dữ liệu sau khi chuẩn hóa đon giản hơn: ") text.append(merge(GT, KL)) return (GT, KL, text)
firsttap = pieces[n][m] if (pieces[n][m] == "-"): break if (firsttap[0] == lastmoveby): firsttap = "-" pygame.mixer.music.load('turn.mp3') pygame.mixer.music.play(0) break pieces[n][m] = "-" from_x = n from_y = m pygame.mixer.music.load('f.mp3') pygame.mixer.music.play(0) else: if rules.check(pieces, firsttap, from_x, from_y, n, m): pieces[n][m] = firsttap lastmoveby = firsttap[0] firsttap = "-" pygame.mixer.music.load('s.mp3') pygame.mixer.music.play(0) else: pieces[from_x][from_y] = firsttap firsttap = "-" pygame.mixer.music.load('invalid.mp3') pygame.mixer.music.play(0) print(pieces) break x = 0