TypeError: tuple indices must be integers or slices, not tuple

0 votes

Im a begginer and im trying to make a snake using pygame and i ran into this error and i dont understand this erorr

import pygame
from random import randrange


def snake_head(snx,sny,display,red):
    pygame.draw.rect(display,red,[snx,sny,49,49])

def grids():
    for x in range(12):
        for y in range(12):
            rect=pygame.Rect(x*blcsize,y*blcsize,blcsize,blcsize)
            pygame.draw.rect(display, white, rect, 1)
def mouse(x,y):
    pygame.draw.rect(display,white, [x, y, 49, 49])

def the_fucking_tail(headcordlist,tailcount,display,red):
    for x in range(tailcount):
        print(headcordlist[x][0], headcordlist[x][1])
        tailx=headcordlist[x][0]
        taily=headcordlist[x][1]
        pygame.draw.rect(display,red[tailx,taily,45,45])




pygame.init()
black=(0,0,0)
white=(250,250,250)
red=(250,0,0)
blcsize=50
sny=250
snx=250
snychange=0
snxchange=0
mouscordx=randrange(0,12)*50
mouscordy=randrange(0,12)*50
display=pygame.display.set_mode((600,600))
CLOCK = pygame.time.Clock()
pygame.display.set_caption('azhdars legacy')
icon = pygame.image.load('cobra.png')
pygame.display.set_icon(icon)

runnig=True
display.set_alpha(None)
movment='none'
tailcount=0
headcordslist=[]


while runnig:
#display
    display.fill(black)
    grids()
    mouse(mouscordx,mouscordy)
#mouse check
    if [snx,sny]==[mouscordx,mouscordy]:
        mouscordx = randrange(0, 12) * 50
        mouscordy = randrange(0, 12) * 50
        tailcount+=1
#movements
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            runnig=False
        if event .type==pygame.KEYDOWN:
            if event.key==pygame.K_RIGHT:
                if movment=='left':
                    pass
                else:
                    movment='right'
                    snxchange=50
                    snychange=0
            if event.key==pygame.K_LEFT:
                if movment =='right':
                    pass
                else:
                    movment='left'
                    snxchange =-50
                    snychange=0
            if event.key == pygame.K_UP:
                if movment=='down':
                    pass
                else:
                    movment='up'
                    snxchange =0
                    snychange =-50
            if event.key == pygame.K_DOWN:
                if movment=='up':
                    pass
                else:
                    movment='down'
                    snxchange = 0
                    snychange =50

    pygame.time.delay(300)
    snx+=snxchange
    sny+=snychange
    headcords=list([snx,sny])

    print(headcordslist)
    #print(headcords)
    headcordslist.insert(0,headcords)
    #print(headcordslist)
    headcordslist=list(headcordslist)
    if len(headcordslist)>tailcount:
        headcordslist.pop()
    the_fucking_tail(headcordslist,tailcount,display,red)


    snake_head(snx, sny, display, red)

    pygame.display.update()
Oct 18 in Python by peyman
• 120 points

edited Oct 19 by Gitika 70 views

Hello @peyman,

You can refer this: https://medium.com/edureka/snake-game-with-pygame-497f1683eeaa  this will help you to create snake game in a better way. I find it very useful

No answer to this question. Be the first to respond.

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.

Related Questions In Python

0 votes
3 answers
0 votes
0 answers

TypeError: tuple indices must be integers or slices, not tuple

Traceback (most recent call last):   File "main.py", line ...READ MORE

Aug 25 in Python by Peddabudi srikanth
• 120 points
774 views
0 votes
1 answer

TypeError: list indices must be integers or slices, not str

Hi@akhtar, As we know that the index of ...READ MORE

answered Oct 14 in Python by MD
• 78,020 points
836 views
+1 vote
1 answer

Can anyone help me with this error: TypeError: list indices must be integers or slices, not str

Hi, @Varshap  It’s a TypeError, which tells us ...READ MORE

answered Nov 5 in Python by anonymous
• 48,480 points
73 views
0 votes
1 answer

Python error "TypeError: string indices must be integers, not str"

Hey @Dipti email_s.append(email_1["email_address"]) This is the list on ...READ MORE

answered Jul 5, 2019 in Python by Jinu
18,603 views
0 votes
3 answers

TypeError: Index(...) must be called with a collection of some kind, 'Email' was passed

It is not working because your code ...READ MORE

answered May 12 in Python by anonymous

edited May 13 by Gitika 22,023 views
0 votes
0 answers

How to remove elements from a list that may or may not be present?

In case I want to remove some ...READ MORE

Jun 27, 2019 in Python by Nisa
• 1,090 points
148 views
+1 vote
5 answers

Check whether the file exists or not?

Use this import os os.path.exists(path) # Returns whether the ...READ MORE

answered Oct 18, 2018 in Python by reyam
321 views
0 votes
1 answer

'python' is not recognized as an internal or external command

I have met same issue when I ...READ MORE

answered Aug 24, 2018 in Python by Priyaj
• 57,700 points
324 views
0 votes
1 answer

Python `if x is not None` or `if not x is None`?

There's no performance difference, as they compile ...READ MORE

answered Sep 3, 2018 in Python by Priyaj
• 57,700 points
948 views