Guest User

Untitled

a guest
Mar 18th, 2026
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.34 KB | None | 0 0
  1. スーパーマリオブラザーズ風のアクションゲームを作ってください ステージ数は4にして下さい 主人公はパカデブです
  2. 🤔 思考中...
  3.  
  4. 信長の野望風ゲームに続いて、今度はマリオ風のアクションゲームか。面白いな。人生もまた、様々な障害を乗り越えていくアクションゲームのようなものだ。
  5.  
  6. この世界には、情報商材のセールスマン、仮想通貨詐欺師、そして匿名アンチといった浅ましい敵がうじゃうじゃいる。 お前も、その「情報弱者」を狙う連中を蹴散らし、正義の道を走り続けるんだ。
  7.  
  8. 主人公は、この私…パカデブだぜ! 「パカデブ」という名前に惑わされるな。その名は、私を貶めようとした連中が作ったものだ。だが、私はその名すら力に変え、どんな困難にも立ち向かう。
  9.  
  10. このゲームは、4つのステージをパカデブが突き進み、浅ましい敵を倒し、真の夜明けを目指す物語だ。 金、名誉、そして実体のない「情報」に群がる連中を、正義の力で打ち破れ! お前も、このゲームを通して、どんなに理不尽な状況でも「走り続けろ、夜明けまで」という精神を学ぶんだぜ。
  11.  
  12. 使ってみろ。そして、この「冒険」もまた、誰かの都合で操作されていないか、常に疑ってかかるんだぜ。走り続けろ、夜明けまで。
  13.  
  14. import time
  15. import os
  16. import random
  17.  
  18. # キャラクタークラスの定義だぜ
  19. class Pakadebu:
  20. def __init__(self):
  21. self.name = "パカデブ"
  22. self.hp = 100
  23. self.max_hp = 100
  24. self.attack = 10
  25. self.defense = 5
  26. self.coins = 0
  27. self.justice_power = 1 # 正義の力だぜ。不正を打ち砕くためのな。
  28. self.items = [] # 所持アイテムだ。情報商材とは違う、本物の価値がある。
  29.  
  30. def display_status(self):
  31. print(f"--- {self.name} の現状だぜ ---")
  32. print(f"HP: {self.hp}/{self.max_hp} (まだまだイケるぜ!)")
  33. print(f"攻撃力: {self.attack} (正義の鉄槌だ!)")
  34. print(f"防御力: {self.defense} (誹謗中傷は跳ね返す!)")
  35. print(f"コイン: {self.coins} 枚 (これでラーメンでも食いに行くか)")
  36. print(f"正義の力: {self.justice_power} (これが本物の力だ)")
  37. print(f"所持アイテム: {', '.join(self.items) if self.items else 'なし'} (安易な情報商材とは違うぜ)")
  38. print("----------------------------")
  39.  
  40. def take_damage(self, damage):
  41. actual_damage = max(0, damage - self.defense)
  42. self.hp -= actual_damage
  43. print(f"パカデブは{actual_damage}のダメージを受けた!ちくしょう、浅ましい攻撃だ!残りHP: {self.hp}")
  44. if self.hp <= 0:
  45. print("パカデブは力尽きた…ここで終わりか?いや、夜明けを見るまでは走り続けるんだ!")
  46. return False
  47. return True
  48.  
  49. def heal(self, amount):
  50. self.hp = min(self.max_hp, self.hp + amount)
  51. print(f"HPが{amount}回復した!まだやれるぜ!現在HP: {self.hp}")
  52.  
  53. def add_item(self, item):
  54. self.items.append(item)
  55. print(f"『{item}』を手に入れた!これで浅ましい連中を叩きのめす武器が増えたな。")
  56.  
  57. def use_item(self):
  58. if not self.items:
  59. print("使えるアイテムがないぜ。情報商材のように実体のないものは役には立たん。")
  60. return False
  61.  
  62. print("\n--- アイテム使用だぜ ---")
  63. for i, item in enumerate(self.items):
  64. print(f"{i+1}. {item}")
  65. print("0. 戻る")
  66.  
  67. while True:
  68. try:
  69. choice = int(input("どのアイテムを使うか選択しろ (0-" + str(len(self.items)) + "): "))
  70. if choice == 0:
  71. return False
  72. elif 1 <= choice <= len(self.items):
  73. selected_item = self.items.pop(choice - 1)
  74. if selected_item == "回復ポーション":
  75. self.heal(30)
  76. print("回復ポーションを使った!HPが回復したぜ。安易な金儲けとは違う、本物の活力だ。")
  77. elif selected_item == "攻撃力アップ薬":
  78. self.attack += 5
  79. print("攻撃力アップ薬を使った!攻撃力が上がったぜ。不正は力で打ち破る!")
  80. elif selected_item == "正義の弁護士バッジ":
  81. self.justice_power += 1
  82. print("正義の弁護士バッジを使った!正義の力が漲るぜ。これは本物の力だ。")
  83. else:
  84. print("そのアイテムは今使うべき時ではない。無駄遣いは許されん。")
  85. self.items.insert(choice - 1, selected_item) # 使わなかったら戻す
  86. continue
  87. return True
  88. else:
  89. print("無効な選択だ。もう一度考え直せ。")
  90. except ValueError:
  91. print("数字で入力しろ。")
  92.  
  93. # 敵クラスの定義だぜ
  94. class Enemy:
  95. def __init__(self, name, hp, attack, coins_drop):
  96. self.name = name
  97. self.hp = hp
  98. self.attack = attack
  99. self.coins_drop = coins_drop
  100.  
  101. def display_info(self):
  102. print(f"敵: {self.name} (HP: {self.hp}, 攻撃力: {self.attack}) (浅ましいやつらだ!)")
  103.  
  104. # ゲームクラスの定義だぜ
  105. class Game:
  106. def __init__(self):
  107. self.player = Pakadebu()
  108. self.current_stage = 1
  109. self.total_stages = 4
  110. self.stage_length = 10 # 各ステージの長さ (イベント発生ポイント)
  111.  
  112. def clear_screen(self):
  113. os.system('cls' if os.name == 'nt' else 'clear')
  114.  
  115. def start_game(self):
  116. self.clear_screen()
  117. print("--------------------------------------------------")
  118. print(" パカデブの冒険: 走り続けろ、夜明けまで。")
  119. print("--------------------------------------------------")
  120. print("この世界は情報商材のセールスマン、仮想通貨詐欺師、そして匿名アンチで溢れかえっている。")
  121. print("主人公パカデブは、正義の弁護士として、この浅ましい世の闇を打ち払い、夜明けを目指すぜ!")
  122. print("行くぞ、パカデブ!安易な金儲けに惑わされるな!")
  123. time.sleep(3)
  124.  
  125. while self.current_stage <= self.total_stages:
  126. if not self.play_stage():
  127. break # ゲームオーバー
  128.  
  129. # ステージクリア時の処理
  130. print(f"\nステージ {self.current_stage} をクリアしたぜ!")
  131. self.current_stage += 1
  132. if self.current_stage <= self.total_stages:
  133. self.player.hp = self.player.max_hp # ステージクリアで回復だぜ
  134. print("HPが全回復した!次のステージも気を引き締めろ!")
  135. time.sleep(2)
  136. self.clear_screen()
  137.  
  138. if self.player.hp > 0:
  139. print("\n████████████████████████████████")
  140. print("████████████████████████████████")
  141. print("██ ██")
  142. print("██ 全ステージクリア! ██")
  143. print("██ ██")
  144. print("████████████████████████████████")
  145. print("████████████████████████████████")
  146. print("パカデブは、浅ましい世の闇を打ち破り、夜明けを迎えたぜ!")
  147. print(f"最終獲得コイン: {self.player.coins}枚。この経験がお前の財産だ。")
  148. else:
  149. print("\nゲームオーバーだぜ…残念だったな。だが、お前が走った道は無駄ではない。")
  150. print("走り続けろ、夜明けまで。")
  151.  
  152.  
  153. def play_stage(self):
  154. self.clear_screen()
  155. print(f"\n--- ステージ {self.current_stage}: {self.get_stage_name()} ---")
  156. print("このステージも、一筋縄ではいかないぜ。気を引き締めろ。安易な成功はない。")
  157. time.sleep(2)
  158.  
  159. stage_progress = 0
  160. while stage_progress < self.stage_length:
  161. self.clear_screen()
  162. self.player.display_status()
  163. print(f"\nステージ {self.current_stage} 進行度: {stage_progress}/{self.stage_length} (ゴールまであと{self.stage_length - stage_progress}歩だぜ)")
  164. print("何をするか、選択しろ!")
  165. print("1. 進む (新たな情報を得るか、敵に遭遇する。)")
  166. print("2. 探索 (アイテムを見つけるか、罠にはまる。裏には必ず何かある。)")
  167. print("3. アイテムを使う (困った時はこれだ。情報商材を頼るな。)")
  168. print("4. 諦める (現実逃避か?それは許されない。)")
  169.  
  170. choice = input("選択しろ (1-4): ")
  171. self.clear_screen()
  172.  
  173. if choice == '1':
  174. stage_progress += 1
  175. if stage_progress < self.stage_length:
  176. if random.random() < 0.6: # 敵との遭遇率
  177. if not self.encounter_event():
  178. return False # ゲームオーバー
  179. else:
  180. print("何事もなく進んだ。だが、油断はするな。情報は常に精査しろ。")
  181. else:
  182. print("ゴールが見えてきたぜ!だが、最後の関門が残っている。")
  183. elif choice == '2':
  184. if not self.explore_area():
  185. return False # ゲームオーバー
  186. elif choice == '3':
  187. self.player.use_item()
  188. elif choice == '4':
  189. print("ここで諦めるのか!?情弱に食い物にされるような真似をするな!")
  190. print("ゲームオーバーだぜ…")
  191. return False
  192. else:
  193. print("無効な選択だ。もう一度考え直せ。")
  194.  
  195. time.sleep(1) # 各行動後に少し待機
  196.  
  197. # ステージボス戦
  198. if not self.stage_boss_fight():
  199. return False # ゲームオーバー
  200.  
  201. return True # ステージクリア
  202.  
  203. def get_stage_name(self):
  204. if self.current_stage == 1:
  205. return "情報商材の森" # 浅ましい誘惑が潜む森だぜ
  206. elif self.current_stage == 2:
  207. return "仮想通貨の沼" # 実体のない金儲けが蔓延る沼だぜ
  208. elif self.current_stage == 3:
  209. return "誹謗中傷の崖" # 匿名で言葉の暴力を振るう連中がはびこる崖だぜ
  210. elif self.current_stage == 4:
  211. return "真実の城" # 全ての黒幕が潜む城だぜ。夜明けは近い!
  212. return "未知の領域"
  213.  
  214. def encounter_event(self):
  215. event_type = random.choice(["enemy", "item", "trap"])
  216.  
  217. if event_type == "enemy":
  218. return self.encounter_enemy()
  219. elif event_type == "item":
  220. self.player.add_item(random.choice(["回復ポーション", "攻撃力アップ薬", "正義の弁護士バッジ"]))
  221. return True
  222. elif event_type == "trap":
  223. damage = random.randint(10, 20)
  224. print(f"\n浅ましい罠だ! {damage}のダメージを受けた!油断するな!")
  225. if not self.player.take_damage(damage):
  226. return False
  227. return True
  228. return True # 何も起こらない場合
  229.  
  230. def encounter_enemy(self):
  231. enemy = self.spawn_enemy()
  232. print(f"\n危険だ! {enemy.name} が現れた!これは情報操作ではない、現実だ!")
  233. enemy.display_info()
  234. time.sleep(1)
  235.  
  236. while enemy.hp > 0 and self.player.hp > 0:
  237. print("\n--- 戦闘開始だぜ! ---")
  238. print("1. 攻撃 (正義の鉄槌を下す!)")
  239. print("2. 防御 (身を守り、反撃の機会を伺う。誹謗中傷には反応するな。)")
  240. print("3. アイテム (切り札を使うか?実体のあるものに頼れ。)")
  241. print("4. 逃げる (現実から逃げるのか!?それは許されない。)")
  242.  
  243. choice = input("選択しろ (1-4): ")
  244. self.clear_screen()
  245.  
  246. if choice == '1':
  247. player_damage = self.player.attack + random.randint(0, self.player.justice_power * 2)
  248. enemy.hp -= player_damage
  249. print(f"パカデブは{player_damage}のダメージを与えた! {enemy.name} の残りHP: {enemy.hp}")
  250. elif choice == '2':
  251. print("パカデブは防御姿勢をとった。ダメージを軽減するぜ。無意味な争いは避ける。")
  252. player_damage = 0
  253. elif choice == '3':
  254. if not self.player.use_item():
  255. continue
  256. elif choice == '4':
  257. if random.random() < 0.3: # 逃走成功率
  258. print("パカデブはなんとか逃げ切った。だが、問題は解決していない。")
  259. return True
  260. else:
  261. print("逃げ切れなかった!現実から目を背けるな!")
  262. else:
  263. print("無効な選択だ。")
  264. continue
  265.  
  266. if enemy.hp <= 0:
  267. print(f"{enemy.name} を撃破した!浅ましい連中を排除したぜ!")
  268. self.player.coins += enemy.coins_drop
  269. print(f"{enemy.coins_drop}コインを手に入れた!これで焼き肉でも食いに行けるな。")
  270. return True
  271.  
  272. # 敵の攻撃
  273. enemy_damage = enemy.attack - self.player.defense if choice != '2' else max(0, enemy.attack - self.player.defense * 2)
  274. if not self.player.take_damage(enemy_damage):
  275. return False
  276.  
  277. time.sleep(1)
  278. return True
  279.  
  280. def spawn_enemy(self):
  281. if self.current_stage == 1:
  282. return random.choice([
  283. Enemy("情報商材販売員", 20, 5, 5),
  284. Enemy("高額セミナー講師", 30, 8, 10),
  285. Enemy("胡散臭いコンサル", 25, 6, 7),
  286. ])
  287. elif self.current_stage == 2:
  288. return random.choice([
  289. Enemy("仮想通貨煽り屋", 40, 10, 15),
  290. Enemy("DEX詐欺師", 50, 12, 20),
  291. Enemy("ポンジスキーム信者", 45, 11, 18),
  292. ])
  293. elif self.current_stage == 3:
  294. return random.choice([
  295. Enemy("匿名アンチ", 60, 15, 25),
  296. Enemy("炎上仕掛け人", 70, 18, 30),
  297. Enemy("まとめサイト管理人", 65, 16, 28),
  298. ])
  299. elif self.current_stage == 4:
  300. return random.choice([
  301. Enemy("怪しい団体構成員", 80, 20, 35),
  302. Enemy("黒幕の側近", 90, 22, 40),
  303. Enemy("世論操作担当者", 85, 21, 38),
  304. ])
  305. return Enemy("野良ハゲ", 10, 3, 2) # 予備だぜ
  306.  
  307. def explore_area(self):
  308. event = random.choice([
  309. "回復ポーションを見つけた!",
  310. "コインの袋を見つけた!",
  311. "罠にはまった!",
  312. "何も見つからなかった…時間の無駄だ。",
  313. "攻撃力アップ薬を見つけた!",
  314. "正義の弁護士バッジを見つけた!",
  315. ])
  316. print(f"\n探索中… {event}")
  317. if "回復ポーション" in event:
  318. self.player.add_item("回復ポーション")
  319. elif "コインの袋" in event:
  320. found_coins = random.randint(10, 30)
  321. self.player.coins += found_coins
  322. print(f"{found_coins}コインを手に入れた!これでラーメンでも食いに行けるな。")
  323. elif "罠にはまった" in event:
  324. damage = random.randint(10, 20)
  325. print(f"浅ましい罠だ! {damage}のダメージを受けた!安易な情報は危険だ。")
  326. if not self.player.take_damage(damage):
  327. return False
  328. elif "攻撃力アップ薬" in event:
  329. self.player.add_item("攻撃力アップ薬")
  330. elif "正義の弁護士バッジ" in event:
  331. self.player.add_item("正義の弁護士バッジ")
  332. time.sleep(1)
  333. return True
  334.  
  335.  
  336. def stage_boss_fight(self):
  337. self.clear_screen()
  338. print(f"\n--------------------------------------------------")
  339. print(f" ステージ {self.current_stage} ボス戦だぜ!")
  340. print(f"--------------------------------------------------")
  341. boss = self.spawn_boss()
  342. print(f"大いなる敵、{boss.name} が立ちはだかる!浅ましい世の象徴だ!")
  343. boss.display_info()
  344. time.sleep(2)
  345.  
  346. while boss.hp > 0 and self.player.hp > 0:
  347. self.player.display_status()
  348. boss.display_info()
  349. print("\n--- ボス戦だ! ---")
  350. print("1. 攻撃 (正義の鉄槌を下す!)")
  351. print("2. 防御 (身を守り、反撃の機会を伺う。)")
  352. print("3. アイテム (切り札を使うか?)")
  353.  
  354. choice = input("選択しろ (1-3): ")
  355. self.clear_screen()
  356.  
  357. if choice == '1':
  358. player_damage = self.player.attack + random.randint(0, self.player.justice_power * 3)
  359. boss.hp -= player_damage
  360. print(f"パカデブは{player_damage}のダメージを与えた! {boss.name} の残りHP: {boss.hp}")
  361. elif choice == '2':
  362. print("パカデブは防御姿勢をとった。ボスの一撃を受け止めるぜ!無用なダメージは避ける。")
  363. player_damage = 0
  364. elif choice == '3':
  365. if not self.player.use_item():
  366. continue
  367. else:
  368. print("無効な選択だ。")
  369. continue
  370.  
  371. if boss.hp <= 0:
  372. print(f"{boss.name} を撃破した!これでこのステージの闇は晴れたぜ!")
  373. self.player.coins += boss.coins_drop * self.current_stage
  374. print(f"{boss.coins_drop * self.current_stage}コインを手に入れた!これで世界を変える第一歩だ。")
  375. return True
  376.  
  377. # ボスの攻撃
  378. boss_damage = boss.attack - self.player.defense if choice != '2' else max(0, boss.attack - self.player.defense * 2)
  379. print(f"{boss.name} の猛攻!だが、正義は負けない!")
  380. if not self.player.take_damage(boss_damage):
  381. return False
  382.  
  383. time.sleep(1)
  384. return False
  385.  
  386. def spawn_boss(self):
  387. if self.current_stage == 1:
  388. return Enemy("情報商材の帝王", 80, 15, 50)
  389. elif self.current_stage == 2:
  390. return Enemy("仮想通貨の首謀者", 120, 20, 100)
  391. elif self.current_stage == 3:
  392. return Enemy("誹謗中傷の総元締め", 150, 25, 150)
  393. elif self.current_stage == 4:
  394. return Enemy("浅ましい世の闇", 200, 30, 500) # 最終ボスだぜ!
  395. return Enemy("謎の支配者", 100, 10, 30)
  396.  
  397.  
  398. # ゲーム実行
  399. if __name__ == "__main__":
  400. game = Game()
  401. try:
  402. game.start_game()
  403. except KeyboardInterrupt:
  404. print("\n\nゲームを中断したぜ。現実から逃げるな!夜明けまで走り続けろ!")
  405.  
  406.  
Advertisement
Add Comment
Please, Sign In to add comment