为啥要在孙悟空的头上敲三下?

探讨《西游记》中菩提老祖为何选择敲击悟空头部三次作为秘密教学信号,及其背后的深意。灵感来源于慧能大师的故事,揭示秘密教学背后的文化内涵。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

突然想起一事儿。

 

为啥菩提老祖要在孙悟空的头上敲三下来提示他?老吴为什么这么写呢?

 

我看过《西游记》的电视,但没有看过原著,所以只是猜想。

 

孙悟空在学道期间,菩提老祖在他头上敲三下,来提示他三更去厢房找他,然后传授他技艺。

 

看到这里,我想大家都有疑问。

 

为什么菩提要以这种方式,提示悟空,而悟空又能明白老师的意图呢?

 

一般来说是老师是为了考验孙的悟性,才这么做的。但是换了别人谁会明白啊?

 

前几天,看了一则故事,这则故事启发了我,我想有可能的原因是因为,老师不能明确地告诉悟空,因为他明说的话,会引起某些徒弟的不满,而这些徒弟在洞中有很强的势力,他们也很想得到那些技能,如果让他们知道,会对孙的生存造成威胁。而菩提认为,孙才是最有悟性的人,那些技能只传授给最有悟性的人。

 

或者是因为孙读过这个故事,才明白其中的含义?但是孙是一个学道之人,怎么会去读佛学的东东呢?

 

吴承恩也是知道这个故事,才这样写的吗?

 

南北朝的时候,第五祖弘忍大师,为了寻找一个继承人,让大家写有禅意的诗,其五百弟子中,翘楚者当属大弟子神秀大师。神秀写下了:身是菩提树,心为明镜台。时时勤拂拭,勿使惹尘埃。

而一个火头僧 慧能写下了:菩提本无树,明镜亦非台,本来无一物,何处惹尘埃。

由此可以看出慧能是个有大智慧的人。

弘忍看到这个畿子以后,问身边的人是谁写的,边上的人说是慧能写的,于是他叫来了慧能,当着他和其他僧人的面说:写得乱七八糟,胡言乱语,并亲自擦掉了这个畿子。然后在慧能的头上打了三下就走了。这时只有慧能理解了五祖的意思,于是他在晚上三更的时候去了弘忍的禅房,在那里弘忍向他讲解了《金刚经》这部佛教最重要的经典之一,并传了衣钵给他。然后为了防止神秀的人伤害慧能,让慧能连夜逃走。于是慧能连夜远走南方,隐居10年之后在莆田少林寺创立了禅宗的南宗。而神秀在第二天知道了这件事以后,曾派人去追慧能,但没有追到。后来神秀成为梁朝的护国法师,创立了禅宗的北宗。

孙悟空三打白骨精是一款经典的游戏,其代码由多个文件组成,主要包括游戏引擎、角色控制、碰撞检测、音效播放等模块。以下是部分代码示例: 1. 游戏引擎模块: ``` class GameEngine { public: GameEngine(); ~GameEngine(); void init(); void run(); void update(); void render(); private: bool m_running; SDL_Window* m_window; SDL_Renderer* m_renderer; Player* m_player; Enemy* m_enemy; ... }; GameEngine::GameEngine() { m_running = false; } GameEngine::~GameEngine() { SDL_DestroyRenderer(m_renderer); SDL_DestroyWindow(m_window); SDL_Quit(); } void GameEngine::init() { SDL_Init(SDL_INIT_EVERYTHING); m_window = SDL_CreateWindow("Sun Wukong 3", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN); m_renderer = SDL_CreateRenderer(m_window, -1, SDL_RENDERER_ACCELERATED); m_player = new Player(m_renderer); m_enemy = new Enemy(m_renderer); } void GameEngine::run() { m_running = true; while (m_running) { update(); render(); } } void GameEngine::update() { m_player->update(); m_enemy->update(); ... } void GameEngine::render() { SDL_RenderClear(m_renderer); m_player->render(); m_enemy->render(); ... SDL_RenderPresent(m_renderer); } ``` 2. 角色控制模块: ``` class Player { public: Player(SDL_Renderer* renderer); ~Player(); void update(); void render(); private: int m_x, m_y; int m_speed; SDL_Texture* m_texture; }; Player::Player(SDL_Renderer* renderer) { m_x = SCREEN_WIDTH / 2 - PLAYER_WIDTH / 2; m_y = SCREEN_HEIGHT - PLAYER_HEIGHT - 50; m_speed = 5; SDL_Surface* surface = IMG_Load("player.png"); m_texture = SDL_CreateTextureFromSurface(renderer, surface); } Player::~Player() { SDL_DestroyTexture(m_texture); } void Player::update() { const Uint8* state = SDL_GetKeyboardState(NULL); if (state[SDL_SCANCODE_LEFT] && m_x > 0) { m_x -= m_speed; } if (state[SDL_SCANCODE_RIGHT] && m_x < SCREEN_WIDTH - PLAYER_WIDTH) { m_x += m_speed; } } void Player::render() { SDL_Rect rect = {m_x, m_y, PLAYER_WIDTH, PLAYER_HEIGHT}; SDL_RenderCopy(renderer, m_texture, NULL, &rect); } ``` 3. 碰撞检测模块: ``` bool check_collision(SDL_Rect a, SDL_Rect b) { int left_a = a.x; int right_a = a.x + a.w; int top_a = a.y; int bottom_a = a.y + a.h; int left_b = b.x; int right_b = b.x + b.w; int top_b = b.y; int bottom_b = b.y + b.h; if (bottom_a <= top_b) { return false; } if (top_a >= bottom_b) { return false; } if (right_a <= left_b) { return false; } if (left_a >= right_b) { return false; } return true; } ``` 4. 音效播放模块: ``` Mix_Chunk* sound_effect; sound_effect = Mix_LoadWAV("explosion.wav"); Mix_PlayChannel(-1, sound_effect, 0); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值