Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Programmation  Emulateur  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Les remarques
Les opérateurs
Les instructions conditionnelles
Les instrucions de boucles
Référence de commandes et fonctions
Les premiers pas
Introduction à la programmation
Traitement des chiffres
Programmes - analyse, mots clefs et jetons
Réviser et pratiquer GW-BASIC
L'éditeur d'écran GW-BASIC
Créer et utiliser des fichiers
Constantes, variables, expressions et opérateurs
Graphiques
Communications désynchronisées
Sous-programmes de langage d'assemblage (code machine)
Conversion des programmes BASIC en GW-BASIC
Bonjour
Application
Biochimie
Géométrie
Jeux & stratégies
Météorologie
Sport
Temps
Trigonométrie
Dessin Bitmap
Calcul du calcium corrigé
Aire d'un cercle
Aire d'une surface de prisme rectangulaire
Aire d'un triangle
Distance entre deux points
L25
Unité de mesure
Hockey
Année bissextile
ArcCos
ArcSin
DOSBox
PCE - PC Emulator
PCem
Raccourci clavier (Shortcut Keys)
Références des codes d'erreur du GWBASIC
Fonctions mathématiques
Codes de caractères ASCII
Équivalents hexadécimaux
Codes de balayage des touches
Caractères reconnus par GW-BASIC
Références des adresses de cellule mémoire du «PC IBM»
Encodage des fichiers «.BAS» du GWBASIC
Vocabulaire
Table ASCII
Table de codes ANSI et page de codes
Préface
Notes légal
Dictionnaire
Recherche

Un des jeux les plus facile a programmer! Un jeu de potence, dans lequel on doit deviné un nombre avec que le bonhomme soit pendu! Voici la première version que j'ai fait lorsque j'étais adolescent au secondaire.


