Nathan et Felix (Carnot 2026, Premiere)
UNIVERS / THÈME CHOISI:
U3
MODE D'EMPLOI
Utiliser la flèche du haut pour sauter
PRÉSENTATION / EXPLICATIONS
Tu es entré dans la ferme d'un fou et tu essaie par tous les moyens de t'en échapper, mais les barrières t'en empêchent.
Code Python
import pyxel
import random
class Player:
def __init__(self, health, coins, level):
self.health = health
self.coins = coins
self.level = level
def take_damage():
self.health -= 1
def take_life():
self.health += 1
def take_coin():
self.coins += 1
class App:
def reset(self):
self.x = 0
self.y = 100
self.speed = 0
self.sprite = 0
self.can_jump = True
self.test = 112
self.test2 = 48
self.running = False
self.rotate = 16
self.can_spawn = True
self.barriere = 40000000
self.gameo = False
def __init__(self):
pyxel.init(128, 128, title="NDC 2023")
pyxel.load("U3.pyxres")
self.reset()
pyxel.run(self.update, self.draw)
def update(self):
self.sprite = 0
if self.x > 239:
self.x = 16
self.rotate = 16
if self.test != 112:
self.test = 112
self.test2 = 48
self.sprite = 0
self.x = (self.x + 3)
self.running = True
if pyxel.btnp(pyxel.KEY_UP):
if self.can_jump:
self.speed = -5
self.y = 99
if self.y < 100:
print(pyxel.pget(self.x, self.y + 2))
self.y += self.speed
self.speed += 0.7
self.can_jump = False
else:
self.can_jump = True
if self.barriere<= self.x < self.barriere+16 and self.y > 92:
self.gameo = True
if self.gameo and pyxel.btnp(pyxel.KEY_SPACE):
self.reset()
def draw(self):
if self.gameo:
pyxel.cls(0)
self.x = 0
pyxel.text(90, 50, "game over",8)
pyxel.text(60, 80, "press space to restart",8)
else:
pyxel.cls(0)
pyxel.camera(self.x-54, 0)
if self.can_spawn:
self.can_spawn = False
print("salut")
self.barriere = random.randint(int(self.x)+90,int(self.x) + 110)
if self.x > self.barriere:
self.can_spawn = False
pyxel.blt(70, -237, 2, 0, 0, 255, 255, scale=2)
if self.running == True:
if pyxel.frame_count % 20 <10:
self.test = 128
self.test2 = 48
else:
self.test = 144
self.test2 = 48
else:
self.test = 112
self.test2 = 48
pyxel.blt(self.x, self.y, self.sprite, self.test2, self.test, self.rotate, 16, 1)
pyxel.blt(self.barriere, 100, 0, 64, 32, 16, 16, 1)
App()
#utiliser la camera pour le defilement