π
<-

## Nouveau Jeu Vidéo Space Invaders

### Nouveau Jeu Vidéo Space Invaders

Code: Select all
from math import *from kandinsky import *from ion import *from random import *from time import *    from matplotlib.pyplot import *nettoyage=monotonic()+3.5Pause=Falseb=90l=[]posx_plane_intro=10fill_rect(0,0,320,230,"black") for n in range(100):    set_pixel(randint(0,320),randint(0,220),(255,255,255))draw_string("Space Invader",90,90,"green","black")draw_string("by Gugus_BSS",90,200,"white","black")def plane_intro():  return [fill_rect(posx_plane_intro,50,16,5,"grey"),fill_rect(posx_plane_intro-2,50,18,3,"grey"),fill_rect(posx_plane_intro-4,45,4,4,"grey"),fill_rect(posx_plane_intro+16,51,1,3,"grey"),fill_rect(posx_plane_intro+17,52,3,1,"grey"),set_pixel(posx_plane_intro-3,50,"grey"),fill_rect(posx_plane_intro,48,2,2,"grey"),fill_rect(posx_plane_intro,49,3,1,"grey"),fill_rect(posx_plane_intro+4,52,7,1,"black"),fill_rect(posx_plane_intro+6,49,4,2,"blue"),fill_rect(posx_plane_intro-5,45,1,9,"black"),fill_rect(posx_plane_intro-4,50,1,4,"black"),fill_rect(posx_plane_intro-2,51,1,3,"black"),fill_rect(posx_plane_intro-2,53,2,2,"black")]for x in range(320):  posx_plane_intro+=1  plane_intro()  sleep(0.003)  fill_rect(0,54,posx_plane_intro,2,"red")pos_etoiles=[]pos_alien=[[15,30],[40,30],[65,30],[90,30],[115,30],[140,30],[165,30],[190,30],[215,30]]autorise=Falseplane=1j=-10waves=0h=0Kill = 0level = 0shoot = 0def plane1():    return[fill_rect(posx-5,posy,10,2,"grey"),fill_rect(posx-1,posy-4,2,8,"grey"),fill_rect(posx-4,posy-1,8,1,"grey"),fill_rect(posx-3,posy-2,6,1,"grey"),fill_rect(posx-2,posy-3,4,2,"grey"),fill_rect(posx-1,posy-5,2,1,"green"),fill_rect(posx-1,posy-3,2,3,"blue")]def plane2():    return [fill_rect(posx-5,posy,10,2,"grey"),fill_rect(posx-1,posy-4,2,8,"grey"),fill_rect(posx-4,posy-1,8,1,"grey"),fill_rect(posx-3,posy-2,6,1,"grey"),fill_rect(posx-2,posy-3,4,2,"grey"),fill_rect(posx-1,posy-5,2,1,"grey"),fill_rect(posx-1,posy-3,2,3,"blue"),fill_rect(posx-6,posy-1,1,3,"grey"),fill_rect(posx+6,posy-1,1,3,"grey")]def plane3():  return [fill_rect(posx-9,posy,19,2,"blue"),fill_rect(posx-2,posy-8,5,10,"blue"),fill_rect(posx-1,posy-10,3,14,"blue"),fill_rect(posx-7,posy-1,15,1,"blue"),fill_rect(posx-6,posy-2,13,1,"blue"),fill_rect(posx-5,posy-3,11,1,"blue"),fill_rect(posx-4,posy-4,9,1,"blue"),fill_rect(posx-3,posy-5,7,1,"blue"),fill_rect(posx-9,posy-3,1,3,"grey"),fill_rect(posx+9,posy-3,1,3,"grey"),fill_rect(posx-1,posy-7,3,3,"green"),fill_rect(posx,posy-8,1,1,"green"),set_pixel(posx,posy-11,"blue")]def alien1():  return [fill_rect(j-4,h,10,10,(0,200,0)),fill_rect(j-6,h+2,14,8,(0,200,0)),fill_rect(j-8,h+4,18,4,(0,200,0)),fill_rect(j-10,h+6,2,6,(0,200,0)),fill_rect(j+10,h+6,2,6,(0,200,0)),fill_rect(j-6,h+10,2,2,(0,200,0)),fill_rect(j+6,h+10,2,2,(0,200,0)),fill_rect(j-4,h+12,4,2,(0,200,0)),fill_rect(j+2,h+12,4,2,(0,200,0)),fill_rect(j-6,h-2,2,2,(0,200,0)),fill_rect(j+6,h-2,2,2,(0,200,0)),fill_rect(j-4,h+4,2,2,"white"),fill_rect(j+4,h+4,2,2,"white")]def alien3():  return [fill_rect(j-4,h,10,10,"black"),fill_rect(j-6,h+2,14,8,"black"),fill_rect(j-8,h+4,18,4,"black"),fill_rect(j-10,h+6,2,6,"black"),fill_rect(j+10,h+6,2,6,"black"),fill_rect(j-6,h+10,2,2,"black"),fill_rect(j+6,h+10,2,2,"black"),fill_rect(j-4,h+12,4,2,"black"),fill_rect(j+2,h+12,4,2,"black"),fill_rect(j-6,h-2,2,2,"black"),fill_rect(j+6,h-2,2,2,"black"),fill_rect(j-4,h+4,2,2,"black"),fill_rect(j+4,h+4,2,2,"black")]def alien2():  return [fill_rect(j-4,h-2,10,2,"black"),fill_rect(j-6,h-3,14,2,"black"),fill_rect(j-10,h,6,2,"black"),fill_rect(j-10,h+2,4,2,"black"),fill_rect(j-10,h+4,2,2,"black"),fill_rect(j-4,h+10,10,2,"black"),fill_rect(j+6,h,6,2,"black"),fill_rect(j+8,h+2,4,2,"black"),fill_rect(j+10,h+4,2,2,"black")]posx = 90posy = 215laser1 = 90laser1_1=laser1laser1_2=laser1-400laser2 = 210autorise_laser2_1=Trueautorise_laser2_2=Falselaser2_1=laser2laser2_2=laser2Boost=monotonic()+randint(8,20)for x in range(80):  pos_etoiles.append([randint(0,210),randint(0,230)],)laser1=posxi=0  wave=0a=0record_kill=0best_wave=0right=Trueleft=Truedraw_string("Space Invader",90,90,"black","black")draw_string("Space Invader",90,30,"green","black")draw_string("by GusGus_BBS",90,200,"black","black")def menu():    return[fill_rect(0,70,320,200,"black"),draw_string("mode:→",75,80,"white","black"),draw_string("commands:→",75,100,"white","black"),draw_string("press OK to play",70,200,"red","black"),draw_string("kill all the alien ",60,180,"green","black"),draw_string("protect our base!",60,160,"green","black")]objectif=1pv=10mode=1menu_select=1menu()menus=Truefile=0files=0while not keydown(KEY_OK):    try:      files=open("space_kill.sav","r")    file=open("space_waves.txt","r")    record_kill=files.readline()    best_wave=file.readline()         except:    print(">failed to read the score<")    print(">get omega to read the score!<")  if menus==True:    draw_string(str(record_kill),125,2,"red","black")    draw_string("record kill:",2,2,"red","black")    draw_string("best wave:",183,2,"pink","black")    draw_string(str(best_wave),283,2,"pink","black")      if keydown(KEY_BACKSPACE):    menu()    menus=True  if keydown(KEY_UP)and menu_select>1:    menu_select-=1  if keydown(KEY_DOWN)and menu_select<2:    menu_select+=1  if menu_select==2 and menus==True:     draw_string("mode:→",75,80,"white","black")    draw_string("commands:→",75,100)  if keydown(KEY_RIGHT) and menu_select==2 and menus==True:    menus=False    fill_rect(0,70,320,200,"black")    draw_string("press right or left to move",0,90,"white","black")    draw_string("only in easy mode:",2,113,"white","black")    draw_string("press ok to have a speed boost",20,136,"white","black")    draw_string("press back_space\clear to back",0,160,"white","black")    draw_string("capture the blue squares to have",0,183,"blue","black")    draw_string("mysterious power...",0,203,"blue","black")  elif menu_select==1 and menus==True:    draw_string("commands:→",75,100,"white","black")    draw_string("mode:→",75,80)  if keydown(KEY_RIGHT) and menu_select==1 and menus==True:    mode+=1    sleep(0.2)    if mode>3:      mode=1  if mode==3 and menus==True:      draw_string("<hardcore>",138,80,"white","black")         pv=1  if mode==2 and menus==True:    draw_string("<normal>",138,80,"white","black")    pv=3  if mode==1 and menus==True:      pv=5    draw_string("xxxxxx",198,80,"black","black")         draw_string("<easy>",138,80,"white","black")  if mode==1:  pv=5if mode==2:  pv=3if mode>3:  pv=1pause=Falseautorise_bombe_H=False   fill_rect(230,0,100,220,"grey")draw_string("waves:",235,50,(0,0,0),"grey")fill_rect(230,0,3,220,"red")fill_rect(230,70,90,3,"red")fill_rect(0,0,230,290,"black")draw_string("PV:",235,180,"black","grey")record_kill=int(record_kill)while pv >0 :     if get_pixel(15,25)!=(0,200,0) and get_pixel(40,25)!=(0,200,0) and get_pixel(65,25)!=(0,200,0) and get_pixel(90,25)!=(0,200,0) and get_pixel(115,25)!=(0,200,0) and get_pixel(140,25)!=(0,200,0) and get_pixel(165,25)!=(0,200,0) and get_pixel(190,25)!=(0,200,0) and get_pixel(215,25)!=(0,200,0) and autorise==False:    laser2_1=210    laser2_2=210    if plane==1:      laser1_1=laser1      laser1_2=laser1    if plane>1:      laser1_1=laser1-10      laser1_2=laser1+10    h=0    if waves<6:        waves+=1    wave+=1    fill_rect(0,0,230,210,"black")    l=[]    for x in range(waves):          j=-10        h+=25        for i in range(9):          j+=25          l=l+[[j,h]]                      alien1()             laser2=210  draw_string(str(wave),300,50,"black","grey")  draw_string(str(pv),275,180,"black","grey")  for x in pos_etoiles:    set_pixel(x[1],x[0],"white")  draw_string("Kill:",235,20,"black","grey")  draw_string(str(Kill),290,20,"black","grey")        if autorise == False :    h=0    j=15    x=randint(0,8)    for x in range(x):      j+=25    x=randint(1,waves)         for x in range(x):      h+=25                    if get_pixel(j,h)==(0,200,0) and get_pixel(j,h+27)==(0,0,0):      time=uniform(monotonic()+0.5,monotonic()+1.5)      autorise=True      else:      autorise=False    if get_pixel(j,h)== (0,0,0):    autorise=False        if autorise == True and monotonic()>time :     if h <220 and get_pixel(j,h)!=(248,0,0) :            h+=1       if mode==1:         sleep(0.005)       alien1()       alien2()    else:       alien3()       h=0       j=15       Kill+=1           autorise=False  if h>=219 and autorise==True :    pv-=1    alien3()    h=0    draw_string(str(pv),275,180,"black","grey")    autorise= False    if laser2>0:      if autorise_laser2_1==True:        laser2_1-=3      if plane>=3:        laser2_1-=2       fill_rect(laser1_1,laser2_1,4,9,(248,0,0))       if autorise_laser2_2==True and plane>1:      laser2_2-=3      if plane>=3:        laser2_2-=2      fill_rect(laser1_2,laser2_2,4,9,(248,0,0))    laser2-=3    if plane>=3:        laser2-=2    fill_rect(laser1_1,laser2_1+9,4,9,"black")      fill_rect(laser1_2,laser2_2+9,4,9,"black")  else:    fill_rect(laser1_1,laser2_1,4,9,"black")          fill_rect(laser1_2,laser2_2,4,9,"black")    laser2_1=210    laser2_2=210    laser2=210    if plane>1:      laser1_1=posx-10      laser1_2=posx+10    else:      laser1_1=posx      laser1_2=posx    laser1=posx        autorise_laser2_1=True    autorise_laser2_2=True  if get_pixel(laser1_1,laser2_1-4)== (0,200,0):    if plane>1:        fill_rect(laser1-25,laser2_1-19,25,27,"black")    else:      fill_rect(laser1_1-12,laser2_1-19,25,27,"black")    fill_rect(laser1_1,laser2_1,4,9,"black")          Kill+=1    laser2_1=210    autorise_laser2_1=False          if get_pixel(laser1_2,laser2_2-4)== (0,200,0):    fill_rect(laser1_2-10,laser2_2-19,27,27,"black")    fill_rect(laser1_2,laser2_2,4,9,"black")    Kill+=1    laser2_2=210    autorise_laser2_2=False   if keydown(KEY_RIGHT) and posx < 200 and right==True:     fill_rect(posx-10,posy-12,20,20,"black")      posx += 25    right=False  if not keydown(KEY_RIGHT):    right=True          if plane==1:      plane1()   elif plane==2:    plane2()  elif plane>=3:    plane3()  if keydown(KEY_SHIFT) and keydown(KEY_THREE):    autorise_bombe_H=True    plane=3    if keydown(KEY_SHIFT) and autorise_bombe_H==True:    ih=0    ij=0    for i in range(200):      if ij<100 :          ij+=1      if i<113:        ih+=1      fill_rect(113-ih,100-ij,2*ih,2*ij,"red")    fill_rect(0,0,234,220,"black")    autorise_bombe_H=False    if keydown(KEY_LEFT) and posx > 35 and left==True:             fill_rect(posx-10,posy-12,20,20,"black")      posx -= 25    left=False      if keydown(KEY_OK) and keydown(KEY_RIGHT) and mode==1:    sleep(0.02)    right=True  if keydown(KEY_OK) and keydown(KEY_LEFT)and mode==1:    sleep(0.02)    left=True   if not keydown(KEY_LEFT):    left=True  if plane==1:      plane1()   elif plane==2:    plane2()  elif plane>=3:    plane3()  if not keydown(KEY_BACKSPACE)and Pause==True:    Pause=False      if keydown(KEY_BACKSPACE)and pause==False and Pause== False:    pause=True      while pause==True:      draw_string("GAME",235,120,"red","grey")      draw_string("PAUSED",235,135,"red","grey")      if not keydown(KEY_BACKSPACE):        Pause=True      if keydown(KEY_BACKSPACE)and Pause==True:        pause=False        Pause=True        draw_string("XXXXXX",235,120,"grey","grey")    draw_string("XXXXXX",235,135,"grey","grey")    pause=False      if monotonic()>Boost and a<220 and plane<=3 and get_pixel(b+2,30)!=(0,200,0) and get_pixel(b-5,30)!=(0,200,0) and j!=90:    autorise=True     b=90    if plane>1:      b=102          fill_rect(b-4,a,7,7,"black")    a+=1    fill_rect(b-4,a,7,7,(56,45,190))  elif a>219 :    Boost=monotonic()+randint(8,30)    a=0    autorise=False  if  a==215 and posx==b and plane==3:    autorise_bombe_H=True    draw_string("press",235,90,"black","grey")     draw_string("shift",235,105,"black","grey")   if a==215 and posx==b and plane<=3:    fill_rect(b-4,a,7,7,"black")    autorise_laser2_1=False    autorise_laser2_2=False    fill_rect(laser1_1,laser2_1-10,10,10,"black")    plane+=1    a=0    autorise=False    posx=102    Boost=monotonic()+randint(8,30)        if plane<3:        fill_rect(posx-20,posy-15,40,40,"black")      posx=102      if monotonic()>nettoyage and autorise==False:    fill_rect(0,180,230,50,"black")    nettoyage=monotonic()+3.5fill_rect(0,0,230,220,"purple")draw_string("GAME OVER",100,100,"green","purple")record_kill=int(record_kill)best_wave=int(best_wave)if wave>8 and mode==3 or wave>=14 and mode==2 or wave>30 and mode==1:  draw_string("You win!",100,120,"yellow","black")else:  draw_string("You lost",100,120,"red","purple")try:  if Kill>record_kill:    files=open("space_kill.sav","w")    files.truncate(0)    files.write(str(Kill))    files.close()  if wave>best_wave:      file=open("space_waves.txt","w")    file.truncate(0)    file.write(str(wave))    file.close()  print(">score saved !")except:  print(">failed to save the score...<")  print(">get omega to read the score<")"""!Space invaders!dedicace a la classe 2nd herodote de la sauqueecris par Gugus_BSSmon discord:Gugus_BSS#6600"""

Gugus_brtm

Niveau 0: MI (Membre Inactif)
Level up: 0%

Posts: 1
Joined: 30 Sep 2023, 17:32
Gender:
Calculator(s):
MyCalcs profile
Class: lycee

### Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
123
-
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !

-
Stats.
842 utilisateurs:
>795 invités
>43 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
(English / Français)
Banque de programmes TI
ticalc.org
(English)
La communauté TI-82
tout82.free.fr
(Français)