A l'aide du code source GWBASIC, vous trouvez la réponse que vous souhaitez:

  1. 10 DIM B$(255),T%(500):SCREEN 1:CLS:COLOR 33:DEF SEG=&HB800
  2. 20 DRAW"BM10,0C2R30D10L25G5D5F5R15F10D20G10L30U10R25E5U10H5L15H10U15E10BM50,0D65R10U55F10E10D55R10U65L10G10H10L10BM110,10D45F10R20E10U20R5U5L20D5R5D15G5L10H5U35E5R10F5D10R10U15H10L20G10
  3. 30 DRAW"C2BM160,10D55R10U20R10D20R10U55H10L10G10BM170,10D25R10U25L10BM195,0D65R10U55F10E10D55R10U65L10G10H10L10BM240,0D65R25U10L15U20R10U10L10U15R15U10L25BM280,0R30D10L25G5D5F5R15F10D20G10L30U10R25E5U10H5L15H10U15E10
  4. 40 DRAW"BM100,118C1D25F4E4U25L7"
  5. 50 DRAW"BM102,155F25R5U5H25L5D5"
  6. 60 DRAW"BM135,153D27R8U27H4G4"
  7. 70 DRAW"BM135,118D25F4E4U25L7"
  8. 80 DRAW"BM100,163D17R8U17H6L2D6
  9. 90 DRAW"BM150,118D25F4E4U25L7"
  10. 100 DRAW"BM152,155F25R5U5H25L5D5"
  11. 110 DRAW"BM185,153D27R8U27H4G4"
  12. 120 DRAW"BM185,118D25F4E4U25L7"
  13. 130 DRAW"BM150,163D17R8U17H6L2D6
  14. 190 READ F$,G$:A=VAL(F$):B=VAL(G$):IF A=-1 THEN 200 ELSE PAINT(A,B),CHR$(16)+CHR$(44),2:GOTO 190
  15. 200 READ F$,G$:A=VAL(F$):B=VAL(G$):IF A=-1 THEN 210 ELSE PAINT(A,B),2,1:GOTO 200
  16. 210 LOCATE 24,4:PRINT"-CREE PAR SYLVAIN MALTAIS (1990)-";
  17. 220 A$=INKEY$:IF A$="" THEN 220 ELSE IF A$=CHR$(27) OR A$=CHR$(0)+"O" THEN SCREEN 0:WIDTH 80:CLS:END
  18. 230 COLOR 17:RESTORE 830:SCREEN 1:CLS:FOR A=65 TO 90:READ B$(A):NEXT:X=110:Y=5
  19. 240 B$(45)="C3BD4BR2R4":B$(40)="C3BR4G2D4F2":B$(41)="C3BR4F2D4G2":B$(48)="C2D8R7U8NG7L7"
  20. 250 B$(49)="C2BR4NG4D8R3L6":B$(50)="C2R8D4L8D4R8":B$(51)="C2R8D4NL4D4L8":B$(52)="C2D4R8U4D8":B$(53)="C2NR7D4R7D4L7":B$(54)="C2D4R7D4L7U8R7":B$(55)="C2R7D8":B$(56)="C2D8R7U4NL7U4L7":B$(57)="C2D4R7D4NL7U8L7":B$(63)="C2R7D4L4D2BD2U0"
  21. 260 READ A$:FOR L=1 TO 11:C$=MID$(A$,L,1):DRAW"BM"+STR$(X)+","+STR$(Y)+B$(ASC(C$)):X=X+9:NEXT:X=50:Y=50
  22. 270 READ A$:IF A$="-1" THEN Y=50:GOTO 280 ELSE FOR L=1 TO LEN(A$):C$=MID$(A$,L,1):DRAW"BM"+STR$(X)+","+STR$(Y)+B$(ASC(C$)):X=X+9:NEXT L:X=50:Y=Y+20:GOTO 270
  23. 280 GET(50,Y)-(319,Y+10),T%:PUT(50,Y),T%,PRESET
  24. 290 A$=INKEY$:IF A$="" THEN 290
  25. 300 PUT(50,Y),T%,PSET:IF A$=CHR$(0)+"H" THEN Y=Y-20 ELSE IF A$=CHR$(0)+"P" THEN Y=Y+20
  26. 310 IF A$="1" OR A$="2" OR A$="3" OR A$="4" THEN 330
  27. 320 IF Y<50 THEN Y=110 ELSE IF Y=130 THEN Y=50 ELSE IF A$=CHR$(13) THEN A$=STR$((Y-30)/20):GOTO 340
  28. 330 GOTO 280
  29. 340 Z=VAL(A$):ON Z GOTO 790,780,350,800
  30. 350 SCREEN 1:CLS:COLOR 17:LINE(0,0)-(319,191),3,B:LINE(10,10)-(309,189),3,B:PAINT(1,1),CHR$(197)+CHR$(161),3:GOSUB 750:RANDOMIZE TIMER
  31. 360 DRAW"BM96,64C3R16L8D16R8L16BM120,80R16U8L16U8R16BM144,64R16L8D16R8L16BM176,64D8R16L8U8D16BM192,64R16D8NL8D8L16BM216,64D8R16L8U8D16BM176,64D8R16L8U8D16BM192,64R16D8NL8D8L16BM216,64D8R16L8U8D16BM96,82R130D3L130U3BM240,116R8D8L8U8"
  32. 370 DRAW"BM32,88C3R24D16M48,108M56,112D16L24U16M40,108M32,104U16BM64,88R24D16M80,108M88,112D16L24U16M72,108M64,104U16BM40,92R8D8L8U8BM40,116R8D8L8U8BM72,92R8D8L8U8BM72,116R8D8L8U8BM240,92R8D8L8U8":A$="PRESSE UNE TOUCHE POUR CONTINUER..."
  33. 380 DRAW"BM96,88NR12D8NR8D8R12BM112,88R12D17F2H5F2L12U16BM128,88D16R12U16BM144,88R12L6D16R6L12BM160,104U16R12D8L12BM188,88L12D8NR6D8R12BM200,88D8R16L8U8D16BM232,88R24D16M248,108M256,112D16L24U16M240,108M232,104U16BM264,88R24D40L8U24L16U16"
  34. 390 DRAW"BM124,112L12D16R12U8L4BM128,128U16R12D8L12M140,128BM144,114R4D4L4U4BM144,122R4D4L4U4BM152,112R12D16L12U16BM180,128U16L8D8R8BM134,132L6D4NR3D4R6BM138,140R6U4L6U4R6BM148,140R6U4L6U4R6BM158,140U8F4E4D8BM272,92R8D8L8U8"
  35. 400 LINE(32,144)-(288,176),3,B:LOCATE 21,10:PRINT"M. SYLVAIN MALTAIS"
  36. 410 FOR A=2 TO 38:LOCATE 24,2:PRINT RIGHT$(A$,38-A)LEFT$(A$,A);:Z$=INKEY$:IF Z$="" THEN NEXT:GOTO 410 ELSE GOSUB 420:GOSUB 470:GOSUB 740
  37. 420 SCREEN 0:WIDTH 40:COLOR 30,1,1:CLS:LOCATE 4,16:PRINT"INSTRUCTION":COLOR 15
  38. 430 PRINT STRING$(40,"_"):LOCATE 7,9:PRINT"VOUS DEVEZ TROUVER UN NOMBRE"
  39. 440 LOCATE 9,9:PRINT"DE 0 A 100 QUI SE TROUVE":LOCATE 11,9
  40. 450 PRINT"DANS LA MEMOIRE VIVE DE":LOCATE 13,9:PRINT"L'ORDINATEUR."
  41. 460 LOCATE 16,27:PRINT"BONNE CHANCE !":LOCATE 20,9:INPUT"QUEL EST TON NOM ? ",NOM$:IF NOM$="" THEN 460 ELSE SCREEN 1:RETURN
  42. 470 GOSUB 480:GOSUB 500:RETURN
  43. 480 CLS:GOSUB 750
  44. 490 DRAW"BM200,180C3D12R116U12NL116L16U112NG16L64F16R32D96U16G16L24E40BM316,180H16D8F8BM284,100H16R8F8BM244,84D4U12":CIRCLE(243,91),3,3:CIRCLE(244,106),14,3:CIRCLE(244,106),18,3:PAINT(229,100),2,3:RETURN
  45. 500 X=10:Y=60:C=0:A=INT(100*RND):RESTORE 860:B$=""
  46. 510 READ A$:IF A$="-1"THEN L=0:X=90:Y=120:GOTO 520 ELSE FOR L=1 TO LEN(A$):C$=MID$(A$,L,1):DRAW"BM"+STR$(X)+","+STR$(Y)+B$(ASC(C$)):X=X+9:NEXT:X=10:Y=Y+20:GOTO 510
  47. 520 L=L+1:A$=INKEY$:IF L=300 THEN LINE(X,Y)-(X+8,Y+8),3,BF:L=0 ELSE IF L=150 THEN LINE(X,Y)-(X+8,Y+8),0,BF
  48. 530 IF A$="" THEN 520 ELSE IF A$=CHR$(27) OR A$=CHR$(0)+"O" THEN SCREEN 0:WIDTH 80:END
  49. 540 IF A$="0" OR A$="1"OR A$="2"OR A$="3"OR A$="4"OR A$="5" OR A$="6" OR A$="7" OR A$="8" OR A$="9" OR A$=" "OR A$=CHR$(8) OR A$=CHR$(0)+"K"OR A$=CHR$(13) THEN 550 ELSE 520
  50. 550 LINE(X,Y)-(X+8,Y+8),0,BF:IF (A$=CHR$(8) OR A$=CHR$(0)+"K") AND X>90 THEN B$=MID$(B$,1,LEN(B$)-1):X=X-9:LINE(X,Y)-(X+8,Y+8),0,BF:GOTO 520 ELSE IF A$=CHR$(8) OR A$=CHR$(0)+"O" THEN 520
  51. 560 IF A$=CHR$(13) THEN B=VAL(B$):LINE(90,120)-(120,140),0,BF:B$="":X=90:Y=120:GOTO 590
  52. 570 B$=B$+A$:DRAW"BM"+STR$(X)+","+STR$(Y)+B$(ASC(A$)):X=X+9
  53. 580 IF LEN(B$)=3 THEN B=VAL(B$):LINE(90,120)-(120,140),0,BF:B$="":X=90:Y=120:GOTO 590 ELSE 520
  54. 590 IF A>B THEN LOCATE 20,1:PRINT"NOMBRE TROP PETIT" ELSE IF A=B THEN GOSUB 670 ELSE LOCATE 20,1:PRINT"NOMBRE TROP GRAND"
  55. 600 C=C+1:ON C GOSUB 620,630,640,650,660,670
  56. 610 GOTO 520
  57. 620 CIRCLE(244,105),12,3:CIRCLE(238,102),2,3:CIRCLE(250,102),2,3:CIRCLE(244,106),1,3:DRAW"C3BM238,109R12BM238,114D7BR10U7":PAINT(239,110),1,3:RETURN
  58. 630 DRAW"C3BM224,122C3M264,122M264,152M224,152M224,122BM245,128M256,128M256,136M250,138M245,136M245,128BM245,130M256,130":PAINT(240,136),3,3:RETURN
  59. 640 DRAW"C3BM224,122C3M208,122M208,144BM216,144M216,128M224,128BM204,144M218,144M218,148M204,148M204,144BM208,148M208,146BM211,148M211,146BM215,148M215,146":RETURN
  60. 650 DRAW"C3BM264,122R16D22BM264,128R6M272,144BD8R12D4M275,148BM271,148M271,146BM274,148L2":RETURN
  61. 660 DRAW"C3BM240,154D30L16M228,154R12":RETURN
  62. 670 IF A=B THEN 710
  63. 680 SCREEN 0:WIDTH 80:COLOR 15,1,1:CLS:LOCATE 12,5:PRINT"Tu as échoué":LOCATE 14,20:PRINT"Meilleure chance la prochaine fois !":LOCATE 16,50:PRINT"C'ETAIS"A:PRINT"VEUX TU REJOUE (O)ui/(N)on ?"
  64. 690 A$=INKEY$:IF A$="N" OR A$="n"THEN 740 ELSE IF A$="O"OR A$="o" THEN SCREEN 1:GOSUB 470:GOSUB 740 ELSE IF A$=CHR$(27) OR A$=CHR$(0)+"O" THEN COLOR 15,0,0:CLS:END ELSE 690
  65. 700 GOTO 730
  66. 710 CLS:PRINT"BRAVO TU AS REUSSI":PRINT"Veux tu rejouer (O)ui/(N)on"
  67. 720 A$=INKEY$:IF A$="N"OR A$="n" THEN 740 ELSE IF A$="O" OR A$="o" THEN GOSUB 470:GOSUB 740 ELSE 720
  68. 730 RETURN
  69. 740 CLS:GOTO 230
  70. 750 DRAW"BM48,16C3D32R8U16R16U16L24BM56,20R8D8L8U8BM80,16C3D32R24U32L24BM88,24D16R8U16L8BM112,16C3D8R8D24R8U24R8U8L24BM112,16C3D8R8D24R8U24R8U8L24BM80,16C3D32R24U32L24BM88,24D16R8U16L8BM112,16C3D8R8D24R8U24R8U8L24BM144,16C3D32R24U8L16U8R16U4L16U4R16U8L24
  71. 760 DRAW"BM176,16C3D32R8U10M192,48R8U32L8D16M184,16L8BM208,16C3D32R24U8L16U16R16U8L24BM240,16C3D32R24U8L16U8R16U4L16U4R16U8L24":PAINT(49,17),CHR$(176),3
  72. 770 PAINT(81,17),CHR$(177),3:PAINT(113,17),CHR$(176),3:PAINT(145,17),CHR$(177),3:PAINT(177,17),CHR$(176),3:PAINT(209,17),CHR$(177),3:PAINT(241,17),CHR$(177),3:RETURN
  73. 780 SHELL"DIGGER"
  74. 790 SHELL"AV":GOTO 230
  75. 800 SCREEN 0:WIDTH 80:CLS:END
  76. 810 DATA 20,8,55,10,115,20,165,20,200,20,245,20,275,20,-1,
  77. 820 DATA 105,120,107,155,140,160,140,120,190,160,190,120,-1,
  78. 830 DATA C3BD1D6U4NR5U2ER3F1D6,C3ND7R4FDGNL4FD2GNL4,C3BDD5FR3EUBU3UHL3G,C3D7R4E1U5HL4,C3NR5D3NR4D4R5,C3NR5D3NR4D4,C3BDD5FR3EU2NL2BU2UHL3G,C3D7U4R5NU3D4,C3R4L2D7L2R4,C3BD5DFR3EU6,C3D7U4R3E2NUG2F2D2,C3D7R5,C3ND7F2ND3E2D7
  79. 840 DATA C3ND7DF5NDU6,C3BDD5FR3EU5HL3G,C3ND7R4FD2GL4,C3BDD5FR3EU5HL3GD4BR3F2,C3ND7R4FDGNL4FD3,C3BDDFR3FD2GL3HBU5ER3F,C3R4L2D7,C3D6FR3EU6,C3D5F2E2U5,C3D7E2NU5F2U7,C3DF5DBL5UE5U,C3D2F2ND3E2U2,C3R5DG5DR5
  80. 850 DATA SM GAMES VI,F(1)-VOLLEY ARCADE,F(2)-DIGGER,F(3)-POTENCE,F(4)-POUR RETOURNER AU MS-DOS,-1
  81. 860 DATA DEVINE LE NOMBRE,ENTRE 1 ET 100,QUEL EST TON NOMBRE ?,-1


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Samedi, le 24 janvier 2015