質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

581閲覧

(pygame)関数を作っていないのに関数のエラーが出てくる

ITYAA

総合スコア2

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/08/24 06:55

前提

pythonのpygameでゲームを作っています。
わんこそばを連打して、できるだけ満腹ゲージを早く満タンにして
主人公を倒すというゲームです。

説明

ネットで調べてみると関数に関してのエラーみたいなのですが、
エラーが示している場所は関数を作っていません。

エラーメッセージ

python

1 timescore=font2.render("スコアは",kekkatime,"秒でした!",True,pg.Color("BLACK")) 2TypeError: function takes at most 4 arguments (5 given)

コード

python

1import pygame as pg,sys 2from pygame.locals import* 3import time,datetime 4import random 5pg.init() 6pg.mixer.init() 7screen=pg.display.set_mode((800,800)) 8pg.display.set_caption("わんこそばたべさせておなか一杯にさせるゲーム") 9#満腹ゲージ 10g0=pg.image.load("ゲージlv0.png") 11g1=pg.image.load("ゲージlv1.png") 12g2=pg.image.load("ゲージlv2.png") 13g3=pg.image.load("ゲージlv3.png") 14g4=pg.image.load("ゲージlv4.png") 15g5=pg.image.load("ゲージlv5.png") 16g6=pg.image.load("ゲージlv6.png") 17g7=pg.image.load("ゲージlv7.png") 18g8=pg.image.load("ゲージlv8.png") 19g9=pg.image.load("ゲージlv9.png") 20g10=pg.image.load("ゲージlv10.png") 21#わんこそば 22wanko=pg.image.load("わんこそば.png") 23wanko=pg.transform.scale(wanko,(300,200)) 24wankowasabi=pg.image.load("わんこそばワサビ山盛り.png") 25wankowasabi=pg.transform.scale(wankowasabi,(300,200)) 26#わんこそば食べる人 27hito=pg.image.load("わんこそば食べる人.png") 28hito=pg.transform.scale(hito,(300,150)) 29hitotabeta=pg.image.load("わんこそば食べる人食べた.png") 30hitotabeta=pg.transform.scale(hitotabeta,(300,150)) 31#店員さん 32staff=pg.image.load("店員さん.png") 33staff=pg.transform.scale(staff,(350,200)) 34#テーブル 35table=pg.image.load("テーブル.png") 36#text 37font=pg.font.Font("cinecaption226.ttf",40) 38font2=pg.font.Font("cinecaption226.ttf",20) 39text=font.render("わんこそばを連打して動けなくしてやろう!",True,pg.Color("BLACK")) 40#サウンド 41sobaoto=pg.mixer.music.load("drinking_a_soup.mp3") 42GAMEOVER=pg.image.load("GAMEOVER.png") 43GAMEOVER_SOUND=pg.mixer.music.load("きらきら.mp3") 44pg.mixer.music.load("和テイスト.mp3") 45#pg.mixer.music.play(-1) 46osara=pg.image.load("わんこそばお皿.png") 47start=12 48page=start 49 50 51def garge(): 52 global garge,garged 53 if garged==g0: 54 garged=g0 55 screen.blit(garged,(735,290)) 56 elif garged==g1: 57 time.sleep(1) 58 garged=g0 59 screen.blit(garged,(735,290)) 60 elif garged==g2: 61 time.sleep(1) 62 garged=g1 63 screen.blit(garged,(735,290)) 64 time.sleep(1) 65 garged=g0 66 screen.blit(garged,(735,290)) 67 elif garged==g3: 68 time.sleep(1) 69 garged=g2 70 screen.blit(garged,(735,290)) 71 time.sleep(1) 72 garged=g1 73 screen.blit(garged,(735,290)) 74 time.sleep(1) 75 garged=g0 76 screen.blit(garged,(735,290)) 77 elif garged==g4: 78 time.sleep(1) 79 garged=g3 80 screen.blit(garged,(735,290)) 81 time.sleep(1) 82 garged=g2 83 screen.blit(garged,(735,290)) 84 time.sleep(1) 85 garged=g1 86 screen.blit(garged,(735,290)) 87 time.sleep(1) 88 garged=g0 89 screen.blit(garged,(735,290)) 90 elif garged==g5: 91 time.sleep(1) 92 garged=g4 93 screen.blit(garged,(735,290)) 94 time.sleep(1) 95 garged=g3 96 screen.blit(garged,(735,290)) 97 time.sleep(1) 98 garged=g2 99 screen.blit(garged,(735,290)) 100 time.sleep(1) 101 garged=g1 102 screen.blit(garged,(735,290)) 103 time.sleep(1) 104 garged=g0 105 screen.blit(garged,(735,290)) 106 elif garged==g6: 107 time.sleep(1) 108 garged=g5 109 screen.blit(garged,(735,290)) 110 time.sleep(1) 111 garged=g4 112 screen.blit(garged,(735,290)) 113 time.sleep(1) 114 garged=g3 115 screen.blit(garged,(735,290)) 116 time.sleep(1) 117 garged=g2 118 screen.blit(garged,(735,290)) 119 time.sleep(1) 120 garged=g1 121 screen.blit(garged,(735,290)) 122 time.sleep(1) 123 garged=g0 124 screen.blit(garged,(735,290)) 125 elif garged==g7: 126 time.sleep(1) 127 garged=g6 128 screen.blit(garged,(735,290)) 129 time.sleep(1) 130 garged=g5 131 screen.blit(garged,(735,290)) 132 time.sleep(1) 133 garged=g4 134 screen.blit(garged,(735,290)) 135 time.sleep(1) 136 garged=g3 137 screen.blit(garged,(735,290)) 138 time.sleep(1) 139 garged=g2 140 screen.blit(garged,(735,290)) 141 time.sleep(1) 142 garged=g1 143 screen.blit(garged,(735,290)) 144 time.sleep(1) 145 garged=g0 146 screen.blit(garged,(735,290)) 147 elif garged==g8: 148 time.sleep(1) 149 garged=g7 150 screen.blit(garged,(735,290)) 151 time.sleep(1) 152 garged=g6 153 screen.blit(garged,(735,290)) 154 time.sleep(1) 155 garged=g5 156 screen.blit(garged,(735,290)) 157 time.sleep(1) 158 garged=g4 159 screen.blit(garged,(735,290)) 160 time.sleep(1) 161 garged=g3 162 screen.blit(garged,(735,290)) 163 time.sleep(1) 164 garged=g2 165 screen.blit(garged,(735,290)) 166 time.sleep(1) 167 garged=g1 168 screen.blit(garged,(735,290)) 169 time.sleep(1) 170 garged=g0 171 screen.blit(garged,(735,290)) 172 elif garged==g9: 173 time.sleep(1) 174 garged=g8 175 screen.blit(garged,(735,290)) 176 time.sleep(1) 177 garged=g7 178 screen.blit(garged,(735,290)) 179 time.sleep(1) 180 garged=g6 181 screen.blit(garged,(735,290)) 182 time.sleep(1) 183 garged=g5 184 screen.blit(garged,(735,290)) 185 time.sleep(1) 186 garged=g4 187 screen.blit(garged,(735,290)) 188 time.sleep(1) 189 garged=g3 190 screen.blit(garged,(735,290)) 191 time.sleep(1) 192 garged=g2 193 screen.blit(garged,(735,290)) 194 time.sleep(1) 195 garged=g1 196 screen.blit(garged,(735,290)) 197 time.sleep(1) 198 garged=g0 199 screen.blit(garged,(735,290)) 200 elif garged==g10: 201 page=gameover 202 203 204 205g1x=random.randint(1,10) 206g2x=random.randint(11,20) 207g3x=random.randint(21,30) 208g4x=random.randint(31,40) 209g5x=random.randint(41,50) 210g6x=random.randint(51,60) 211g7x=random.randint(61,70) 212g8x=random.randint(71,80) 213g9x=random.randint(81,90) 214def garge_change(): 215 if pushcount==0: 216 garged=g0 217 screen.blit(garged,(735,290)) 218 if pushcount>=g1x: 219 garged=g1 220 screen.blit(garged,(735,290)) 221 if pushcount>=g2x: 222 garged=g2 223 screen.blit(garged,(735,290)) 224 if pushcount>=g3x: 225 garged=g3 226 screen.blit(garged,(735,290)) 227 if pushcount>=g4x: 228 garged=g4 229 screen.blit(garged,(735,290)) 230 if pushcount>=g5x: 231 garged=g5 232 screen.blit(garged,(735,290)) 233 if pushcount>=g6x: 234 garged=g6 235 screen.blit(garged,(735,290)) 236 if pushcount>=g7x: 237 garged=g7 238 screen.blit(garged,(735,290)) 239 if pushcount>=g8x: 240 garged=g8 241 screen.blit(garged,(735,290)) 242 if pushcount>=g9x: 243 garged=g9 244 screen.blit(garged,(735,290)) 245 if pushcount>=100: 246 garged=g10 247 screen.blit(garged,(735,290)) 248 endtime=time.time() 249 kekkatime=int(endtime-starttime) 250 print("いちゃを倒した時間は",kekkatime,"秒でした!おめでとう!") 251 252#初期化 253garged=g0 254pushcount=0 255start=1 256gameover=1 257page=start 258pushcount_1s=0 259kekkatime=0 260pushflag=False 261starttime=time.time() 262timescore=font2.render("スコアは",kekkatime,"秒でした!",True,pg.Color("BLACK")) 263while True: 264 w_rect=pg.Rect(245,500,300,200) 265 screen.fill(pg.Color("WHITE")) 266 screen.blit(hito,(210,390)) 267 screen.blit(table,(100,500)) 268 screen.blit(wanko,w_rect) 269 screen.blit(staff,(30,600)) 270 screen.blit(text,(10,100)) 271 screen.blit(garged,(735,290)) 272 garge_change() 273 pg.display.update() 274 pg.time.Clock().tick(60) 275 for event in pg.event.get(): 276 if event.type == pg.QUIT: 277 pg.quit() 278 sys.exit() 279 if event.type==pg.MOUSEBUTTONDOWN: 280 if w_rect.collidepoint(event.pos): 281 pg.mixer.Sound("drinking_a_soup.mp3").play() 282 pushcount=pushcount+1 283 screen.blit(hitotabeta,(210,390)) 284 print("True") 285 else: 286 print("わんこそばをくりっくしてね!") 287 print("False") 288

