*** LES DEUKILOS 2015 ***
+21
philip
lulrik
ocin
emultion
shubibiman
jimpqfly
chiss
65c02
goux.m
Violent Ken
Ricco59_59
Brice1612
upsilandre
nemokantio
ShiningBZH
rendomizer
Fabf
Urbinou
vingazole
F.L
drfloyd
25 participants
Page 8 sur 16
Page 8 sur 16 • 1 ... 5 ... 7, 8, 9 ... 12 ... 16
Le meilleur DEUXKILOS de 2015 est selon vous :
Re: *** LES DEUKILOS 2015 ***
En jeu de course 2D sympa, tu peux peut-être t'inspirer de Burnin Rubber (aka Bump n Jump) :rendomizer a écrit:je cherche desesperement un moyen de faire un pseudo racing mais sans succé j'ai bien étudier le moteur pseudo 3D mais n'y comprenant rien j'ai renoncé. si vous avez une idée...
Sinon pour revenir sur une question que tu avais posée il y a environ deux semaines, pour faire une rafale de tirs il faut que tu passes par des tableaux.
D'ailleurs je pense que dans la version "1 tir" de ton jeu il faudrait que tu testes d'abord s'il n'y a pas déjà un tir en cours avant d'en autoriser un nouveau :
- Code:
If KeyDown(57) =1 And fire=0 Then fire=1:r=16:aa=a
Dernière édition par vingazole le Mar 11 Aoû 2015 - 21:49, édité 2 fois (Raison : Publisher)
vingazole- Infirmier
- Nombre de messages : 4522
Date d'inscription : 05/01/2012
Re: *** LES DEUKILOS 2015 ***
nonon je veux relever le defie d'un racing en pseudo 3d en "blitzplus"
voici mon essaie
voici mon essaie
- Code:
Graphics 320,200,32,2
.debut
For i=175 To 160 Step -2
Delay 25
Color 255,0,0
y=Sin(i)*100
y1=Sin(i+15)*100
y2=Sin(i+30)*100
y3=Sin(i+45)*100
y5=Sin(i+60)*100
y6=Sin(i+75)*100
y7=Sin(i+90)*100
y8=Sin(i+105)*100
Color 0,200,0
Rect 1,y+200,320,1,1
Rect 1,y1+200,320,1,1
Rect 1,y2+200,320,1,1
Rect 1,y3+200,320,1,1
Rect 1,y5+200,320,1,1
Rect 1,y6+200,320,1,1
Rect 1,y7+200,320,1,1
Rect 1,y8+200,320,1,1
If KeyDown(1)=1 Then End
Flip
Cls
Next
Goto debut
Re: *** LES DEUKILOS 2015 ***
rendomizer a écrit:je cherche desesperement un moyen de faire un pseudo racing mais sans succé j'ai bien étudier le moteur pseudo 3D mais n'y comprenant rien j'ai renoncé. si vous avez une idée...
amicalement sergio
si tu veux faire un jeu de course avec ce moteur en pseudo3D, je peux t'aider. qu'est ce que tu ne comprends pas dans ce moteur ?
si tu telecharge mon remake de outrun version cpc, dans les ressources il y a un fichier txt (alire.txt) qui explique les bases de fonctionnement, puis qui explique comment modifier la route pour personnaliser le jeu. si ça te dit de te lancer dans l'aventure...
en gros, voici comment marche ce moteur (petit resumé fait à partir du texte issu de ce remake) :
la route est un certain nombre de lignes (roadlines) qui commencent du bas de l'ecran (resY) jusqu'a un "horizon" virtuel (ResY-Roadlines)
chaque ligne de route est en fait constituée de deux demi-lignes (halfwidht) qui partent de chaque coté
d'une ligne verticale invisible (X)
ensuite, suivant l'eloignement (à chaque fois qu'on passe à une ligne superieure)
-chaque ligne de route affichée est reduite en largeur ( -WidthStep )pour donner une impression d'eloignement.
-pour simuler un virage, la ligne verticale X se courbe. pour courber la ligne de X, il suffit de rajouter , la variable DDX à X, qui devient le nouveau X. la variable SegY donne une inclinaison plus ou moins importante puisqu'elle controle à quel moment DDX doit intervenir
-chaque ligne de route change de couleur suivant sa hauteur(du gris clair au gris fonce)
et devient une bande plus ou moins haute suivant sa hauteur (Zmap et textoffset) pour donner une impression de perspective.
Re: *** LES DEUKILOS 2015 ***
Oui F.L je suis interessé , si tu pouvais le coder avec plitzplus pour une meilleur approche ça serait super
telecharger blitzplus dropbox
ce que je n'arrive pas a faire c'est les lignes d’accotement de la route qui tournent ...j'ai fais des essaies avec des cos et sin mais je n'y parviens pas.
telecharger blitzplus dropbox
ce que je n'arrive pas a faire c'est les lignes d’accotement de la route qui tournent ...j'ai fais des essaies avec des cos et sin mais je n'y parviens pas.
Re: *** LES DEUKILOS 2015 ***
rendomizer a écrit:Oui F.L je suis interessé , si tu pouvais le coder avec plitzplus pour une meilleur approche ça serait super
telecharger blitzplus dropbox
ce que je n'arrive pas a faire c'est les lignes d’accotement de la route qui tournent ...j'ai fais des essaies avec des cos et sin mais je n'y parviens pas.
désolé, en ce moment je n'ai pas le temps à me mettre à un nouveau langague, meme si blitzplus a l'air tres proche de qb64.
as tu compris le principe de base pour faire tourner la route comme je t'ai expliqué dans mon precedent post ? j'ai essayé d'expliquer le plus clairement possible comment faire un virage. en fait tu decale petit à petit l'axe principal X, au fur et à mesure que les lignes de routes sont affichées (de bas en haut) et ça crée un virage
Re: *** LES DEUKILOS 2015 ***
je rouve ça exitant de chercher une solution pour ce pseudo3d racing , et je n'ai toujours pas compris malgres ta precieuse aide, je dois dire que il me faudrait juste les deux ligne d'acotement et le virage g/d... peut être que la je comprendrai car quand il y a trop de variable je m’emmêle les pinceaux
amicalement sergio
amicalement sergio
Re: *** LES DEUKILOS 2015 ***
comme un dessin vaut mieux qu'in long discours, ce soir j'enverrais trois petits croquis qui expliquent comme fonctionne cette fameuse route en pseudo3D. je pourrais te donner les bases, pour une route plus compliquée (virages en S, colinnes,descentes,etc...) faudra demander à chrillith qui maitrise mieux que moi cet algorhytme
Re: *** LES DEUKILOS 2015 ***
F1: FINAL UPDATE
1847 octets
Voilà (théoriquement), la version finale de F1 en moins de 2ko ! 1847 octets
Les modifications apportées:
- changement de l'animation des roues
- ajout des sons lorsque l'on double une voiture ou que l'on prend un bonus (merci F.L)
- écran de présentation et crédits !!!
Bon jeu !
- Code:
SCREEN 13:_FULLSCREEN:CLS:PSET (125,10),4:draw "C4D50R10U20R10U10L10U10R20U10L30":PSET (175,10),4:DRAW "C4G10R10D40R10U50L10":for g=0 to 4:locate 12+g*2,10:color g+11:PRINT mid$(" CREDITS: CODE: GOUX.M SOUND: F.L OPTIM: VINGAZOLE/GOUX.M [PRESS SPACE TO PLAY]",g*23,23):next:do:loop until inkey$=" ":DO:t=-30:l=-10:x=100:y=200:z=0:s=0:o=0:p=0:r=-20:DO:_LIMIT 60:IF INT(RND*300)=50 AND m=0 THEN
m=1:k=56+INT(RND*100):END IF:LINE (0,0)-(320,200),10,BF:LINE (50,0)-(270,319),15,BF:FOR i=0 TO 3:LINE (50,t+(i*60))-(270,t+30+(i*60)),4,BF:NEXT:LINE (57,0)-(263,200),7,BF:o=o+1:IF p=1 THEN:FOR q=0 TO 10:CIRCLE (25,r),q,2:CIRCLE (295,r),q,2:NEXT:r=r+2+s
IF INT(RND*50)=20 AND p=0 THEN p=1
IF r>210 THEN r=-20: p=0
IF o/500=o\500 AND s<4 THEN s=s+1
t=t+2+s:IF t>=30 THEN t=-30
x=x-(_KEYDOWN(19200)*(x > 57))+(_KEYDOWN(19712)*(x<233)):CALL f1(x,150,4,u):y=y+1+s:IF m=1 THEN
LINE (k,l)-(k+10,l+10),9,BF:PSET (k+9,l+2),0:DRAW "C0L8D3R8D3L8":l=l+1:IF l>200 THEN
l=-10:m=0:END IF:END IF:CALL f1(w,y,c,u):LINE (0,0)-(320,8),0,BF:IF y>200 THEN y=-40:w=56+INT(RND*177):z=z+1:c=INT(RND*5)+1:SOUND 500,1
LOCATE 1,11:PRINT "SCORE:"+STR$(z):LOCATE 1,22:PRINT "SPEED:"+STR$(s+1):IF m=1 AND k+10>x AND k<x+30 AND l+10>150 AND l<150+40 THEN
l=-10:m=0:s=s-1:SOUND 1000,1:IF s<0 THEN s=0
END IF:u=u+1+3*(u=3):_DISPLAY:LOOP UNTIL ABS(x-w)<30 AND ABS(y-150)<40:LOCATE 16,12:INPUT "PLAY AGAIN (y/n) ";r$:LOOP UNTIL r$="n":CLS
SUB f1(a,b,d,u):LINE (a+5,b)-(a+25,b+5),d,BF:LINE(a+7,b+11)-(a+22,b+11),d:LINE (a+2,b+27)-(a+29,b+27),d:LINE (a+10,b+5)-(a+20,b+20),d+8,BF:LINE (a+5,b+20)-(a+25,b+35),d+8,BF:LINE (a,b+35)-(a+30,b+40),d,BF:LINE (a+7,b+6+u)-(a+8,b+13+u),0,BF:LINE (a+22,b+6+u)-(a+23,b+13+u),0,BF:LINE (a+1,b+19+u)-(a+3,b+30+u),0,BF:LINE (a+27,b+19+u)-(a + 29, b + 30 + u),0,BF:LINE (a+13,b+22)-(a+17,b+30),15,BF:END SUB
Re: *** LES DEUKILOS 2015 ***
l'enf... il se permet même de mettre des credits (de la provocation pour ce concours )
Chapeau en tout cas !
Chapeau en tout cas !
_______________________________________________________
Re: *** LES DEUKILOS 2015 ***
c'est vraiment sympa F.L j'ai sortie mes enfants et je n'ai fait que reflechir a ce sac de noeuds...j'ai hate de coprendre cet algorhytmeF.L a écrit:comme un dessin vaut mieux qu'in long discours, ce soir j'enverrais trois petits croquis qui expliquent comme fonctionne cette fameuse route en pseudo3D. je pourrais te donner les bases, pour une route plus compliquée (virages en S, colinnes,descentes,etc...) faudra demander à chrillith qui maitrise mieux que moi cet algorhytme
Re: *** LES DEUKILOS 2015 ***
purée, ça c'est de l'optimisation !
bravo pour ce beau travail d'equipe. faire rentrer tout ceci dans seulement 2ko faut le faire ! le niveau est tres élévé. ça va etre très dur de faire mieux ! je suis emu de faire partie des credits, malgré ma modeste contribution
Doc, je crois qu'on a le gagnant du concours la !
bravo pour ce beau travail d'equipe. faire rentrer tout ceci dans seulement 2ko faut le faire ! le niveau est tres élévé. ça va etre très dur de faire mieux ! je suis emu de faire partie des credits, malgré ma modeste contribution
Doc, je crois qu'on a le gagnant du concours la !
Re: *** LES DEUKILOS 2015 ***
F.L a écrit:
Doc, je crois qu'on a le gagnant du concours la !
mouais
Il reste 4,5 mois de concours !
Ca serait bien qu'on recap' les jeux déjà réalisés, (si qqun à le temps de le faire)
_______________________________________________________
Re: *** LES DEUKILOS 2015 ***
drfloyd a écrit:F.L a écrit:
Doc, je crois qu'on a le gagnant du concours la !
Ca serait bien qu'on recap' les jeux déjà réalisés, (si qqun à le temps de le faire)
J'épluche les pages et j'essaye de ressortir les liens finaux / screens / vidéos en un bloque
ShiningBZH- Infirmier
- Nombre de messages : 3270
Age : 53
Localisation : Ploubazlanec
Date d'inscription : 03/01/2015
Re: *** LES DEUKILOS 2015 ***
J'avoue avoir une préférence perso pour le DEFENDER... plus fun à jouer et proche du vrai jeu d'arcade.
_______________________________________________________
Re: *** LES DEUKILOS 2015 ***
* SPACE INVADERS 2Ko UPDATE *
Bonjour à tous,
Je profite d'un retour provisoire chez moi pour vous proposer une petite MaJ du projet !
Au menu des nouveautés :
- Animation de la destruction des Aliens.
- Tir ennemi & joueur avec petit fading de couleur.
- Difficulté du jeu ajustée.
Le listing (2046 octets ):
Le lien du jeu :
https://dl.dropboxusercontent.com/u/108143465/Space2Ko.zip
Voila, c'est fini pour ce petit projet que j'ai eu plaisir à réaliser !
Amusez vous bien !
PS :
J'ai pu testé toutes vos créations, c'est vraiment génial !!
Chaque jeu possède un charme indéniable, ça va être dur de voter ...
Bonjour à tous,
Je profite d'un retour provisoire chez moi pour vous proposer une petite MaJ du projet !
Au menu des nouveautés :
- Animation de la destruction des Aliens.
- Tir ennemi & joueur avec petit fading de couleur.
- Difficulté du jeu ajustée.
Le listing (2046 octets ):
- Code:
1screen 13:_fullscreen:dim rr(32),BB(600,600):dim V(32),VX(32),VY(32),M(4),AM(32),AMX(32),AMY(32),cl(32):s=1:for i=1 to 32:cl(i)=rnd*40:w=w+30:if w>260 then w=30:z=z+16
vx(i)=w:vy(i)=8+z:next:for i=20to 320step 50:for c=1to 30:for j=150to 170:bb(i+c,j)=1:next j,c,i:t=2:do:_limit 30:if bou then cls:locate 10,15:?"GAME OVER !":goto 3
randomize timer:if _keydown(19712)and a<280then a=a+4
if _keydown(19200)and a>8then a=a-4
w=w+1:if _keydown(32)and w>25then t=1:w=0
cls:for i=1 to 320:for j=150 to 180
if bb(i,j)then pset(i,j),_rgb(255,255,0)
next j,i
for l=1to 4
if m(l)=0and t then
p(l)=a+10:o(l)=185:m(l)=1:t=0:PLAY"MBL64O5DC":end if
if m(l)then
o(l)=o(l)-4
if o(l)<1then m(l)=0
pset(p(l)+2,o(l)),rnd*16:end if:next:for i=1 to 32:u=u+1
if u>rnd*5000and q=0and u>2250-oo\2then u=0:q=1
for l=1to 4
if v(i)=0and m(l)and abs(p(l)-vx(i))<8and abs(o(l)-(vy(i)+8+b))<8then v(i)=1:m(l)=0:PLAY"MBL64O4DC":K=k+1:sc=sc+10
next
if v(i)=1and rr(i)<8 then
rr(i)=rr(i)+1:pset(vx(i)+rnd*16,vy(i)+rnd*16+b),rnd*16
end if
if v(i)=0then
if vy(i)+b>=190then bou=1
if am(i)then
if abs((amx(i)-10)-a)<12and abs(amy(i)-190)<10then PLAY"MBL64O1DC":N=N+10:am(i)=0
if bb(amx(i),amy(i))then
for g=1to 6:for G1=1to 6
bb(amx(i)+g-4,amy(i)+g1-2)=0:next G1,G:am(i)=0:PLAY"MBL64O3DC"
end if:end if
if bb(vx(i),vy(i)-1)then bb(vx(i),vy(i)-1)=0
if am(i)=0and q then
r=rnd*32:if r>0 and v(r)=0 then
amx(i)=vx(r):amy(i)=vy(r)+b:am(i)=1:q=0:end if:end if
vx(i)=vx(i)+(.5+h)*s
if h>1.2then h=1.2
if vx(i)>308then s=-1:b=b+4:h=h+.2
if vx(i)<8then s=1:b=b+4
_printstring(vx(i)-2.2,vy(i)+b-4),",,":line(vx(i),vy(i)+b)-(vx(i)+8,vy(i)+b-8),cl(i),bf
if am(i)then
amy(i)=amy(i)+2
if amy(i)>200then am(i)=0
pset(amx(i),amy(i)),_rgb(rnd*255,0,0):end if:end if:next
line(a,198)-(a+25,190),_rgb(0,255,0),bf:line(a+12,190)-(a+13,185),_rgb(0,255,0),bf:?"HEALTH :"+str$(100-n)+" "+"SCORE :"+str$(sc)+" "+"WAVE :"+str$(oo/800)
if k>=32 then erase bb,v,rr:k=0:z=0:OO=OO+800:b=0:h=0:goto 1
if (100-n)<0then Bou=1
3_display:loop until _keydown(27)
Le lien du jeu :
https://dl.dropboxusercontent.com/u/108143465/Space2Ko.zip
Voila, c'est fini pour ce petit projet que j'ai eu plaisir à réaliser !
Amusez vous bien !
PS :
J'ai pu testé toutes vos créations, c'est vraiment génial !!
Chaque jeu possède un charme indéniable, ça va être dur de voter ...
Invité- Invité
Re: *** LES DEUKILOS 2015 ***
C'est gentil ça doc.drfloyd a écrit:J'avoue avoir une préférence perso pour le DEFENDER... plus fun à jouer et proche du vrai jeu d'arcade.
Merci.
nemokantio- Patient contaminé
- Nombre de messages : 345
Age : 48
Localisation : Delgastan
Date d'inscription : 23/01/2013
Re: *** LES DEUKILOS 2015 ***
Bon premier jet du récapitulatif des projets , c'est du sport de retrouver toutes les versions finales ! Il reste les descriptifs des jeux à mettre pour la plupart mais l'essentiel est là !
Edit : j'ai oublié quelqu'un dans la liste , ajout en cours !
- rendomizer:
- Vectrox
Téléchargement : Ici- Code:
Graphics 640,400,16,2[size=10][/size]
r=16:move=400:move2=400:m2=0[size=10][/size]
.debut[size=10][/size]
i=Int(Rnd(1)*360):i2=Int(Rnd(1)*360)[size=10][/size]
.suite[size=10][/size]
For time=0 To 400[size=10][/size]
move=move -1:move2=move2-m2[size=10][/size]
If time=160 Then m2=1[size=10][/size]
If KeyDown(1)=1 Then End[size=10][/size]
If KeyDown(203)=1 Then a=a-2[size=10][/size]
If KeyDown(205)=1 Then a=a+2[size=10][/size]
x = 320+Cos(a) * 16 :y = 200+Sin(a) * 16 [size=10][/size]
xa = 320+Cos(a+130)*16:ya = 200+Sin(a+130)*16[size=10][/size]
xb = 320+Cos(a+120+110)*16 :yb = 200+Sin(a+120+110)*16 [size=10][/size]
xxcanon = 320+Cos(aa) * r:yycanon = 200+Sin(aa) * r[size=10][/size]
xufo = 320+Cos(i) * move:yufo = 200+Sin(i) * move[size=10][/size]
Color 0,255,0[size=10][/size]
Oval xufo,yufo,30,30,0:Oval xufo+8,yufo+8,15,15,0 [size=10][/size]
xufo2 = 320+Cos(i2) * move2:yufo2 = 200+Sin(i2) * move2[size=10][/size]
Color 255,0,0[size=10][/size]
Oval xufo2,yufo2,30,30,0:Oval xufo2+8,yufo2+8,15,15,0 [size=10][/size]
Color 0,255,0[size=10][/size]
Line x , y , xa , ya:Line x , y , xb , yb:Line xb , yb , xa , ya[size=10][/size]
Plot xtcanon,ytcanon[size=10][/size]
If KeyDown(57) =1 Then fire=1:r=16:aa=a[size=10][/size]
If fire=1 Then r=r+5:xtcanon=xxcanon:ytcanon=yycanon[size=10][/size]
If r>350 Then r=16:fire=0[size=10][/size]
If move=-400 Then move=400[size=10][/size]
If move2=-400 Then move2=400:m2=0[size=10][/size]
If win=20 Then Goto affichage [size=10][/size]
If lose=60 Then Goto loser[size=10][/size]
If xufo/24=(xtcanon/24)-1 And yufo/30=(ytcanon/30)-1 Then win=win+1:move=400:Goto explode[size=10][/size]
If xufo/24=x/24 And yufo/30=y/30 Then lose=lose+1[size=10][/size]
If xufo2/24=(xtcanon/24)-1 And yufo2/30=(ytcanon/30)-1 Then win=win+1:move2=400:Goto explode2[size=10][/size]
If xufo2/24=x/24 And yufo2/30=y/30 Then lose=lose+1[size=10][/size]
Color 255,0,0[size=10][/size]
Text 1,1,"YOU "+win:Text 1,11,"UFO "+lose[size=10][/size]
Flip[size=10][/size]
Cls[size=10][/size]
Next[size=10][/size]
Goto debut[size=10][/size]
.explode[size=10][/size]
Color 255,255,0[size=10][/size]
For boom=0 To 300 Step 30[size=10][/size]
Oval xufo,yufo,boom,boom,1[size=10][/size]
Flip[size=10][/size]
Cls[size=10][/size]
Next [size=10][/size]
i=Int(Rnd(1)*360)[size=10][/size]
Goto suite[size=10][/size]
.explode2[size=10][/size]
Color 255,255,0[size=10][/size]
For boom=0 To 300 Step 30[size=10][/size]
Oval xufo2,yufo2,boom,boom,1[size=10][/size]
Flip[size=10][/size]
Cls[size=10][/size]
Next [size=10][/size]
i2=Int(Rnd(1)*360)[size=10][/size]
Goto suite[size=10][/size]
.affichage[size=10][/size]
For z=0 To 300[size=10][/size]
Flip[size=10][/size]
Color 0,0,255:Cls:Text 220,200,"***** YOU WIN *****":win=0:lose=0:move=400:move2=400:Next[size=10][/size]
Goto debut[size=10][/size]
.loser[size=10][/size]
For z=0 To 300[size=10][/size]
Flip[size=10][/size]
Color 0,0,255:Cls:Text 220,200,"***** GAME OVER *****":win=0:lose=0:move=400:move2=400:Next [size=10][/size]
Goto debut[size=10][/size]
- Vetea:
- RAMPAGE REVENGE
Téléchargement : Ici
Listing : IciGround2D_2Ko
Téléchargement : Ici
Listing : IciD3R3 The Digger ROBOT 2KoTéléchargement : [url=https://dl.dropboxusercontent.com/u/108143465/D3R3 The Digger Robot 2ko.zip]Ici[/url]- Code:
M=_Newimage(800,600,32):e=2:f=80:screen M:dim P(8192,2048):dim T(-100to 8192,2048):g(1)=300:x(1)=10:for i=1to 8192:tt=0
II:
randomize timer:Z=rnd*10:if Z<4then W=2
if Z>6then w=-2
if Z>=4and Z<=6then W=0
v=v+1*w:if abs(v)>250or abs(v)<10then goto II:
for j=(350+v)to 600
if j<1then j=1
T(i,j)=1
if tt=0and rnd*100<0.0035and j<589then P(I,J)=1:tt=1
next j,i
cls:X3=1:G3=25:do:_limit 60:cls:IF _KEYDOWN(18432)THEN Q=Q+5
IF _KEYDOWN(20480)THEN Q=Q-5
IF h=0AND _KEYDOWN(32)THEN H=1:xx=x(1)+2:yy=g(1)-45:Q1=Q
for i=1+c to 800+c step 2:for j=1to 800step 2
if t(i,j)=1then pset(i-c,j)
if P(i,j)=1 then
_printstring(i-c,j),"O":if abs(x(1)-i)<=30and abs(g(1)-10-j)<=30then P(i,j)=0:l=l+1:PLAY"MBL64O5DCABC":end if
next j,i:IF H=1and b=0THEN
T=T+0.06:X=xx-c+(COS(Q1*(3.14)/180)*f)*T:Y=yy+(-1*((SIN(Q1*(3.14)/180)*f*T))+(.5*9.8*T^2))*(300/150):_printstring(x,y),".":if x<0or x>8100or y>598 or y<=10 then h=0:t=0
if t(X+c,y)=1and h=1then C1=c:b=3:U=30:END IF
if b=3then
for i=1to 360:for j=1to int(rnd*U):T(x+c1+j*cos(i*(3.14)/180),y+j*sin(i*(3.14)/180))=0:next j,i:p=p+2:circle(X,y),p:if p>u then p=0:b=0:h=0:t=0:end if
for i=1to 2:if x(1)>=400and m=1and c>=0and(800+c)<8192then c=c+1*o*e*2
if c<0 then c=0
if c>7390then c=7390
if _keydown(19712)and x(1)<8100and r=0then x(1)=x(1)+1*e:m=1:O=1:d=1
if _keydown(19200)and x(1)>0then x(1)=x(1)-1*e:m=1:O=-1:d=2
for j=5 to 10:if d=1 then
if t(x(1)+j,g(1)-20-j)=1then x(1)=x(1)-1*e:if c>0then c=c-1*e
elseif d=2 then
if t(x(1)-j,g(1)-20-j)=1 then x(1)=x(1)+1*e:if c>0then c=c+1*e:end if
next:if x(i)<20then x(i)=20
if x(i)>8100then x(i)=8100
if g(i)<590then g(i)=g(i)+2*e
circle(x(1)-c,g(1)-12),8:if t(x(1),g(1))=1 then g(1)=g(1)-2*e
if m=1 and t(x(i)+1*e,g(i))=1then g(i)=g(i)-2*e
if m=1 and t(x(i)-1*e,g(i))=1then g(i)=g(i)-2*e
next:?"P‚pites :"+str$(l):LINE(x(1)-c+2,g(1)-35)-(x(1)-c+2+18*COS(Q*(3.14)/180),g(1)-35-18*SIN(Q*(3.14)/180)),_RGB(255,0,0):for i=12 to 40:circle(x(1)-c,g(1)-35),8,_rgb(255,255,255):line(x(1)-c,g(1)-25)-(X(1)-c,g(1)-25):next:m=0:_display:loop
SPACE INVADER 2Ko
Téléchargement : Ici- Code:
1screen 13:_fullscreen:dim rr(32),BB(600,600):dim V(32),VX(32),VY(32),M(4),AM(32),AMX(32),AMY(32),cl(32):s=1:for i=1 to 32:cl(i)=rnd*40:w=w+30:if w>260 then w=30:z=z+16
vx(i)=w:vy(i)=8+z:next:for i=20to 320step 50:for c=1to 30:for j=150to 170:bb(i+c,j)=1:next j,c,i:t=2:do:_limit 30:if bou then cls:locate 10,15:?"GAME OVER !":goto 3
randomize timer:if _keydown(19712)and a<280then a=a+4
if _keydown(19200)and a>8then a=a-4
w=w+1:if _keydown(32)and w>25then t=1:w=0
cls:for i=1 to 320:for j=150 to 180
if bb(i,j)then pset(i,j),_rgb(255,255,0)
next j,i
for l=1to 4
if m(l)=0and t then
p(l)=a+10:o(l)=185:m(l)=1:t=0:PLAY"MBL64O5DC":end if
if m(l)then
o(l)=o(l)-4
if o(l)<1then m(l)=0
pset(p(l)+2,o(l)),rnd*16:end if:next:for i=1 to 32:u=u+1
if u>rnd*5000and q=0and u>2250-oo\2then u=0:q=1
for l=1to 4
if v(i)=0and m(l)and abs(p(l)-vx(i))<8and abs(o(l)-(vy(i)+8+b))<8then v(i)=1:m(l)=0:PLAY"MBL64O4DC":K=k+1:sc=sc+10
next
if v(i)=1and rr(i)<8 then
rr(i)=rr(i)+1:pset(vx(i)+rnd*16,vy(i)+rnd*16+b),rnd*16
end if
if v(i)=0then
if vy(i)+b>=190then bou=1
if am(i)then
if abs((amx(i)-10)-a)<12and abs(amy(i)-190)<10then PLAY"MBL64O1DC":N=N+10:am(i)=0
if bb(amx(i),amy(i))then
for g=1to 6:for G1=1to 6
bb(amx(i)+g-4,amy(i)+g1-2)=0:next G1,G:am(i)=0:PLAY"MBL64O3DC"
end if:end if
if bb(vx(i),vy(i)-1)then bb(vx(i),vy(i)-1)=0
if am(i)=0and q then
r=rnd*32:if r>0 and v(r)=0 then
amx(i)=vx(r):amy(i)=vy(r)+b:am(i)=1:q=0:end if:end if
vx(i)=vx(i)+(.5+h)*s
if h>1.2then h=1.2
if vx(i)>308then s=-1:b=b+4:h=h+.2
if vx(i)<8then s=1:b=b+4
_printstring(vx(i)-2.2,vy(i)+b-4),",,":line(vx(i),vy(i)+b)-(vx(i)+8,vy(i)+b-8),cl(i),bf
if am(i)then
amy(i)=amy(i)+2
if amy(i)>200then am(i)=0
pset(amx(i),amy(i)),_rgb(rnd*255,0,0):end if:end if:next
line(a,198)-(a+25,190),_rgb(0,255,0),bf:line(a+12,190)-(a+13,185),_rgb(0,255,0),bf:?"HEALTH :"+str$(100-n)+" "+"SCORE :"+str$(sc)+" "+"WAVE :"+str$(oo/800)
if k>=32 then erase bb,v,rr:k=0:z=0:OO=OO+800:b=0:h=0:goto 1
if (100-n)<0then Bou=1
3_display:loop until _keydown(27)
- vingazole:
- Tetris minimaliste en QB64Téléchargement : Ici
- Code:
1SCREEN 13:CLS:F$="NRSLQRGHLHINLNRHLRHLNHNRNQRGLRHILHNSLNOHRWKLNCHRLNQGHRILNHRSLNSHQRGLNHIRLRSHLQGHNINR"
COLOR 12:?"TETRIS":FOR k=0TO 5:FOR j=0TO 7:FOR i=0TO 7:x=8+(k*8+i)*2:y=150+j*2
LINE(x,y)-(x+1,y+1),POINT(k*8+i+(k=3)*(2*i-6),j),b:NEXT i,j,k:LINE(0,0)-(47,7),0,BF
DIM s(12,25):PALETTE 15,8255:FOR i=0TO 24:s(0,i)=8:s(11,i)=8:s(i/2,24)=8:NEXT:t0=24:s=0
f=0:FOR i=0TO 6:FOR j=0TO 3:FOR k=1TO 3:f=f+1:m=ASC(F$,f):r(i,j,k)=m MOD 5-2:t(i,j,k)=m\5-15:NEXT k,j,i
2p=q:q=INT(RND*7):c=6:l=1-(p=3):r=0:t=t0:t0=t0*0.999
LINE(40,32)-(72,48),0,BF:COLOR q+9:FOR i=0TO 3:LOCATE 5+t(q,0,i),7+r(q,0,i):?CHR$(219):NEXT
c0=c:l0=l:r0=r:GOSUB 6:x=z
DO:_LIMIT 60:LOCATE 20,28:COLOR 7:?"SCORE :";s:LOCATE 5,29:?"TOP :";h:LOCATE 3,6:?"NEXT"
v=1:GOSUB 5:FOR j=0TO 24:FOR i=0 TO 11:LOCATE j+1,15+i:COLOR s(i,j):?CHR$(219);:NEXT i,j:v=0:GOSUB 5
t=t*(1+_KEYDOWN(32))-1:IF t>0THEN 3
c0=c:r0=r:l0=l+1:t=t0:GOSUB 6:IF z THEN v=1:GOSUB 5:GOTO 2 ELSE l=l+1
3k$=RIGHT$(INKEY$,1):r1=r:c1=c:r0=(r+(k$="H")-(k$="P"))AND 3:c0=c+(k$="K")-(k$="M"):l0=l
GOSUB 6:IF z=0 THEN c=c0:r=r0
IF c=c1 AND r=r1 THEN 4
IF INSTR("HP",k$)THEN PLAY"MBL64O3D"
IF INSTR("KM",k$)THEN PLAY"MBL64O2F"
4b=1:FOR j=1TO 23:z=1:FOR i=1TO 10:z=z*s(i,j):NEXT i
IF z THEN FOR k=j TO 2STEP-1:FOR i=1TO 10:s(i,k)=s(i,k-1):NEXT i,k:s=s+b:PLAY"L64O4C<GE":b=b*2:IF s>h THEN h=s
NEXT j:IF x THEN WHILE INKEY$<>CHR$(13):WEND:ERASE s:GOTO 1
LOOP
5 FOR i=0TO 4:s(c+r(p,r,i),l+t(p,r,i))=(p+9)*v:NEXT:RETURN
6z=0:FOR i=0TO 4:z=z+s(c0+r(p,r0,i),l0+t(p,r0,i)):NEXT:RETURN
nyan catTéléchargement : [url=https://www.dropbox.com/s/614t7oc4a9hai0e/nyan cat%28urbinou]Ici[/url]- Code:
_FULLSCREEN:SCREEN 13:RANDOMIZE USING3:DIM e(40),c(40),l(40),r(99),t(99),d(99):DATA 1641728,16160,,,,2428219,4144952,2503487,2500134,,,,,4138559,,4144959,133695,76095,15679,145933,4139008,4134173:FOR i=0TO 21:READ c:PALETTE i,c:NEXT:s$(0)="R0":s$(1)="BU1F1G1H1":s$(2)="U2D4BE2L4R2C0R0":s$(3)="U3D6BE3L6R2C0E1F1G1":s$(4)="BU3R0BF3R0BG3R0BH3R0":s$(5)="BU3R1F2D2G2L2H2U2E2C0F4L6E4D6H4R6G4":FOR i=6to 9:s$(i)=s$(10-i):NEXT:q$(0)="BU1C9L2U1H1L1G1D1F2R1F1R1U1C8L1E1L3U2L1D1":q$(1)="C9D1H1L1U1L3G1D1R1F1R3D1R1U1C8H1L3H1R2":q$(2)="BD2C9L1G1L1G2D1F1R1E1U1R2U1C8U1L1D1L2D2L1U1":q$(3)=q$(1):z$="C8R1D1L1H1C9D1F1R2U2":y$="C8R1D1L1H1C9D2R2E1U1":w$(0)=z$+"BR3"+z$+"BR7"+z$+"BR3"+z$:w$(1)="BL1"+w$(0):w$(2)="BL2U1C9D1"+y$+"BR3"+y$+"BR7"+y$+"BR3"+y$:w$(3)="BL3"+y$+"U2L1G1R1C8R1D1BR4"+z$+"BR6"+z$+"BR4"+z$:FOR i=1TO 40:c(i)=i*8:l(i)=RND*200:e(i)=i MOD 10:NEXT:x=150:y=92:t(0)=92[size=13][/size]
1_LIMIT 80:_DISPLAY:CLS:FOR i=1TO 40:e(i)=-(e(i)+.25)*(e(i)<10):c(i)=(c(i)+4)MOD 340:PRESET(330-c(i),l(i)):DRAW"c6"+s$(e(i)):NEXT:d=d-1AND-1:FOR i=0TO x+1:PSET(i,y+((d*1.8-i)AND 8)\8):DRAW"C16D3C17D3C18D3C19D3C20D3C21D2":NEXT:j=j+1AND 31:k=j\8:PSET(x,y+(k=1)-(k=2)+17):DRAW w$(k AND 3):PSET(x,y+(k=1)-(k=2)):DRAW"C9R17F2D13G2L17H2U13E2BF1P7,9F1C13R13F2D9G2L13H2U9E1BF1P13,13C5R0BR5BU1R0BR3R0BR4BD2R0BL8BD2R0BR1BD3R0BD3BL2R0BD1BL3R0BL1BU3R0BU2BR2R0BR6BD5R0"[size=13][/size]
c=x+10-(k=1)-(k=2):l=y+4-(k=2)-(k=3):LINE(c+11,l+11)-(c,l+3),8,BF:DRAW"U3C9R1F3R3E3R1F1D3F1D4G3L9H3U4E1U3BR1P8,9D5R2C15R0BR7R0BF2C13R1D1L1BL10L1U1R1C9BR2BD1D1R6U1BL3R0BH3G1R1BR4R0BR2R1U1":PSET(x-3,y+9):DRAW q$(k AND 3):FOR i=0TO n:r(i)=r(i)-1+(n<15)*312*(r(i)<1):t(i)=t(i)+d(i):IF t(i)<7OR t(i)>193THEN d(i)=-d(i)[size=13][/size]
CIRCLE(r(i),t(i)),7,9,,,1:DRAW"P16,9":z=z-(SQR((x+9-r(i))^2+(y+9-t(i))^2)<15):NEXT:s=-(s+1)*(s<500):n=n-(s=0):t(i)=14+RND*170:d(i)=(RND-.5)*5:LINE(319,199)-(300,0),9,BF:LINE(318,198)-(301,198-n*13.2),1,BF:x=x+_KEYDOWN(19712)*(x<272)*2-_KEYDOWN(19200)*(x>8)*2:IF _KEYDOWN(27)THEN END[size=13][/size]
y=y+_KEYDOWN(20480)*(y<180)*2-_KEYDOWN(18432)*(y>0)*2:IF z=0THEN 1[size=13][/size]
2WHILE INKEY$<>" ":_DISPLAY:PALETTE 0,RND*63:WEND:RUN
- goux.m :
- F1
- Code:
SCREEN 13:_FULLSCREEN:CLS:PSET (125,10),4:draw "C4D50R10U20R10U10L10U10R20U10L30":PSET (175,10),4:DRAW "C4G10R10D40R10U50L10":for g=0 to 4:locate 12+g*2,10:color g+11:PRINT mid$(" CREDITS: CODE: GOUX.M SOUND: F.L OPTIM: VINGAZOLE/GOUX.M [PRESS SPACE TO PLAY]",g*23,23):next:do:loop until inkey$=" ":DO:t=-30:l=-10:x=100:y=200:z=0:s=0:o=0:p=0:r=-20:DO:_LIMIT 60:IF INT(RND*300)=50 AND m=0 THEN[size=13][/size]
m=1:k=56+INT(RND*100):END IF:LINE (0,0)-(320,200),10,BF:LINE (50,0)-(270,319),15,BF:FOR i=0 TO 3:LINE (50,t+(i*60))-(270,t+30+(i*60)),4,BF:NEXT:LINE (57,0)-(263,200),7,BF:o=o+1:IF p=1 THEN:FOR q=0 TO 10:CIRCLE (25,r),q,2:CIRCLE (295,r),q,2:NEXT:r=r+2+s[size=13][/size]
IF INT(RND*50)=20 AND p=0 THEN p=1[size=13][/size]
IF r>210 THEN r=-20: p=0[size=13][/size]
IF o/500=o\500 AND s<4 THEN s=s+1[size=13][/size]
t=t+2+s:IF t>=30 THEN t=-30[size=13][/size]
x=x-(_KEYDOWN(19200)*(x > 57))+(_KEYDOWN(19712)*(x<233)):CALL f1(x,150,4,u):y=y+1+s:IF m=1 THEN[size=13][/size]
LINE (k,l)-(k+10,l+10),9,BF:PSET (k+9,l+2),0:DRAW "C0L8D3R8D3L8":l=l+1:IF l>200 THEN[size=13][/size]
l=-10:m=0:END IF:END IF:CALL f1(w,y,c,u):LINE (0,0)-(320,8),0,BF:IF y>200 THEN y=-40:w=56+INT(RND*177):z=z+1:c=INT(RND*5)+1:SOUND 500,1[size=13][/size]
LOCATE 1,11:PRINT "SCORE:"+STR$(z):LOCATE 1,22:PRINT "SPEED:"+STR$(s+1):IF m=1 AND k+10>x AND k<x+30 AND l+10>150 AND l<150+40 THEN[size=13][/size]
l=-10:m=0:s=s-1:SOUND 1000,1:IF s<0 THEN s=0[size=13][/size]
END IF:u=u+1+3*(u=3):_DISPLAY:LOOP UNTIL ABS(x-w)<30 AND ABS(y-150)<40:LOCATE 16,12:INPUT "PLAY AGAIN (y/n) ";r$:LOOP UNTIL r$="n":CLS[size=13][/size]
SUB f1(a,b,d,u):LINE (a+5,b)-(a+25,b+5),d,BF:LINE(a+7,b+11)-(a+22,b+11),d:LINE (a+2,b+27)-(a+29,b+27),d:LINE (a+10,b+5)-(a+20,b+20),d+8,BF:LINE (a+5,b+20)-(a+25,b+35),d+8,BF:LINE (a,b+35)-(a+30,b+40),d,BF:LINE (a+7,b+6+u)-(a+8,b+13+u),0,BF:LINE (a+22,b+6+u)-(a+23,b+13+u),0,BF:LINE (a+1,b+19+u)-(a+3,b+30+u),0,BF:LINE (a+27,b+19+u)-(a + 29, b + 30 + u),0,BF:LINE (a+13,b+22)-(a+17,b+30),15,BF:END SUB
- F.L:
- 2ROAD2KO
Téléchargement : Ici- Code:
' moteur de jeu de course en pseudo3D[size=13][/size]
' par lou gorenfeld. optimise par F.L[size=13][/size]
SCREEN 13[size=13][/size]
RoadLines = 66[size=13][/size]
RoadY = -1[size=13][/size]
DIM ZMap(RoadLines) AS SINGLE[size=13][/size]
FOR A = 1 TO RoadLines[size=13][/size]
ZMap(A) = RoadY / (A - 100)[size=13][/size]
NEXT A[size=13][/size]
b = 1 / ZMap(8)[size=13][/size]
b = b * 300[size=13][/size]
FOR A = 1 TO RoadLines[size=13][/size]
ZMap(A) = ZMap(A) * b[size=13][/size]
NEXT A[size=13][/size]
TexOffset = 100[size=13][/size]
SegY = RoadLines[size=13][/size]
DX = 0[size=13][/size]
DDX = -.05[size=13][/size]
DO[size=13][/size]
HalfWidth = 160[size=13][/size]
WidthStep = 2.3[size=13][/size]
IF _KEYDOWN(19712) THEN DDX = -.05[size=13][/size]
IF _KEYDOWN(19200) THEN DDX = .05[size=13][/size]
IF _KEYDOWN(20480) THEN SegY = SegY + 1[size=13][/size]
IF _KEYDOWN(18432) THEN SegY = SegY - 1[size=13][/size]
IF SegY < 0 THEN SegY = 0[size=13][/size]
IF SegY > RoadLines THEN SegY = RoadLines[size=13][/size]
X = 160: DX = 0: ScreenLine = 199[size=13][/size]
FOR A = 1 TO RoadLines[size=13][/size]
IF (ZMap(A) + TexOffset) MOD 100 > 50 THEN[size=13][/size]
GrassColor = 10[size=13][/size]
RoadColor = 7[size=13][/size]
ELSE[size=13][/size]
GrassColor = 2[size=13][/size]
RoadColor = 8[size=13][/size]
END IF[size=13][/size]
LINE (X - HalfWidth, ScreenLine)-(X + HalfWidth, ScreenLine), RoadColor[size=13][/size]
LINE (0, ScreenLine)-(X - HalfWidth, ScreenLine), GrassColor[size=13][/size]
LINE (X + HalfWidth, ScreenLine)-(320, ScreenLine), GrassColor[size=13][/size]
HalfWidth = HalfWidth - WidthStep: ScreenLine = ScreenLine - 1[size=13][/size]
IF A > SegY THEN[size=13][/size]
DX = DX + DDX[size=13][/size]
END IF[size=13][/size]
X = X + DX[size=13][/size]
NEXT A[size=13][/size]
TexOffset = TexOffset + 5[size=13][/size]
WHILE TexOffset >= 100[size=13][/size]
TexOffset = TexOffset - 100[size=13][/size]
WEND[size=13][/size]
LINE (0, 0)-(320, 133), 9, BF[size=13][/size]
LOCATE 2, 1: PRINT "haut-bas : inclinaison du virage"[size=13][/size]
LOCATE 3, 1: PRINT "gauche-droite : change la direction"[size=13][/size]
LOCATE 7, 10: PRINT "tourne a"[size=13][/size]
COLOR 4, 9[size=13][/size]
IF DDX = -.05 THEN LOCATE 7, 22: PRINT "droite"[size=13][/size]
IF DDX = .05 THEN LOCATE 7, 22: PRINT "gauche"[size=13][/size]
_LIMIT 50[size=13][/size]
_DISPLAY[size=13][/size]
LOOP
3D2kodans ce petit monde en 3D, il y a juste un carré au sol. on peut bouger et orienter la camera avec les fleches.
on peut modifier en modifiant les coordonnées x,y et z des ses pointsTéléchargement : Ici- Code:
DIM distanceZ(8), distanceR AS SINGLE[size=13][/size]
DIM x(8), y(8), z(8) AS SINGLE[size=13][/size]
DIM cm(400) AS SINGLE[size=13][/size]
DIM angle(8) AS SINGLE[size=13][/size]
ecranL = 640[size=13][/size]
ecranH = 400[size=13][/size]
milieuL = (ecranL / 2)[size=13][/size]
milieuH = (ecranH / 2)[size=13][/size]
PI = 3.141592654[size=13][/size]
SCREEN _NEWIMAGE(ecranL, ecranH, 32)[size=13][/size]
_SCREENMOVE _MIDDLE[size=13][/size]
screenLine = 400[size=13][/size]
largeur = 250[size=13][/size]
FOR distance = 1 TO 400[size=13][/size]
cm(distance) = (largeur / 250) * 6 ' calcul du cm[size=13][/size]
FOR i = 1 TO distance[size=13][/size]
largeur = largeur - .035[size=13][/size]
IF largeur < 0 THEN largeur = 0[size=13][/size]
NEXT i[size=13][/size]
NEXT distance[size=13][/size]
debut:[size=13][/size]
Xcamera = 25[size=13][/size]
Ycamera = 20[size=13][/size]
Zcamera = 0[size=13][/size]
ANGLEcamera = 0[size=13][/size]
DO[size=13][/size]
CLS[size=13][/size]
IF _KEYDOWN(18432) THEN Ycamera = Ycamera - 1[size=13][/size]
IF _KEYDOWN(20480) THEN Ycamera = Ycamera + 1[size=13][/size]
IF _KEYDOWN(19712) THEN Xcamera = Xcamera - 1[size=13][/size]
IF _KEYDOWN(19200) THEN Xcamera = Xcamera + 1[size=13][/size]
points:[size=13][/size]
x(1) = 1: y(1) = 1: z(1) = 100[size=13][/size]
x(2) = 1: y(2) = 1: z(2) = 50[size=13][/size]
x(3) = 50: y(3) = 1: z(3) = 50[size=13][/size]
x(4) = 1: y(4) = 1: z(4) = 100[size=13][/size]
x(5) = 50: y(5) = 1: z(5) = 100[size=13][/size]
x(6) = 50: y(6) = 1: z(6) = 50[size=13][/size]
calculs:[size=13][/size]
FOR i = 1 TO 6[size=13][/size]
distanceZ = z(i) - Zcamera[size=13][/size]
IF distanceZ < 1 THEN distanceZ = 1[size=13][/size]
cm = cm(distanceZ)[size=13][/size]
distanceX = x(i) - Xcamera[size=13][/size]
x(i) = distanceX * cm[size=13][/size]
x(i) = milieuL + x(i)[size=13][/size]
distanceY = y(i) - Ycamera[size=13][/size]
y(i) = distanceY * cm[size=13][/size]
y(i) = milieuH - y(i)[size=13][/size]
NEXT i[size=13][/size]
FOR i = 1 TO 4 STEP 3[size=13][/size]
LINE (x(i), y(i))-(x(i + 1), y(i + 1)), _RGB(255, 0, 0)[size=13][/size]
LINE (x(i + 1), y(i + 1))-(x(i + 2), y(i + 2)), _RGB(255, 0, 0)[size=13][/size]
NEXT i[size=13][/size]
_LIMIT 50[size=13][/size]
_DISPLAY[size=13][/size]
LOOP
Petit jeu en basic sur CPCTéléchargement : Ici- Code:
10 REM un petit jeu par F.L 1987-2015[size=13][/size]
20 REM merci a nemokantio pour l aide[size=13][/size]
30 MODE 0: BORDER 0[size=13][/size]
40 x=5:y=5: x3=15:y3=15[size=13][/size]
50 PEN 4:FOR i=1 TO 20:LOCATE i,1:PRINT "*"; : NEXT i[size=13][/size]
60 FOR i=1 TO 20:LOCATE i,25:PRINT "*"; : NEXT i[size=13][/size]
70 FOR i=1 TO 25:LOCATE 1,i:PRINT "*"; : NEXT i[size=13][/size]
80 FOR i=1 TO 25:LOCATE 20,i:PRINT "*"; : NEXT i[size=13][/size]
90 PEN 1:LOCATE x,y: GOSUB 380[size=13][/size]
100 PEN 12:LOCATE x3,y3: PRINT CHR$(253)[size=13][/size]
110 x1=INT(RND*18): y1=INT(RND*22)[size=13][/size]
120 IF x1<2 THEN x1=2[size=13][/size]
130 IF y1<2 THEN y1=2[size=13][/size]
140 PEN 4:LOCATE 10,1:PRINT scoreA[size=13][/size]
150 PEN 3:LOCATE x1,y1: PRINT CHR$(231);[size=13][/size]
160 IF INKEY(0)<>-1 THEN GOTO 200 ELSE 170[size=13][/size]
170 IF INKEY(2)<>-1 THEN GOTO 210 ELSE 180[size=13][/size]
180 IF INKEY(8)<>-1 THEN GOTO 220 ELSE 190[size=13][/size]
190 IF INKEY(1)<>-1 THEN GOTO 230 ELSE 280[size=13][/size]
200 GOSUB 390: y=y-1:GOTO 240[size=13][/size]
210 GOSUB 390: y=y+1:GOTO 240[size=13][/size]
220 GOSUB 390: x=x-1:GOTO 240[size=13][/size]
230 GOSUB 390: x=x+1:GOTO 240[size=13][/size]
240 IF x<2 THEN x=2[size=13][/size]
250 IF x>19 THEN x=19[size=13][/size]
260 IF y<2 THEN y=2[size=13][/size]
270 IF y>23 THEN y=23[size=13][/size]
280 PEN 1:LOCATE x,y: GOSUB 380[size=13][/size]
290 LOCATE x3,y3: PRINT " ";[size=13][/size]
300 IF x3<x THEN x3=x3+0.5[size=13][/size]
310 IF x3>x THEN x3=x3-0.5[size=13][/size]
320 IF y3<y THEN y3=y3+0.5[size=13][/size]
330 IF y3>y THEN y3=y3-0.5[size=13][/size]
340 PEN 12:LOCATE x3,y3: PRINT CHR$(253)[size=13][/size]
350 IF x1=x AND y1=y THEN scoreA=scoreA+1:GOTO 110[size=13][/size]
360 IF x=x3 AND y=y3 THEN LOCATE 8,5:PRINT"PERDU !":LOCATE 2,6:PRINT "appuyez sur espace":scoreA=0:GOTO 400[size=13][/size]
370 GOTO 150[size=13][/size]
380 PRINT CHR$(224);:RETURN[size=13][/size]
390 LOCATE x,y:PRINT " ": RETURN[size=13][/size]
400 IF INKEY(47)<>-1 THEN GOTO 10 ELSE 400[size=13][/size]
- drfloyd :
- REGATES2KCourse de voilers
TOUCHES :
Fleches Gauche et Droite pour changer de Direction
Espace pour le Spinaker (sorte de mode TURBO en focntion du vent)
A pour quitter (ou Q je ne sais plus)
REGLES :
Faire 3 tours et gagner la course pour passer le tour
Objectif : aller des 8emes jusqu'en finale
Téléchargement : Ici- Code:
Graphics 640,480,32,1:SetBuffer BackBuffer():Dim x#(20),y#(20),v#(20),a#(20),s#(20),z(20),t(20),k#(20)[size=14][/size]
.j:SeedRnd MilliSecs():If e=1 l=l/2 Else l=8[size=14][/size]
e=0:w#=Rand(1,360):f#=Rand(1,5):For i=1 To 20:x(i)=420-i*4:y(i)=90:v(i)=420-l*2-i*5:a(i)=45:s(i)=50+Rand(9):z(i)=1:t(i)=0:k(i)=0:Next:v(1)=340:g=0[size=14][/size]
Repeat[size=14][/size]
If KeyDown(57) g=1[size=14][/size]
If g=1[size=14][/size]
If KeyDown(205) a(1)=a(1)+0.4[size=14][/size]
If KeyDown(203) a(1)=a(1)-0.4[size=14][/size]
kk=kk+1:If KeyDown(57) And kk>30 kk=0:If k(1)=0 k(1)=1 Else k(1)=0[size=14][/size]
If a(1)<0 a(1)=360[size=14][/size]
For i=1 To 20:x(i)=x(i)+v(i)/999*Cos(a(i))+f/(50-k(i)*35)*Cos(w):y(i)=y(i)+v(i)/999*Sin(a(i))+f/50*Sin(w):Next[size=14][/size]
EndIf[size=14][/size]
SeedRnd MilliSecs():If Rand(99)=2 w=w+Rand(-5,5):f=f+Rand(-1,1)[size=14][/size]
If w>360 w=1[size=14][/size]
If w<1 w=360[size=14][/size]
If f>5 f=5[size=14][/size]
If f<1 f=1[size=14][/size]
For i=1 To 20[size=14][/size]
If z(i)=3 And Int(x(i))=320 And y(i)<100 z(i)=1:s(i)=50+Rand(9):t(i)=t(i)+1[size=14][/size]
If z(i)=1 And x(i)>545 And Int(y(i))=380 z(i)=2:s(i)=180+Rand(9)[size=14][/size]
If z(i)=2 And Int(x(i))=100 And Int(y(i))>=380 z(i)=3:s(i)=310+Rand(9)[size=14][/size]
If i>1 If Int(a(i))<>Int(s(i)) a(i)=a(i)+0.4[size=14][/size]
Next [size=14][/size]
For i=1 To 20:If a(i)>360 a(i)=0[size=14][/size]
If i>1[size=14][/size]
If z(i)=1 And x(i)<320 x(i)=320[size=14][/size]
If z(i)=1 And y(i)>340+i And x(i)<545 y(i)=340+i[size=14][/size]
If z(i)=2 And y(i)<380 y(i)=380[size=14][/size]
If z(i)=3 And x(i)>280+i And y(i)>100 x(i)=280+i[size=14][/size]
If z(i)=3 And y(i)>380 And x(i)>100 x(i)=100[size=14][/size]
k(i)=0:If Abs(a(i)-w)<30 k(i)=1[size=14][/size]
EndIf[size=14][/size]
If x(i)<9 x(i)=9[size=14][/size]
If x(i)>630 x(i)=630[size=14][/size]
If y(i)<20 y(i)=20[size=14][/size]
If y(i)>470 y(i)=470[size=14][/size]
If t(1)<3 And t(i)>2 e=2[size=14][/size]
Next [size=14][/size]
If t(1)=3 e=1[size=14][/size]
ClsColor 0,162,232:Cls:SeedRnd 99[size=14][/size]
For i=1 To 20:Oval x(i)-5,y(i),10,3:Color Rand(99,255),Rand(255),Rand(255):Line x(i),y(i),x(i),y(i)-15:Line x(i),y(i)-15,x(i)+4+k(i)*3,y(i):Next[size=14][/size]
Oval 320,100,4,4:Oval 102,380,4,4:Oval 538,380,4,4:Oval 28,38,4,4:Line 30,40,30+f*4*Cos(w),40+f*4*Sin(w):Text 570,9,t(1)+"/3":Text 282,9,l+"E FINAL":Text 15,9,"WIND"[size=14][/size]
Plot x(1)+15*Cos(a(1)),y(1)+15*Sin(a(1)):If g=0 Text 280,200,"REGATE 2K"[size=14][/size]
If KeyDown(16) End[size=14][/size]
Flip:Until e<>0[size=14][/size]
If e=1 And l=1 e=3[size=14][/size]
Repeat[size=14][/size]
If e=2 Text 280,230,"GAME OVER" [size=14][/size]
If e=1 Text 296,230,"NEXT!" [size=14][/size]
If e=3 Text 285,230,"YOU WIN!"[size=14][/size]
Flip:Until KeyDown(57):Delay 99:Goto j
- nemokantio:
- DefenderTouche Entrée pour passer les messages, Esc pour quitter, Espace pour le tir.
- Code:
DIM SHARED ex(32),ey(32),exf(32),eyf(32),e(32)[size=13][/size]
dim shared mx,my,t,x,y,a,s,N[size=13][/size]
N=7[size=13][/size]
m=_NEWIMAGE(320,224,256)[size=13][/size]
_FULLSCREEN:SCREEN m[size=13][/size]
vd$="R8F8L16U8"[size=13][/size]
vg$="L8G8R16U8"[size=13][/size]
v$=vd$[size=13][/size]
w=0[size=13][/size]
Init[size=13][/size]
WHILE _KEYDOWN(27)=0[size=13][/size]
_LIMIT 60[size=13][/size]
_DISPLAY[size=13][/size]
CLS[size=13][/size]
LOCATE 1,1:PRINT w[size=13][/size]
line (80,0)-(80,28),15:line (240,0)-(240,28),15:line (0,28)-(320,28),15[size=13][/size]
xf=0:yf=0[size=13][/size]
IF _KEYDOWN(19712) THEN xf=2:v$=vd$:s=1[size=13][/size]
IF _KEYDOWN(19200) THEN xf=-2:v$=vg$:s=-1[size=13][/size]
IF _KEYDOWN(20480) THEN yf=2[size=13][/size]
IF _KEYDOWN(18432) THEN yf=-2[size=13][/size]
IF _KEYDOWN(32) AND t = 0 THEN[size=13][/size]
t=1:tx=x:ty=y+4:txf=s*8:play "O3D16":END IF[size=13][/size]
IF t=1 THEN[size=13][/size]
tx=tx+txf[size=13][/size]
IF tx<0 OR tx>319 THEN t=0[size=13][/size]
LINE (tx,ty)-(tx+txf*8,ty),11[size=13][/size]
END IF[size=13][/size]
IF s=1 AND x>32 THEN x=x-4:xf=xf+4[size=13][/size]
IF s=-1 AND x<288 THEN x=x+4:xf=xf-4[size=13][/size]
mx=(mx+xf+1280) MOD 1280:y=y+yf[size=13][/size]
PSET (x+(1-s)*8,y),12: DRAW v$[size=13][/size]
PSET (80+((mx+x)/8+160) mod 160,y/8),15[size=13][/size]
FOR i=0 TO N[size=13][/size]
IF e(i)>0 THEN[size=13][/size]
exf(i)=0:eyf(i)=0[size=13][/size]
IF ABS(ex(i) mod 1280-(x+mx) mod 1280)<160 THEN[size=13][/size]
IF ey(i)<y THEN eyf(i)=1[size=13][/size]
IF ey(i)>y THEN eyf(i)=-1[size=13][/size]
IF ex(i)<x+mx THEN exf(i)=e(i)-abs(eyf(i))[size=13][/size]
IF ex(i)>x+mx THEN exf(i)=-e(i)+abs(eyf(i))[size=13][/size]
ELSE[size=13][/size]
exf(i)=RND*2-1[size=13][/size]
eyf(i)=RND*2-1[size=13][/size]
END IF[size=13][/size]
ex(i)=(ex(i)+exf(i)+1280) MOD 1280[size=13][/size]
ey(i)=(ey(i)+eyf(i)+224) MOD 224[size=13][/size]
aex=(ex(i)-mx+1280) MOD 1280[size=13][/size]
PSET (aex,ey(i)),e(i):DRAW "F8L16E8"[size=13][/size]
PSET (80+ex(i)/8,ey(i)/8),e(i)[size=13][/size]
IF aex\16=x\16 AND ey(i)\8=y\8 THEN[size=13][/size]
LOCATE 8,15:PRINT "GAME OVER":Waite:Init:w=0:N=7:END IF[size=13][/size]
IF t AND (ey(i)+4)\8=ty\8 and ((txf>0 AND aex>=tx AND aex<=tx+32) OR (txf<0 AND aex>=tx-32 AND aex<=tx)) THEN[size=13][/size]
e(i)=0:t=0:a=a+1:play "O1F32"[size=13][/size]
END IF[size=13][/size]
END IF[size=13][/size]
NEXT i[size=13][/size]
FOR i = 0 TO 15:LINE (-640-mx+i*160,my)-(-560-mx+i*160,my-32),14:LINE (-560-mx+i*160,my-32)-(-480-mx+i*160,my),14:NEXT i[size=13][/size]
if a=N+1 then[size=13][/size]
locate 10,10:print"ATTACK WAVE DESTROYED"[size=13][/size]
w=w+1[size=13][/size]
if N<31 then N=N+4[size=13][/size]
Waite:Init:end if[size=13][/size]
WEND[size=13][/size]
[size=13][/size]
SUB Init[size=13][/size]
x=32:y=112[size=13][/size]
mx=480:my=224[size=13][/size]
t=0:a=0:s=1[size=13][/size]
FOR i=0 TO N[size=13][/size]
ex(i)=RND*1280[size=13][/size]
ey(i)=RND*224[size=13][/size]
if abs(ex(i)-x-mx)<120 then ex(i)=640+rnd*160[size=13][/size]
e(i)=int(rnd*2)+1[size=13][/size]
NEXT i[size=13][/size]
[size=13][/size]
END SUB[size=13][/size]
[size=13][/size]
SUB Waite[size=13][/size]
while not _keydown(13)[size=13][/size]
_display[size=13][/size]
if _keydown(27) then end[size=13][/size]
wend[size=13][/size]
END SUB
Edit : j'ai oublié quelqu'un dans la liste , ajout en cours !
Dernière édition par ShiningBZH le Mer 12 Aoû 2015 - 21:49, édité 1 fois
ShiningBZH- Infirmier
- Nombre de messages : 3270
Age : 53
Localisation : Ploubazlanec
Date d'inscription : 03/01/2015
Re: *** LES DEUKILOS 2015 ***
Super boulot !!!! Il manque DEFENDER sinon
_______________________________________________________
Re: *** LES DEUKILOS 2015 ***
Merci Doc et Vetea !
Je viens d'ajouter Defender ! j'éditerais mon post demain car je vois qu'il y a des erreurs de formatage et j'ai mal au crâne là
L'ajout des descriptions / poids des jeux sera ajouté aussi
Je viens d'ajouter Defender ! j'éditerais mon post demain car je vois qu'il y a des erreurs de formatage et j'ai mal au crâne là
L'ajout des descriptions / poids des jeux sera ajouté aussi
ShiningBZH- Infirmier
- Nombre de messages : 3270
Age : 53
Localisation : Ploubazlanec
Date d'inscription : 03/01/2015
Re: *** LES DEUKILOS 2015 ***
F.L a écrit:purée, ça c'est de l'optimisation !
bravo pour ce beau travail d'equipe. faire rentrer tout ceci dans seulement 2ko faut le faire ! le niveau est très élévé. ça va etre très dur de faire mieux ! je suis emu de faire partie des credits, malgré ma modeste contribution
Doc, je crois qu'on a le gagnant du concours la !
Bah comme dit le doc' il reste pas mal de temps avant la fin du concours...
Et puis le principal c'est de participer et de s'amuser à coder
Tiens je viens de trouver comment encore gagner quelques octets et il me reste un peu de place, je ne suis pas encore à 2048
Re: *** LES DEUKILOS 2015 ***
J'adore ce topic, son créateur est un génie, je vais le passer Docteur.
_______________________________________________________
Re: *** LES DEUKILOS 2015 ***
drfloyd a écrit:J'adore ce topic, son créateur est un génie, je vais le passer Docteur.
chiss- Docteur agrégé **
- Nombre de messages : 5306
Age : 51
Localisation : Villars les dombes , le parc des oiseaux(01)
Date d'inscription : 04/05/2008
Re: *** LES DEUKILOS 2015 ***
Bon, j'avais posté "théoriquement" la version finale de F1.
Mais comme j'ai réussi à gagner des octets en optimisant encore le code, voici une nouvelle version qui devrait (notez le conditionnel !) être la version définitive !!!
les nouveautés:
- "explosion" lors de l'impact avec une voiture
- écran de fin avec votre score et votre niveau en tant que conducteur
- centrage du "F1" sur l'écran d'intro
Là je crois que je vais difficilement pouvoir faire mieux... le jeu est complet avec intro (avec crédits ) et écran de fin
Le tout en ... 2047 octets !
Le jeu:
Au volant de votre bolide, tentez de doublez le maximum de voiture (le maximum possible étant de 100 voitures).
Mais attention la vitesse augmente au fur et à mesure. Heureusement des bonus vous permettent de réduire cette vitesse (et donc de progresser dans le jeu).
Quel niveau de conducteur réussirez vous à attendre ? De "CRAP" (pire que nul) à "GOD" (dieu du pilotage)
Bon jeu, moi je vais mettre ma tête dans le congélateur
goux.m (Fantomas)
Mais comme j'ai réussi à gagner des octets en optimisant encore le code, voici une nouvelle version qui devrait (notez le conditionnel !) être la version définitive !!!
les nouveautés:
- "explosion" lors de l'impact avec une voiture
- écran de fin avec votre score et votre niveau en tant que conducteur
- centrage du "F1" sur l'écran d'intro
- Code:
SCREEN 13:_FULLSCREEN:PSET(128,10),4:DRAW"C4D50R10U20R10U10L10U10R20U10L30R31C0R20C4G10R10D40R10U50L10":for g=0to 4:locate 12+g*2,10:color g+11:?mid$(" CREDITS: CODE: GOUX.M SOUND: F.L OPTIM: VINGAZOLE/GOUX.M [PRESS SPACE TO PLAY]",g*23,23):next:do:loop until inkey$=" ":DO:t=-30:l=-10:x=100:y=200:z=0:s=0:o=0:p=0:r=-20:DO:_LIMIT 60:IF INT(RND*300)=50AND m=0THEN
m=1:k=56+INT(RND*100):END IF:LINE(0,0)-(320,200),10,BF:LINE(50,0)-(270,319),15,BF:FOR i=0TO 3:LINE(50,t+(i*60))-(270,t+30+(i*60)),4,BF:NEXT:LINE(57,0)-(263,200),7,BF:o=o+1:IF p=1THEN:FOR q=0TO 10:CIRCLE(25,r),q,2:CIRCLE(295,r),q,2:NEXT:r=r+2+s
IF INT(RND*50)=20AND p=0THEN p=1
IF r>210THEN r=-20:p=0
IF o/500=o\500AND s<4THEN s=s+1
t=t+2+s:IF t>=30THEN t=-30
x=x-(_KEYDOWN(19200)*(x > 57))+(_KEYDOWN(19712)*(x<233)):CALL f1(x,150,4,u):y=y+1+s:IF m=1THEN
LINE(k,l)-(k+10,l+10),9,BF:PSET(k+9,l+2),0:DRAW"C0L8D3R8D3L8":l=l+1:IF l>200THEN
l=-10:m=0:END IF:END IF:CALL f1(w,y,c,u):LINE (0,0)-(320,8),0,BF:IF y>200THEN y=-40:w=56+INT(RND*177):z=z+1:c=INT(RND*5)+1:SOUND 500,1
LOCATE 1,11:?"SCORE:";z:LOCATE 1,22:?"SPEED:";s+1:IF m=1AND k+10>x AND k<x+30AND l+10>150AND l<150+40THEN
l=-10:m=0:s=s-1:SOUND 1000,1:IF s<0THEN s=0
END IF:u=u+1+3*(u=3):_DISPLAY:LOOP UNTIL ABS(x-w)<30AND ABS(y-150)<40OR k=100:PLAY"MBO0L32EFGEFDC":for i=1to 160:circle(159,99),i,4:_DELAY .01:_DISPLAY:NEXT:cls:LOCATE 4,15:COLOR 3:?"YOUR SCORE:";z:LOCATE 14,14:COLOR 4:?MID$(" CRAP BAD POOR GOODSUPER PRO BEST KING STAR GOD ",1+INT(z/10)*5,5)+" DRIVER !":PSET(150,40),4:DRAW"C4D30L10F20E20L10U30L20":LOCATE 20,12:COLOR 15:INPUT"PLAY AGAIN (y/n)";r$:LOOP UNTIL r$="n":CLS
SUB f1(a,b,d,u):LINE(a+5,b)-(a+25,b+5),d,BF:LINE(a+7,b+11)-(a+22,b+11),d:LINE(a+2,b+27)-(a+29,b+27),d:LINE(a+10,b+5)-(a+20,b+20),d+8,BF:LINE(a+5,b+20)-(a+25,b+35),d+8,BF:LINE(a,b+35)-(a+30,b+40),d,BF:LINE(a+7,b+6+u)-(a+8,b+13+u),0,BF:LINE(a+22,b+6+u)-(a+23,b+13+u),0,BF:LINE(a+1,b+19+u)-(a+3,b+30+u),0,BF:LINE(a+27,b+19+u)-(a + 29, b + 30 + u),0,BF:LINE(a+13,b+22)-(a+17,b+30),15,BF:END SUB
Là je crois que je vais difficilement pouvoir faire mieux... le jeu est complet avec intro (avec crédits ) et écran de fin
Le tout en ... 2047 octets !
Le jeu:
Au volant de votre bolide, tentez de doublez le maximum de voiture (le maximum possible étant de 100 voitures).
Mais attention la vitesse augmente au fur et à mesure. Heureusement des bonus vous permettent de réduire cette vitesse (et donc de progresser dans le jeu).
Quel niveau de conducteur réussirez vous à attendre ? De "CRAP" (pire que nul) à "GOD" (dieu du pilotage)
Bon jeu, moi je vais mettre ma tête dans le congélateur
goux.m (Fantomas)
Dernière édition par goux.m le Jeu 13 Aoû 2015 - 21:48, édité 2 fois
Re: *** LES DEUKILOS 2015 ***
Oh, sympa de m'avoir mis dans les crédits !
vingazole- Infirmier
- Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012
Re: *** LES DEUKILOS 2015 ***
j'ai enfin trouvé un moyen pour faire une route en pseudo3d !!!! je vous le balance dessous...[url=https://www.dropbox.com/s/dzujzazbnf63tk4/MOTEUR PSEUDO3D]https://www.dropbox.com/s/dzujzazbnf63tk4/MOTEUR%20PSEUDO3D%20RENDOMIZER.exe?dl=0[/url]
- Code:
AppTitle "pseudo rout 3d rendomizer"
Graphics 640,480,16,2
Global x1=320 ; X start
Global y1=200 ; Y start
Global vx1=320 ; X vector start
Global vy1=200 ; Y vector start
Global x2=640 ; X end
Global y2=400 ; Y end
Global vx2=640 ; X vector-end
Global vy2=400 ; Y vector-end
Global point=0 ; Counter for what position to drag
SetBuffer BackBuffer()
.debut
;Cls
For i=175 To 160 Step -2
Delay 25
Color 255,0,0
yy=Sin(i)*200
yy1=Sin(i+15)*200
yy2=Sin(i+30)*200
yy3=Sin(i+45)*200
yy5=Sin(i+60)*200
yy6=Sin(i+75)*200
yy7=Sin(i+90)*200
yy8=Sin(i+105)*200
Color 0,200,0
Rect 1,yy+400,640,1,1
Rect 1,yy1+400,640,1,1
Rect 1,yy2+400,640,1,1
Rect 1,yy3+400,640,1,1
Rect 1,yy5+400,640,1,1
Rect 1,yy6+400,640,1,1
Rect 1,yy7+400,640,1,1
Rect 1,yy8+400,640,1,1
drawbezier (x1,y1,vx1,vy1,x2,y2,vx2,vy2):drawbezier (x1,y1,200+vvx1,vy1,0,y2,0,vy2)
If KeyDown (203)=1 Then vx1=vx1-5:vvx1=vvx1-5
If KeyDown (205)=1 Then vx1=vx1+5:vvx1=vvx1+5
If KeyDown(1) = 1 Then End
If MouseDown(1) Then changepoint
Flip
Cls
Next
Goto debut
Function changepoint()
point=(point+1) Mod 4
While MouseDown(1)
Wend
End Function
; Bezierline by Wedoe
; x1=startpoint x
; y1=startpoint y
; vx1=referencepoint x1
; vy1=referencepoint y1
; x2=endpoint x
; y2=endpoint y
; vx2=referencepoint x2
; vy2=referencepoint y2
Function drawbezier (x1,y1,vx1,vy1,x2,y2,vx2,vy2)
For t#=0 To 1 Step.01
pointx# = x1*(1-t)^3 + 3*vx1*(1-t)^2*t + 3*vx2*(1-t)*t^2 + x2*t^3
pointy# = y1*(1-t)^3 + 3*vy1*(1-t)^2*t + 3*vy2*(1-t)*t^2 + y2*t^3
WritePixel pointx,pointy,$ffffff
Next
End Function
Dernière édition par rendomizer le Jeu 13 Aoû 2015 - 23:27, édité 8 fois
Re: *** LES DEUKILOS 2015 ***
goux.m,essaye ceci :
j'ai rajouté un son de moteur ligne 12, mais du coup comme ça ralentissait le jeu j'ai été obligé d'augmenter la vitesse. a toi de re-calibrer la vitesse. j'espere que ce bruit de moteur te conviendra.
le coté négatif c'est que ça depasse maintenant, faudra optimiser ou retirer quelque chose si tu souhaite garder ce bruit de moteur
et pourrandomizer, demain je crée un topic sur le moteur de jeu en pseudo3D. je n'ai pas pu tester le tien car je n'ai pas blitzbasic. et ton programme fait 4096 octets !! je crois que tu devrais créer un topic sur ton jeu car là tu es hors sujet !!
@+
- Code:
SCREEN 13: _FULLSCREEN: PSET (128, 10), 4: DRAW "C4D50R10U20R10U10L10U10R20U10L30R31C0R20C4G10R10D40R10U50L10": FOR g = 0 TO 4: LOCATE 12 + g * 2, 10: COLOR g + 11: PRINT MID$(" CREDITS: CODE: GOUX.M SOUND: F.L OPTIM: VINGAZOLE/GOUX.M [PRESS SPACE TO PLAY]", g * 23, 23): NEXT: DO: LOOP UNTIL INKEY$ = " ": DO: t = -30: l = -10: x = 100: y = 200: z = 0: s = 5: o = 0: p = 0: r = -20: DO: _LIMIT 60: IF INT(RND * 300) = 50 AND m = 0 THEN
m = 1: k = 56 + INT(RND * 100): END IF: LINE (0, 0)-(320, 200), 10, BF: LINE (50, 0)-(270, 319), 15, BF: FOR i = 0 TO 3: LINE (50, t + (i * 60))-(270, t + 30 + (i * 60)), 4, BF: NEXT: LINE (57, 0)-(263, 200), 7, BF: o = o + 1: IF p = 1 THEN: FOR q = 0 TO 10: CIRCLE (25, r), q, 2: CIRCLE (295, r), q, 2: NEXT: r = r + 2 + s
IF INT(RND * 50) = 20 AND p = 0 THEN p = 1
IF r > 210 THEN r = -20: p = 0
IF o / 500 = o \ 500 AND s < 4 THEN s = s + 1
t = t + 2 + s: IF t >= 30 THEN t = -30
x = x - (_KEYDOWN(19200) * (x > 57)) + (_KEYDOWN(19712) * (x < 233)): CALL f1(x, 150, 4, u): y = y + 1 + s: IF m = 1 THEN
LINE (k, l)-(k + 10, l + 10), 9, BF: PSET (k + 9, l + 2), 0: DRAW "C0L8D3R8D3L8": l = l + 1: IF l > 200 THEN
l = -10: m = 0: END IF: END IF: CALL f1(w, y, c, u): LINE (0, 0)-(320, 8), 0, BF: IF y > 200 THEN y = -40: w = 56 + INT(RND * 177): z = z + 1: c = INT(RND * 5) + 1: SOUND 500, 1
LOCATE 1, 11: PRINT "SCORE:"; z: LOCATE 1, 22: PRINT "SPEED:"; s + 1: IF m = 1 AND k + 10 > x AND k < x + 30 AND l + 10 > 150 AND l < 150 + 40 THEN
l = -10: m = 0: s = s - 1: SOUND 1000, 1: IF s < 0 THEN s = 0
END IF: u = u + 1 + 3 * (u = 3): SOUND 50, 1: _DISPLAY: LOOP UNTIL ABS(x - w) < 30 AND ABS(y - 150) < 40 OR k = 100: PLAY "MBO0L32EFGEFDC": FOR i = 1 TO 160: CIRCLE (159, 99), i, 4: _DELAY .01: _DISPLAY: NEXT: CLS: LOCATE 4, 15: COLOR 3: PRINT "YOUR SCORE:"; z: LOCATE 14, 14: COLOR 4: PRINT MID$(" CRAP BAD POOR GOODSUPER PRO BEST KING STAR GOD ", 1 + INT(z / 10) * 5, 5) + " DRIVER !": PSET (150, 40), 4: DRAW "C4D30L10F20E20L10U30L20": LOCATE 20, 12: COLOR 15: INPUT "PLAY AGAIN (y/n)"; r$: LOOP UNTIL r$ = "n": CLS
SUB f1 (a, b, d, u): LINE (a + 5, b)-(a + 25, b + 5), d, BF: LINE (a + 7, b + 11)-(a + 22, b + 11), d: LINE (a + 2, b + 27)-(a + 29, b + 27), d: LINE (a + 10, b + 5)-(a + 20, b + 20), d + 8, BF: LINE (a + 5, b + 20)-(a + 25, b + 35), d + 8, BF: LINE (a, b + 35)-(a + 30, b + 40), d, BF: LINE (a + 7, b + 6 + u)-(a + 8, b + 13 + u), 0, BF: LINE (a + 22, b + 6 + u)-(a + 23, b + 13 + u), 0, BF: LINE (a + 1, b + 19 + u)-(a + 3, b + 30 + u), 0, BF: LINE (a + 27, b + 19 + u)-(a + 29, b + 30 + u), 0, BF: LINE (a + 13, b + 22)-(a + 17, b + 30), 15, BF: END SUB
j'ai rajouté un son de moteur ligne 12, mais du coup comme ça ralentissait le jeu j'ai été obligé d'augmenter la vitesse. a toi de re-calibrer la vitesse. j'espere que ce bruit de moteur te conviendra.
le coté négatif c'est que ça depasse maintenant, faudra optimiser ou retirer quelque chose si tu souhaite garder ce bruit de moteur
et pourrandomizer, demain je crée un topic sur le moteur de jeu en pseudo3D. je n'ai pas pu tester le tien car je n'ai pas blitzbasic. et ton programme fait 4096 octets !! je crois que tu devrais créer un topic sur ton jeu car là tu es hors sujet !!
@+
Dernière édition par F.L le Jeu 13 Aoû 2015 - 22:07, édité 1 fois
Re: *** LES DEUKILOS 2015 ***
F.L a écrit:goux.m,essaye ceci :
- Code:
SCREEN 13: _FULLSCREEN: PSET (128, 10), 4: DRAW "C4D50R10U20R10U10L10U10R20U10L30R31C0R20C4G10R10D40R10U50L10": FOR g = 0 TO 4: LOCATE 12 + g * 2, 10: COLOR g + 11: PRINT MID$(" CREDITS: CODE: GOUX.M SOUND: F.L OPTIM: VINGAZOLE/GOUX.M [PRESS SPACE TO PLAY]", g * 23, 23): NEXT: DO: LOOP UNTIL INKEY$ = " ": DO: t = -30: l = -10: x = 100: y = 200: z = 0: s = 5: o = 0: p = 0: r = -20: DO: _LIMIT 60: IF INT(RND * 300) = 50 AND m = 0 THEN
m = 1: k = 56 + INT(RND * 100): END IF: LINE (0, 0)-(320, 200), 10, BF: LINE (50, 0)-(270, 319), 15, BF: FOR i = 0 TO 3: LINE (50, t + (i * 60))-(270, t + 30 + (i * 60)), 4, BF: NEXT: LINE (57, 0)-(263, 200), 7, BF: o = o + 1: IF p = 1 THEN: FOR q = 0 TO 10: CIRCLE (25, r), q, 2: CIRCLE (295, r), q, 2: NEXT: r = r + 2 + s
IF INT(RND * 50) = 20 AND p = 0 THEN p = 1
IF r > 210 THEN r = -20: p = 0
IF o / 500 = o \ 500 AND s < 4 THEN s = s + 1
t = t + 2 + s: IF t >= 30 THEN t = -30
x = x - (_KEYDOWN(19200) * (x > 57)) + (_KEYDOWN(19712) * (x < 233)): CALL f1(x, 150, 4, u): y = y + 1 + s: IF m = 1 THEN
LINE (k, l)-(k + 10, l + 10), 9, BF: PSET (k + 9, l + 2), 0: DRAW "C0L8D3R8D3L8": l = l + 1: IF l > 200 THEN
l = -10: m = 0: END IF: END IF: CALL f1(w, y, c, u): LINE (0, 0)-(320, 8), 0, BF: IF y > 200 THEN y = -40: w = 56 + INT(RND * 177): z = z + 1: c = INT(RND * 5) + 1: SOUND 500, 1
LOCATE 1, 11: PRINT "SCORE:"; z: LOCATE 1, 22: PRINT "SPEED:"; s + 1: IF m = 1 AND k + 10 > x AND k < x + 30 AND l + 10 > 150 AND l < 150 + 40 THEN
l = -10: m = 0: s = s - 1: SOUND 1000, 1: IF s < 0 THEN s = 0
END IF: u = u + 1 + 3 * (u = 3): SOUND 50, 1: _DISPLAY: LOOP UNTIL ABS(x - w) < 30 AND ABS(y - 150) < 40 OR k = 100: PLAY "MBO0L32EFGEFDC": FOR i = 1 TO 160: CIRCLE (159, 99), i, 4: _DELAY .01: _DISPLAY: NEXT: CLS: LOCATE 4, 15: COLOR 3: PRINT "YOUR SCORE:"; z: LOCATE 14, 14: COLOR 4: PRINT MID$(" CRAP BAD POOR GOODSUPER PRO BEST KING STAR GOD ", 1 + INT(z / 10) * 5, 5) + " DRIVER !": PSET (150, 40), 4: DRAW "C4D30L10F20E20L10U30L20": LOCATE 20, 12: COLOR 15: INPUT "PLAY AGAIN (y/n)"; r$: LOOP UNTIL r$ = "n": CLS
SUB f1 (a, b, d, u): LINE (a + 5, b)-(a + 25, b + 5), d, BF: LINE (a + 7, b + 11)-(a + 22, b + 11), d: LINE (a + 2, b + 27)-(a + 29, b + 27), d: LINE (a + 10, b + 5)-(a + 20, b + 20), d + 8, BF: LINE (a + 5, b + 20)-(a + 25, b + 35), d + 8, BF: LINE (a, b + 35)-(a + 30, b + 40), d, BF: LINE (a + 7, b + 6 + u)-(a + 8, b + 13 + u), 0, BF: LINE (a + 22, b + 6 + u)-(a + 23, b + 13 + u), 0, BF: LINE (a + 1, b + 19 + u)-(a + 3, b + 30 + u), 0, BF: LINE (a + 27, b + 19 + u)-(a + 29, b + 30 + u), 0, BF: LINE (a + 13, b + 22)-(a + 17, b + 30), 15, BF: END SUB
j'ai rajouté un son de moteur, mais du coup comme ça ralentissait le jeu j'ai été obligé d'augmenter la vitesse. a toi de re-calibrer la vitesse. j'espere que ce bruit de moteur te conviendra.
le coté négatif c'est que ça depasse maintenant, faudra optimiser ou retirer quelque chose si tu souhaite garder ce bruit de moteur
@+
Merci F.L, sur mon PC j'entends bien le "bruit de moteur" mais les autres sons ne passent plus ou sont complètement décalés. J'essaierai de regarder ça plus tard là je fatigue un peu
Il va être difficile d'optimiser plus, là je pense avoir atteint le maximum
D'un autre coté j'ai pas forcément envie d'enlever qqchose je pense que le jeu est complet maintenant mais bon si je trouve ou idée qui pourrait faire gagner quelques octets...
Re: *** LES DEUKILOS 2015 ***
c'est dommage qu'en QB64 le THEN soit obligatoire, en BLITZ on peut virer tous les THEN, ce qui fait gagner pas mal d'octets.
_______________________________________________________
Re: *** LES DEUKILOS 2015 ***
+1, j'ai codé un peu en C cet après-midi et je collais des "then" à tous mes "if" à cause de ton petit concoursdrfloyd a écrit:c'est dommage qu'en QB64 le THEN soit obligatoire, en BLITZ on peut virer tous les THEN, ce qui fait gagner pas mal d'octets.
@Michel : je crois que tu peux remplacer
- Code:
IF o/500=o\500AND s<4THEN s=s+1
- Code:
s=s+(s<4)*(o MOD 500=0)
vingazole- Infirmier
- Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012
Page 8 sur 16 • 1 ... 5 ... 7, 8, 9 ... 12 ... 16
Sujets similaires
» Salon FREEPLAY 2015 - 7 et 8 Mars 2015
» LAN'Oween 2015 : Lan fun les 16, 17 et 18 octobre 2015 au sud de Lyon
» Mon moi de 2015
» PES 2015
» F1 2015
» LAN'Oween 2015 : Lan fun les 16, 17 et 18 octobre 2015 au sud de Lyon
» Mon moi de 2015
» PES 2015
» F1 2015
Page 8 sur 16
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum