2023年2月1日 星期三

水至清則無魚人至察則無徒

水至清則無魚,人至察則無徒。

冕而前旒,所以蔽明;黈纊充耳,所以塞聰。


~西漢‧東方朔〈答客難〉


水過於清澈,魚就無法生存,人太過嚴苛就沒有朋友。在上位者,冠冕前有垂下的玉珠,就是為了不要看見人們的小過失;冠冕兩旁有黃棉擋住了耳朵,就是為了不要聽見小人的讒言。



答客難 (東方朔)

 答客難 東方朔曰: “

蘇秦、張儀一當萬乘之主,而身都卿相之位,澤及後世。

今子大夫修先王之術,慕聖人之義,諷誦詩書百家之言,不可勝記,

著於竹帛;脣腐齒落,服膺而不可釋,好學樂道之效,明白甚矣;

自以爲智能海內無雙,則可謂博聞辯智矣。

然悉力盡忠,以事聖帝,曠日持久,積數十年,官不過侍郎,位不過執戟。

意者尚有遺行邪?同胞之徒,無所容居,其故何也?”



東方先生喟然長息,仰而應之曰:“是故非子之所能備。彼一時也,此一時也,豈可同哉?夫蘇秦、張儀之時,周室大壞,諸侯不朝,力政爭權,相擒以兵,併爲十二國,未有雌雄。得士者強,失士者亡,故說得行焉。身處尊位,珍寶充內,外有倉麋,澤及後世,子孫長享。今則不然:聖帝德流,天下震懾,諸侯賓服,連四海之外以爲帶,安於覆盂;天下平均,合爲一家,動發舉事,猶運之掌,賢與不肖何以異哉?遵天之道,順地之理,物無不得其所;故綏之則安,動之則苦;尊之則爲將,卑之則爲虜;抗之則在青雲之上,抑之則在深淵之下;用之則爲虎,不用則爲鼠;雖欲盡節效情,安知前後?夫天地之大,士民之衆,竭精馳說,並進輻湊者,不可勝數;悉力慕之,困於衣食,或失門戶。使蘇秦、張儀與僕並生於今之世,曾不得掌故,安敢望侍郎乎!傳曰:‘天下無害,雖有聖人,無所施才;上下和同,雖有賢者,無所立功。’故曰:時異事異。

“雖然,安可以不務修身乎哉!《詩》曰:‘鼓鍾於宮,聲聞於外。’‘鶴鳴九皋,聲聞於天’。苟能修身,何患不榮!太公體行仁義,七十有二,乃設用於文武,得信厥說。封於齊,七百歲而不絕。此士所以日夜孳孳,修學敏行,而不敢怠也。譬若鶺鴒,飛且鳴矣。傳曰:‘天不爲人之惡寒而輟其冬,地不爲人之惡險而輟其廣,君子不爲小人之匈匈而易其行。’‘天有常度,地有常形,君子有常行;君子道其常,小人計其功。”詩云:‘禮義之不愆,何恤人之言?’水至清則無魚,人至察則無徒;冕而前旒,所以蔽明;黈纊充耳,所以塞聰。明有所不見,聰有所不聞,舉大德,赦小過,無求備於一人之義也。枉而直之,使自得之;優而柔之,使自求之;揆而度之,使自索之。蓋聖人之教化如此,欲其自得之;自得之,則敏且廣矣。
“今世之處士,時雖不用,塊然無徒,廓然獨居;上觀許山,下察接輿;計同范蠡,忠合子胥;天下和平,與義相扶,寡偶少徒,固其宜也。子何疑於予哉?若大燕之用樂毅,秦之任李斯,酈食其之下齊,說行如流,曲從如環;所欲必得,功若丘山;海內定,國家安;是遇其時者也,子又何怪之邪?語曰:‘以管窺天,以蠡測海,以筵撞鐘,’豈能通其條貫,考其文理,發其音聲哉?猶是觀之,譬由鼱鼩之襲狗,孤豚之咋虎,至則靡耳,何功之有?今以下愚而非處士,雖欲勿困,固不得已,此適足以明其不知權變,而終惑於大道也。”

譯文

作者:佚名
有人詰難東方朔道:“蘇秦、張儀一旦遇上萬乘之主,就能身居卿相之位,澤及後世。如今你修習先王之術,仰慕聖人之義,誦讀《詩經》.《尚書》.諸子百家的典籍,不可勝數。甚至將它們寫於竹帛上.以致脣腐齒落,爛熟於胸而不能忘懷。好學樂道的效果,是很明顯的了;自以爲才智海內無雙,可謂博聞強辯了。然而盡心竭力.曠日持久地侍奉聖明的君主,結果卻是官不過侍郎,位不過執戟(按:韓信謝絕項羽派來的說客時說:“臣事項王,官不過郎中,位不過執戟),恐怕還是品德上有不足之處吧?連同胞兄弟都無處容身,這是何緣故呢?”東方朔喟然長嘆,仰面迴應道:“這不是你能完全理解的啊。此一時,彼一時也,豈能一概而論呢?想那蘇秦.張儀所處的時代,周室衰微,諸侯不朝,爭權奪利,兵革相戰,兼併爲十二國,難分雌雄。得士者強,失士者亡,所以遊說之風大行於世。他們身處尊位,內充珍寶,外有糧倉,澤及後世,子孫長享。如今則不然:聖主德澤流佈,天下震懾,諸侯賓服。四海相連如同腰帶,天下安穩得像倒扣的痰盂。一舉一動盡在掌握,賢與不賢如何區分呢?遵天之道,順地之理,萬物皆得其所。所以撫慰他就安寧,折騰他就痛苦。尊崇他可以爲將領,貶斥他可以爲俘虜。提拔他可在青雲之上,抑制他則在深泉之下。任用他可爲老虎,不用他則爲老鼠。雖然做臣子的想盡忠效力,但又怎知道進退得宜呢?天地之大,士民衆多,竭盡全力去遊說的人就像車輪的輻條齊聚車軸一樣,多得不可勝數,被衣食所困,找不到晉身之階。即使蘇秦.張儀與我並存於當世,也當不上掌故那樣的小吏,還敢期望成爲侍郎嗎?所以說時異事異呀。
雖然如此,又怎麼可以不加強自身的修養呢?《詩經》上說:“室內鳴鐘,聲聞於外,鶴鳴於高地,聲聞於天。如果真能修身,何患不榮耀!姜子牙踐行仁義,七十二歲見用於文、武二王,終於得以實踐他的學說,受封於齊,七百年不絕於祀。這就是士人日夜孜孜不倦,勉力而行不敢懈怠的原因呀。就好像那鶺鴒鳥,邊飛翔邊鳴叫。《左傳》中說:上天不會因爲人們害怕寒冷而使冬天消失,大地不會因爲人們厭惡險峻而停止其廣大。君子不會因爲小人的喧囂而改變自己的品行。天有常度,地有常形,君子有常行。君子走正道,小人謀私利。《詩經》說:禮義上沒有過失,何必在乎人們議論呢?所以說:水至清則無魚,人至察則無徒。冠冕前有玉旒,是用來遮蔽視線,絲棉塞耳,是爲了減弱聽覺。視力敏銳卻有所不見,聽力靈敏卻有所不聞。揚大德,赦小過,不要對人求全責備。彎曲的再直起,但應讓他自己去得到。寬舒進而柔和,但應讓他自己去求取。揆情度理,應該讓他自己去摸索。大概聖人的教化就是如此,想要自己通過努力得到它;得到後,則會聰敏而廣大。
當今之賢士,才高無友,寂然獨居。上觀許由,下視接輿,謀似范蠡,忠類子胥。天下太平之時,與義相符,寡合少友,是理所應當的事情,您對我又有什麼可懷疑的呢?至於燕用樂毅爲將,秦任李斯爲相,酈食其說降齊王,遊說如流水,納諫如轉環,所欲必得,功如高山,海內穩定,國家安寧,這是他們遇上了好時勢呀。您又何必感到奇怪呢?俗話說,如果以管窺天,以瓢量海,以草撞鐘,又怎麼能通曉規律.考究原理.發出音響呢?由是觀之,就像耗子襲擊狗,小豬咬老虎,只會失敗,能有什麼功效呢?現在就憑你這樣愚鈍的人來非難我,要想不受窘,那是不可能的。這足以說明不知通權達變的人終究不能明白真理呀。”

OPENAI 生成式AI 協助寫的詩 很有趣的紀錄

 有個人冬天騎單車很累可是的風景很美 你可以幫忙寫首詩 來描述他的心情嗎?

好的,這是一首描述冬天騎單車的詩:


冬天的風景美麗無比

騎著單車前進的他

疲憊的身體不停顫抖

但心中充滿著冒險欲望


空氣清新,風呼呼吹過

周圍的景色不斷變化

山巒高耸,河流潺潺流

他沉浸在這份美景中


騎著單車,心情自由自在

越過長山,穿過密林

他感到自己像是天使

在這個冬天,他得到了生命的力量


他知道,即使很累

他還是想繼續前進

因為這樣的經歷,令他更加明白

生命中有多麼美麗的事物可以去探索。





tt Web

有個叫作家豪的人 他在冬天騎單車去風景美麗的山區 但是他體力崩潰 腳一直抽筋 你能寫個詩描述他的心情嗎?

好的,這是一首描述家豪在冬天騎單車的詩:


家豪騎著他的單車

前往風景美麗的山區

他充滿了活力和信心

卻不知道前面會發生什麼事


冷風刺骨,他的身體不停顫抖

他努力地推著踏板

但他的腳卻不停地抽筋

他感到沮喪和無力


他停下來,坐在單車旁

抬起頭,望著景色

他發現那裡的風景是如此美麗

令他的心情得到了安慰


他告訴自己:「不要放棄!」

他再次踩著踏板,繼續前進

他知道,雖然今天有困難

但明天會更好,會有更多的成就


家豪騎著單車,穿過風景美麗的山區

他知道自己可以做到,因為他是堅強的

他是一位勇敢的旅人,在尋找夢想的道路上前進。





tt Web

你能用後悔的心境再寫一次這首詩嗎?

!

Hmm...something seems to have gone wrong. Maybe try me again in a little bit.


好的,這是一首描述家豪後悔騎單車的詩:


家豪曾經騎著他的單車

前往風景美麗的山區

但是他的體力不足

腳卻一直抽筋


他不應該冒險去那裡

他想到了太多的因素

冷風刺骨,他的身體不停顫抖

他的心情很不好


他停下來,坐在單車旁

抬起頭,望著景色

他發現那裡的風景是如此美麗

但他卻沒有享受到


他後悔自己的決定

他想著:「我不應該這樣做!」

他現在想回去,但已經太遲了

他只能繼續前進,承受自己的選擇帶來的痛苦


家豪騎著單車,穿過風景美麗的山區

他知道自己犯了一個錯誤

他希望有一天,他能重新享受到這樣的美景

他是一位後悔的旅人,在尋找自己的過錯。





tt Web

請寫出家豪被騙去冬天騎單車的悔恨心情

好的,這是一首描述家豪被騙去騎單車並感到悔恨的詩:


家豪被騙去騎單車

冬天的風吹著他的臉

他的身體冷得像冰一樣

他想知道為什麼他在這裡


他想起了那個騙他的人

他的心充滿了悔恨和怒氣

他想到自己被騙去這裡

冰冷的風使他的身體顫抖


他想起了自己的家人

他以為他們將永遠在他身邊

但是現在他卻在這裡

冰冷的山區裡


他想起了他的朋友

他們在家裡享受著溫暖

但他卻在這裡

冰冷的山區裡


家豪感到很悔恨

他被騙去這裡

他希望能回到家

他希望他不曾被騙

他是一位悔恨的旅人

在尋找自己的家。

python for pypoker 專案 普克遊戲範例4

 class Game:

    def __init__(self, player1, player2):
        self.board = Board()
        self.player1 = player1
        self.player2 = player2
        self.current_player = player1

class Board:
    def __init__(self):
        self.board = [[' ' for j in range(3)] for i in range(3)]
       
    def display(self):
        for row in self.board:
            print("|".join(row))
           
    def update(self, row, col, symbol):
        self.board[row][col] = symbol
       
    def winner(self):
        # Check rows
        for row in self.board:
            if row[0] == row[1] == row[2] and row[0] != ' ':
                return row[0]
       
        # Check columns
        for col in range(3):
            if self.board[0][col] == self.board[1][col] == self.board[2][col] and self.board[0][col] != ' ':
                return self.board[0][col]
       
        # Check diagonals
        if self.board[0][0] == self.board[1][1] == self.board[2][2] and self.board[0][0] != ' ':
            return self.board[0][0]
        if self.board[0][2] == self.board[1][1] == self.board[2][0] and self.board[0][2] != ' ':
            return self.board[0][2]
       
        return None

class Player:
    def __init__(self, name, symbol):
        self.name = name
        self.symbol = symbol
       
    def move(self, board):
        # Get player's move
        row, col = input("Enter your move (row col): ").split()
        row, col = int(row), int(col)
       
        # Update the board
        board.update(row, col, self.symbol)