試したこと

ネットで調べたりしました
回答待ってます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2022/08/24 07:58

> font2.render("スコアは",kekkatime,"秒でした!",True,pg.Color("BLACK")) では、「スコアは」と「kekkatime」と「秒でした!」がバラバラにそれぞれ「font2.render()」に渡されてます 「スコアは」と「kekkatime」と「秒でした!」をつなげて一つの文字列にして、それを「font2.render()」に渡します
ITYAA

2022/08/24 09:33

どのようにつなげればいいんでしょうか!>_< (何もわかって無くてすみません)
jbpb0

2022/08/24 09:39

あれ、解決したのですよね?
guest

回答2

0

ベストアンサー

renderは最大4つの引数しか指定できませんが、5つの引数が指定されています。

python

1timescore=font2.render("スコアは",kekkatime,"秒でした!",True,pg.Color("BLACK"))

python

1#リファレンスでは 2Font.render(text, antialias, color, background=None)

pygame document

投稿2022/08/24 07:05

Matsumon0104

総合スコア1005

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ITYAA

2022/08/24 07:21

すみません!私が理解できていないのですが、具体的にどうすればいいのですか?
Matsumon0104

2022/08/24 07:29

メソッドに合わせた引数を当てはめるといいです。 まずは、リンクのドキュメントを読んでみましょう。 初心者ということですので、ドキュメントを見ても、吸収するのが難しいところもあると思うので、簡単にrenderの引数の説明を書いておきます。 Font.render(text, antialias, color, background=None) text -> レンダリングするテキストを指定します。 antialias -> trueにすると滑らかな表示、falseにするとかくかくした感じの表示 color -> 文字色 background -> 文字の背景色 自身で一度組んでみて、それでも思うようにいかない場合は、聞いてください。
ITYAA

2022/08/24 07:35

ありがとうございます!試してみます!
guest

0

エラーが示している場所は関数を作っていません。

それは関数の使い方が間違っている、というエラーです

投稿2022/08/24 07:02

y_waiwai

総合スコア87747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問