孙悟空为何打不赢取经路妖怪?太上老君道出了实情

  我们都知道,孙悟空大闹天宫时威风八面,十万天兵都把他无可奈何。但是他在取经路上,天界一名神仙的司机、一个烧锅炉的童子、一个水池里的宠物下界为妖,就把他整得够呛。

  有人说,孙悟空大闹天宫时,十万天兵是替公家打工,所以出工不出力,大大放水;而下界为妖,是自己创业,所以拼了命也要跟孙悟空干仗,因此猴子打不赢。

  真的是这样吗?显然不全面!

  这句话应该倒着说,大闹天宫时孙悟空是自己创业,所以十万天兵拦不住他;而取经路上,是替公家办事,所以他出工不出力,打妖怪之前,都喜欢先问问背景。

  所以,取经路上很多妖怪不是孙悟空并不是都打不赢,而是很多就根本没认真打!他才是真的放了水!

  孙悟空从哪个地方开始,打妖怪就不认真了呢?平顶山!要知道,在三打白骨精时,唐僧同志念紧箍咒把他的脑袋圈成了细腰葫芦,他都是毫不犹豫地一棒打下去。而平顶山之后,他基本就不这样干了,一般下棒之前都要问问后台。

  平顶山是哪个给他点了水呢?太上老君!

  蜗牛前文写过《什么妖把孙悟空弄得泪如雨下,直叹既有我为何有他》,平顶山两妖金角大王银角大王其实是太上老君烧锅炉的童子,但他们居然能调动三座大山把孙悟空压在山下,还把土地山神当差役用,这让孙悟空大为吃惊!

  后来,在空中揭谛神的帮助下,他才从大山下钻了出来,采取了很多计策,才把两妖多得数不清的法宝,什么紫金葫芦、什么七星剑、幌金绳等全部骗了过来,可他正要结果他们性命时,就从空中传来一声喊“棒下留人”!原来,是太上老君到了。

  孙悟空埋怨他:老倌儿,你可有管教不严之罪哦,小心玉帝打你屁股!

  但太上老君怎么说?这不怪我,是观音大姐向我借了三次,我才让他们下界,也算是给你们师徒增加一个功果。

  这个时候,孙悟空才恍然大悟,原来,取经就是一场游戏而已,大家玩玩,何必较真呢?

  于是,大家看到之后的取经路上,孙悟空很多时候不再使全力,打之前,都要先问问背景,有背景的放过,没背景的,才一棒打死!

 

http://cul.sohu.com/20161023/n471039397.shtml

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
孙悟空三打白骨精是一款经典的游戏,其代码由多个文件组成,主要包括游戏引擎、角色控制、碰撞检测、音效播放等模块。以下是部分代码示例: 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、付费专栏及课程。

余额充值