python for pypoker 專案 普克遊戲範例3

 


class Card():
    def __init__(self, suit, rank):
        self.suit = suit
        self.rank = rank
   
    def __repr__(self):
        return f"{self.rank} of {self.suit}"

class Deck():
    def __init__(self):
        suits = ["Hearts", "Diamonds", "Spades", "Clubs"]
        ranks = ["Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"]
        self.cards = [Card(suit, rank) for suit in suits for rank in ranks]
   
    def __repr__(self):
        return f"Deck of {self.count()} cards"
   
    def count(self):
        return len(self.cards)
   
    def _deal(self, count):
        count = min(count, self.count())
        return [self.cards.pop() for _ in range(count)]
   
    def deal_card(self):
        return self._deal(1)[0]
   
    def deal_hand(self, hand_size):
        return self._deal(hand_size)
   
    def shuffle(self):
        if self.count() < 52:
            raise ValueError("Only full decks can be shuffled")
       
        #self.shuffle(self.cards)
        return self

def main():
    deck = Deck()
    deck.shuffle()

    hand = deck.deal_hand(5)
    print(hand)
    hand = deck.deal_hand(5)
    print(hand)


if __name__ == '__main__':
    main()

如何 使用 JSON 定義 poker Gmae 之企劃構想

#原始發想 將一個 poker Game 相關所有  參數規範 以 JSON 定義 使狀態物件化

#針對這些物件化  Poker Game JSON 開發驅動程式 或  操作引擎

#打造 可以 相容 這些 資料物件 及 執行程式 之平台 server 

EXT::

PKGAMEJSON = {

    "pkgametype":"A001",   << 暫定 排7
    "table": {
        "cardbuffer":[[],[],[],[]],
        "waittime":20,
        "activeplay":"u1"
        "playloop":["u1","u2","u3","u4"],
        "cardsetobj":cardobj
    },
    "user":{
   
        "u1": {
            "type":"man",
            "credit":1000,
            "handcard":[0x01,0x10,0x1a,0x2b],
            "hcardshowflag":[0,1,2,1]
            "offcard":[0x18]
        },
   
        "u2": {
            "type":"AI",
            "credit":1000,
            "handcard":[0x01,0x10,0x1a,0x2b],
            "hcardshowflag":[0,1,2,1]
            "offcard":[0x18]
        },
   
        "u3": {
            "type":"AI",
            "credit":1000,
            "handcard":[0x01,0x10,0x1a,0x2b],
            "hcardshowflag":[0,1,2,1]
            "offcard":[0x18]
        },
   
        "u4": {
            "type":"AI",
            "credit":1000,
            "handcard":[0x01,0x10,0x1a,0x2b],
            "hcardshowflag":[0,1,2,1]
            "offcard":[0x18]
        }
   
    },
    "playlog":[[time,u1count,u2count,u3count,u4count,win,loos]]
}

python for pypoker 專案 普克遊戲範例2

 


#定義牌的類別:

class Card:

    def __init__(self, suit, rank):

        self.suit = suit

        self.rank = rank


#定義牌堆的類別:

import random


class Deck:

    def __init__(self):

        self.deck = []

        suits = ['Hearts', 'Diamonds', 'Spades', 'Clubs']

        ranks = ['Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 

                 'Eight', 'Nine', 'Ten', 'Jack', 'Queen', 'King', 'Ace']

        for suit in suits:

            for rank in ranks:

                card = Card(suit, rank)

                self.deck.append(card)


    def shuffle(self):

        random.shuffle(self.deck)

        

    def deal(self):

        return self.deck.pop()


#定義玩家的類別:

class Player:

    def __init__(self, name):

        self.name = name

        self.hand = []


    def add_card(self, card):

        self.hand.append(card)

        

    def show_hand(self):

        print(f"{self.name}'s hand:")

        for card in self.hand:

            print(f"{card.rank} of {card.suit}")


#在主程式中創建牌堆和玩家,並進行遊戲:

deck = Deck()

deck.shuffle()


player1 = Player("Player 1")

player2 = Player("Player 2")


for i in range(5):

    player1.add_card(deck.deal())

    player2.add_card(deck.deal())

    

player1.show_hand()

player2.show_hand()


#這只是一個非常簡單的範例,可以根據你的需求進行擴展。